Function at 0x140117f50
Capabilities:
Read file on windows
Write file on windows

Disassembly:
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbx
sub rsp, 0xf0
mov qword [rsp + 0x88], 0xfffffffffffffffe
lea rdx, [0x140222954]
mov rcx, qword [rsp + 0x110]
call fcn.1400a9d60
mov qword [rsp + 0x20], rax
cmp qword [rsp + 0x20], 0
jne 0x140118028
lea rdx, str.Open_file_failed:
lea rcx, [rsp + 0x48]
call fcn.14000e9e0
mov qword [rsp + 0x90], rax
mov rax, qword [rsp + 0x90]
mov qword [rsp + 0x98], rax
mov r8, qword [rsp + 0x110]
mov rdx, qword [rsp + 0x98]
lea rcx, [rsp + 0x50]
call fcn.1400010b0
mov qword [rsp + 0xa0], rax
mov rax, qword [rsp + 0xa0]
mov qword [rsp + 0xa8], rax
mov rcx, qword [rsp + 0xa8]
call fcn.140023510
xor r8d, r8d
xor edx, edx
mov rcx, rax
call fcn.1400ef1c0
nop
lea rcx, [rsp + 0x50]
call fcn.140001490
nop
lea rcx, [rsp + 0x48]
call fcn.140001490
jmp 0x1401182c6
mov r8d, 2
xor edx, edx
mov rcx, qword [rsp + 0x20]
call fcn.1400ade70
mov rcx, qword [rsp + 0x20]
call fcn.1400ae0e4
mov dword [rsp + 0x30], eax
xor r8d, r8d
xor edx, edx
mov rcx, qword [rsp + 0x20]
call fcn.1400ade70
mov eax, dword [rsp + 0x30]
cdq
sub eax, edx
sar eax, 1
movsxd rcx, eax
mov eax, 2
mul rcx
mov rcx, rax
mov rax, 0xffffffffffffffff
cmovo rcx, rax
call fcn.140071ab0
mov qword [rsp + 0x58], rax
mov rax, qword [rsp + 0x58]
mov qword [rsp + 0x28], rax
mov eax, dword [rsp + 0x30]
cdq
sub eax, edx
sar eax, 1
sub eax, 1
movsxd rdx, eax
xor ecx, ecx
mov rax, qword [rsp + 0x28]
mov word [rax + rdx*2], cx
mov r9, qword [rsp + 0x20]
mov r8d, 1
mov edx, 2
lea rcx, [rsp + 0x40]
call fcn.1400ac814
mov eax, dword [rsp + 0x30]
sub eax, 2
movsxd rdx, eax
mov r9, qword [rsp + 0x20]
mov r8d, 1
mov rcx, qword [rsp + 0x28]
call fcn.1400ac814
mov rcx, qword [rsp + 0x20]
call fcn.1400aa000
mov rdx, qword [rsp + 0x28]
lea rcx, [rsp + 0x38]
call fcn.1400020d0
nop
mov rax, qword [rsp + 0x28]
mov qword [rsp + 0x60], rax
mov rcx, qword [rsp + 0x60]
call fcn.140071aa8
mov rdx, qword [rsp + 0x108]
lea rcx, [rsp + 0x68]
call fcn.140002de0
mov qword [rsp + 0xb0], rax
mov rax, qword [rsp + 0xb0]
mov qword [rsp + 0xb8], rax
mov rdx, qword [rsp + 0x100]
lea rcx, [rsp + 0x70]
call fcn.140002de0
mov qword [rsp + 0xc0], rax
mov rax, qword [rsp + 0xc0]
mov qword [rsp + 0xc8], rax
mov rcx, qword [rsp + 0xb8]
call fcn.1400105c0
mov rbx, rax
mov rcx, qword [rsp + 0xc8]
call fcn.1400105c0
mov r8, rbx
mov rdx, rax
lea rcx, [rsp + 0x38]
call fcn.140006300
nop
lea rcx, [rsp + 0x70]
call fcn.140002e70
nop
lea rcx, [rsp + 0x68]
call fcn.140002e70
lea rdx, [0x140222974]
mov rcx, qword [rsp + 0x110]
call fcn.1400a9d60
mov qword [rsp + 0x20], rax
cmp qword [rsp + 0x20], 0
jne 0x140118268
mov rdx, qword [rsp + 0x110]
lea rcx, [rsp + 0x78]
call fcn.1400020d0
mov qword [rsp + 0xd0], rax
mov rax, qword [rsp + 0xd0]
mov qword [rsp + 0xd8], rax
mov r8, qword [rsp + 0xd8]
lea rdx, str.Write_reg_file_failed:
lea rcx, [rsp + 0x80]
call fcn.140006c90
mov qword [rsp + 0xe0], rax
mov rax, qword [rsp + 0xe0]
mov qword [rsp + 0xe8], rax
mov rcx, qword [rsp + 0xe8]
call fcn.140023510
xor r8d, r8d
xor edx, edx
mov rcx, rax
call fcn.1400ef1c0
nop
lea rcx, [rsp + 0x80]
call fcn.140001490
nop
lea rcx, [rsp + 0x78]
call fcn.140001490
nop
lea rcx, [rsp + 0x38]
call fcn.140001490
jmp 0x1401182c6
mov r9, qword [rsp + 0x20]
mov r8d, 1
mov edx, 2
lea rcx, [rsp + 0x40]
call fcn.1400ac454
lea rcx, [rsp + 0x38]
call fcn.140001a40
shl eax, 1
movsxd rbx, eax
lea rcx, [rsp + 0x38]
call fcn.140023510
mov r9, qword [rsp + 0x20]
mov r8d, 1
mov rdx, rbx
mov rcx, rax
call fcn.1400ac454
mov rcx, qword [rsp + 0x20]
call fcn.1400aa000
nop
lea rcx, [rsp + 0x38]
call fcn.140001490
add rsp, 0xf0
pop rbx
ret