From your current GPT output, you have
1112038296 157219944
1269258240 195889152 4 GPT part - EBD0A0A2-B9E5-4433-87C0-68B6B72699C7'
From your Testdisk output you have
MS Data 1112039424 1464965112 352925689
The difference is 1128 bytes. Please use the following steps and test.
1. Delete the old entry and create a new entry at GPT#4.
sudo gdisk /dev/disk0
p
d
4
n
4
1112039424
1464965112
0700
p
w
y
Here is an example of the delete/new...
Command (? for help): d
Partition number (1-4): 4
Command (? for help): n
Partition number (4-128, default 4): 4
First sector (34-1954210086, default = 1454210080) or {+-}size{KMGTP}: 1454211072
Last sector (1454211072-1954210086, default = 1954210086) or {+-}size{KMGTP}: 1954209791
Current type is 'Apple HFS/HFS+'
Hex code or GUID (L to show codes, Enter = AF00): 0700
Changed type of partition to 'Microsoft basic data'
Command (? for help): p
Disk /dev/disk0: 1954210120 sectors, 931.8 GiB
Logical sector size: 512 bytes
Disk identifier (GUID): 6ED0C429-00D1-4759-B50E-04B6FB80D0E3
Partition table holds up to 128 entries
First usable sector is 34, last usable sector is 1954210086
Partitions will be aligned on 8-sector boundaries
Total free space is 1293 sectors (646.5 KiB)
Number Start (sector) End (sector) Size Code Name
1 40 409639 200.0 MiB EF00 EFI System Partition
2 409640 1452940543 692.6 GiB AF00 Customer
3 1452940544 1454210079 619.9 MiB AB00 Recovery HD
4 1454211072 1954209791 238.4 GiB 0700 Microsoft basic data
2. This is a tedious process and you want to check after the second 'p'rint command that it looks reasonable, before the 'w'rite and 'y'es to confirm.
3. You will need to reboot after the change, because the disk you are booted from is the one being modified. Reboot will rebuild disk0s4 using the start/end you entered.
4. Run the dd command - sudo dd if=/dev/rdisk0s4 count=1 2>/dev/null | hexdump -C and check that the first line contains "R.NTFS".
5. Once you have a working GPT#4, a new hybrid MBR needs to be created which will overwrite what you see in your Fdisk output. This is also done using GPT Fdisk (Gdisk). Your numbers will look different than what are in the following example. In most cases, you will use the default except entry 4, which should have a 'y' for bootable flag.
sudo gdisk /dev/disk0
GPT fdisk (gdisk) version 0.8.10
Warning: Devices opened with shared lock will not have their
partition table automatically reloaded!
Partition table scan:
MBR: hybrid
BSD: not present
APM: not present
GPT: present
Found valid GPT with hybrid MBR; using GPT.
Command (? for help): p
Disk /dev/disk0: 490234752 sectors, 233.8 GiB
Logical sector size: 512 bytes
Disk identifier (GUID): 59BDFEEB-1EB4-4529-94FE-3CBC2C3CD513
Partition table holds up to 128 entries
First usable sector is 34, last usable sector is 490234718
Partitions will be aligned on 8-sector boundaries
Total free space is 2604 sectors (1.3 MiB)
Number Start (sector) End (sector) Size Code Name
1 40 409639 200.0 MiB EF00 EF
2 409640 401060383 191.0 GiB AF05 Macintosh HD
3 401060384 402329919 619.9 MiB AB00 Re
4 402331648 490233848 41.9 GiB 0700 Microsoft basic data
Command (? for help): r
Recovery/transformation command (? for help): h
WARNING! Hybrid MBRs are flaky and dangerous! If you decide not to use one,
just hit the Enter key at the below prompt and your MBR partition table will
be untouched.
Type from one to three GPT partition numbers, separated by spaces, to be
added to the hybrid MBR, in sequence: 2 3 4
Place EFI GPT (0xEE) partition first in MBR (good for GRUB)? (Y/N): y
Creating entry for GPT partition #2 (MBR partition #2)
Enter an MBR hex code (default AF): AF
Set the bootable flag? (Y/N): n
Creating entry for GPT partition #3 (MBR partition #3)
Enter an MBR hex code (default AB): AB
Set the bootable flag? (Y/N): n
Creating entry for GPT partition #4 (MBR partition #4)
Enter an MBR hex code (default 07): 07
Set the bootable flag? (Y/N): y
Recovery/transformation command (? for help): w
Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING
PARTITIONS!!
Do you want to proceed? (Y/N): y
OK; writing new GUID partition table (GPT) to /dev/disk0.
Warning: Devices opened with shared lock will not have their
partition table automatically reloaded!
Warning: The kernel may continue to use old or deleted partitions.
You should reboot or remove the drive.
The operation has completed successfully.
6. a. Test 1 - Can you see your Bootcamp volume in Finder.
b. Test 2 - Can you files in the Bootcamp volume?
c. Test 3 - Can you see Bootcamp in your System Preferences -> Startup Disk.
d. Test 4 - If Test 1-3 are successful, select Bootcamp and click on Restart. You may need Windows startup repair, if you see a hanging underline cursor at the top left corner of your screen. In most cases, it is not required.