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

Disassembly:
mov dword [rsp + 0x18], r8d
push rbp
push rsi
push rdi
push r13
sub rsp, 0x98
test r9d, r9d
mov rdi, rcx
mov esi, r8d
lea rax, [fcn.140066de0]
lea rcx, [fcn.140066170]
lea rbp, [fcn.140066da0]
cmovne rbp, rax
lea rax, [fcn.140066b70]
lea r13, [fcn.140066b20]
cmovne r13, rax
lea rax, [fcn.140066140]
mov edx, esi
cmovne rax, rcx
lea rcx, [0x140066110]
mov qword [rsp + 0x78], rbp
mov qword [rsp + 0x60], rax
lea rax, [0x1400660e0]
cmovne rax, rcx
mov rcx, qword [rdi]
xor r8d, r8d
mov qword [rsp + 0x68], rax
call fcn.1401c1f88
mov rcx, rdi
call rbp
mov word [rsp + 0xd8], ax
test ax, ax
jne 0x140045772
mov eax, 2
add rsp, 0x98
pop r13
pop rdi
pop rsi
pop rbp
ret
xor ecx, ecx
mov qword [rsp + 0xc8], rbx
mov qword [rsp + 0x90], r12
mov qword [rsp + 0x40], rcx
mov qword [rsp + 0x88], r14
movzx r14d, ax
mov qword [rsp + 0x48], rcx
movzx ecx, ax
mov edx, 0x20
mov qword [rsp + 0x80], r15
mov dword [rsp + 0x58], r14d
mov dword [rsp + 0x44], r14d
mov qword [rsp + 0x70], rcx
call fcn.1401be1f8
mov qword [rsp + 0x48], rax
xor eax, eax
mov ebx, eax
mov dword [rsp + 0x54], eax
mov dword [rsp + 0x50], eax
mov r15d, eax
mov dword [rsp + 0x38], eax
mov r12d, eax
mov dword [rsp + 0xc0], eax
cmp ax, word [rsp + 0xd8]
jae 0x140045919
mov ecx, dword [rsp + 0xd8]
mov edx, dword [rsp + 0xd8]
mov rsi, qword [rsp + 0x70]
mov dword [rsp + 0x30], ecx
mov dword [rsp + 0x34], edx
nop dword [rax]
mov rcx, rdi
call rbp
mov rcx, rdi
movzx r12d, ax
call rbp
mov rcx, rdi
movzx ebx, ax
mov word [rsp + 0xd8], ax
call r13
mov ebp, eax
cmp bx, 0xe
jae 0x1400458dc
test eax, eax
jle 0x1400458dc
movzx ecx, bx
lea rax, str.11124811248488
movsx ebx, byte [rcx + rax]
mov rcx, rdi
sub ebx, 0x30
imul ebx, ebp
call r13
movzx r8d, word [rsp + 0xd8]
lea rcx, [rsp + 0x40]
mov r9d, ebp
movzx edx, r12w
mov dword [rsp + 0x28], ebx
mov r15d, eax
mov dword [rsp + 0x20], eax
call fcn.1400449c0
mov eax, 0x83bb
cmp r12w, ax
jne 0x1400458af
mov rcx, qword [rdi]
call fcn.1401c2310
mov r12d, r15d
mov dword [rsp + 0xc0], r15d
lea r14d, [rax - 0xc]
mov dword [rsp + 0x30], ebx
mov dword [rsp + 0x54], r14d
jmp 0x1400458f4
mov eax, 0x2bc
cmp r12w, ax
jne 0x1400458ec
mov rcx, qword [rdi]
call fcn.1401c2310
mov r12d, dword [rsp + 0xc0]
mov dword [rsp + 0x38], r15d
sub eax, 0xc
mov dword [rsp + 0x34], ebx
mov dword [rsp + 0x50], eax
jmp 0x1400458f9
mov rcx, rdi
call r13
mov r12d, dword [rsp + 0xc0]
jmp 0x1400458f9
mov r12d, dword [rsp + 0xc0]
mov r15d, dword [rsp + 0x38]
mov rbp, qword [rsp + 0x78]
dec rsi
jne 0x140045810
mov esi, dword [rsp + 0xd0]
mov r14d, dword [rsp + 0x58]
mov ebx, dword [rsp + 0x54]
jmp 0x14004592f
mov eax, dword [rsp + 0xd8]
mov dword [rsp + 0x30], eax
mov eax, dword [rsp + 0xd8]
mov dword [rsp + 0x34], eax
mov rcx, rdi
call r13
mov rcx, qword [rdi]
xor edx, edx
lea r8d, [rdx + 2]
mov dword [rsp + 0xc0], eax
call fcn.1401c1f88
mov rcx, qword [rdi]
call fcn.1401c2310
cmp qword [rsp + 0xe0], 0
mov ebp, eax
mov eax, 4
je 0x140045bb2
cmp qword [rsp + 0xf0], 0
je 0x140045a6c
mov eax, dword [rsp + 0x34]
mov r13d, dword [rsp + 0x30]
add eax, r15d
add r13d, r12d
mov dword [rsp + 0xd8], eax
test r12d, r12d
je 0x1400459d0
test r15d, r15d
jne 0x1400459a4
mov rcx, qword [rdi]
call fcn.1401c2310
cmp r13d, eax
jmp 0x1400459b8
cmp r13d, r15d
jne 0x1400459fc
mov rcx, qword [rdi]
call fcn.1401c2310
cmp dword [rsp + 0xd8], eax
jne 0x1400459fc
lea eax, [r14 + r14*2]
lea ecx, [rax*4 + 6]
add ecx, esi
cmp ecx, r12d
jne 0x1400459fc
mov ebp, esi
jmp 0x140045a16
test r15d, r15d
je 0x1400459fc
mov rcx, qword [rdi]
call fcn.1401c2310
cmp dword [rsp + 0xd8], eax
jne 0x1400459fc
lea eax, [r14 + r14*2]
lea ecx, [rax*4 + 6]
add ecx, esi
cmp ecx, r15d
jne 0x1400459fc
mov ebp, esi
jmp 0x140045a16
mov rcx, qword [rdi]
call fcn.1401c2310
lea ecx, [r14 + r14*2]
lea edx, [rcx*4 + 6]
add edx, esi
cmp edx, eax
cmove ebp, esi
xor esi, esi
test ebx, ebx
lea ebx, [rsi + 4]
jne 0x140045a41
mov r9d, dword [rsp + 0xe8]
lea rcx, [rsp + 0x40]
mov r8d, ebx
mov edx, 0x83bb
mov dword [rsp + 0x28], esi
mov dword [rsp + 0x20], esi
call fcn.1400449c0
cmp dword [rsp + 0x50], 0
jne 0x140045aad
mov r9d, dword [rsp + 0xf8]
lea rcx, [rsp + 0x40]
mov r8d, ebx
mov edx, 0x2bc
mov dword [rsp + 0x28], esi
mov dword [rsp + 0x20], esi
call fcn.1400449c0
jmp 0x140045aad
test r12d, r12d
je 0x140045b83
mov rcx, qword [rdi]
call fcn.1401c2310
mov ecx, dword [rsp + 0x30]
add ecx, r12d
cmp ecx, eax
jne 0x140045bf4
cmp esi, r12d
jge 0x140045bf4
lea eax, [r14 + r14*2]
lea ecx, [rax*4 + 6]
add ecx, esi
cmp ecx, r12d
jne 0x140045bf4
mov ebp, esi
xor r14d, r14d
mov r13d, dword [rsp + 0xe8]
mov rbx, qword [rsp + 0x100]
lea rdx, [0x1401f6fd8]
mov rcx, rbx
call fcn.1401be7e4
mov rsi, rax
test rax, rax
je 0x140045ebd
mov ecx, 0x40000
call fcn.1401bee78
mov rcx, qword [rdi]
xor r8d, r8d
xor edx, edx
mov r15d, r14d
mov r12, rax
call fcn.1401c1f88
test ebp, ebp
jle 0x140045b4f
mov r13d, 0x40000
mov r9, qword [rdi]
mov ecx, ebp
cmp ebp, r13d
cmovg ecx, r13d
mov edx, 1
sub ebp, ecx
movsxd r8, ecx
mov rcx, r12
call fcn.1401c1e14
mov r9, rsi
mov edx, 1
movsxd rbx, eax
mov rcx, r12
mov r8, rbx
call fcn.1401c24f8
cmp rax, rbx
jne 0x140045b3f
test ebp, ebp
jg 0x140045b02
mov r13d, dword [rsp + 0xe8]
mov rbx, qword [rsp + 0x100]
mov rcx, r12
call fcn.1401be23c
mov rcx, rsi
test ebp, ebp
je 0x140045c4f
call fcn.1401be6a4
mov rcx, qword [rsp + 0x48]
call fcn.1401be23c
mov rcx, rbx
call fcn.1401c2588
mov eax, 4
jmp 0x140045ec9
mov r13d, dword [rsp + 0xe8]
xor r14d, r14d
lea rcx, [rsp + 0x40]
mov r8d, eax
mov edx, 0x83bb
mov r9d, r13d
mov dword [rsp + 0x28], r14d
mov dword [rsp + 0x20], r14d
call fcn.1400449c0
jmp 0x140045ab8
cmp qword [rsp + 0xf0], 0
je 0x140045aad
test r15d, r15d
je 0x140045c23
mov rcx, qword [rdi]
call fcn.1401c2310
mov ecx, dword [rsp + 0x34]
add ecx, r15d
cmp ecx, eax
jne 0x140045bf4
cmp esi, r12d
jge 0x140045bf4
lea eax, [r14 + r14*2]
lea ecx, [rax*4 + 6]
add ecx, esi
cmp ecx, r15d
je 0x140045aab
mov rcx, qword [rdi]
call fcn.1401c2310
mov r13d, dword [rsp + 0xe8]
lea ecx, [r14 + r14*2]
lea edx, [rcx*4 + 6]
xor r14d, r14d
add edx, esi
cmp edx, eax
jne 0x140045ab8
mov ebp, esi
jmp 0x140045ab8
mov r9d, dword [rsp + 0xf8]
xor r14d, r14d
lea rcx, [rsp + 0x40]
mov r8d, eax
mov edx, 0x2bc
mov dword [rsp + 0x28], r14d
mov dword [rsp + 0x20], r14d
call fcn.1400449c0
jmp 0x140045ab0
call fcn.1401c2310
movzx ecx, word [rsp + 0x40]
mov rdx, rsi
mov ebx, eax
mov dword [rsp + 0xd8], eax
call qword [rsp + 0x60]
mov r12d, dword [rsp + 0x40]
mov rbp, qword [rsp + 0x48]
xor eax, eax
movzx edi, ax
test r12d, r12d
jle 0x140045dc7
nop dword [rax]
nop word [rax + rax]
cmp qword [rsp + 0xe0], 0
mov edx, 0x83bb
je 0x140045cb4
movzx eax, di
shl rax, 5
lea r8, [rax + rbp]
movzx eax, word [rax + rbp]
cmp ax, dx
je 0x140045ce4
cmp qword [rsp + 0xf0], 0
je 0x140045d7e
movzx eax, di
mov r9d, 0x2bc
shl rax, 5
lea r8, [rax + rbp]
movzx eax, word [rax + rbp]
cmp ax, r9w
jne 0x140045d7e
jmp 0x140045cea
mov r9d, 0x2bc
lea ecx, [r13 - 2]
cmp ax, dx
je 0x140045cfa
mov ecx, dword [rsp + 0xf8]
mov eax, ecx
mov dword [r8 + 4], ecx
and eax, 3
cmp word [r8], dx
mov edx, 4
jne 0x140045d1a
mov r15d, edx
sub r15d, eax
lea eax, [rcx + r15]
jmp 0x140045d24
mov r14d, edx
sub r14d, eax
lea eax, [rcx + r14]
mov dword [r8 + 4], eax
cmp word [r8 + 2], 4
jbe 0x140045d35
mov word [r8 + 2], dx
movzx eax, word [r8 + 2]
xor edx, edx
lea rcx, str.11124811248488
movsx ecx, byte [rax + rcx]
mov eax, dword [r8 + 4]
sub ecx, 0x30
div ecx
mov dword [r8 + 4], eax
lea eax, [r12 + r12*2]
lea ecx, [rax*4 + 6]
add ecx, ebx
mov dword [r8 + 8], ecx
cmp word [r8], r9w
jne 0x140045d7e
lea eax, [r13 - 2]
and eax, 3
sub ecx, eax
lea eax, [r13 + 2]
add eax, ecx
mov dword [r8 + 8], eax
movzx ebx, di
mov rdx, rsi
shl rbx, 5
add rbx, rbp
movzx ecx, word [rbx]
call qword [rsp + 0x60]
movzx ecx, word [rbx + 2]
mov rdx, rsi
call qword [rsp + 0x60]
mov ecx, dword [rbx + 4]
mov rdx, rsi
call qword [rsp + 0x68]
mov ecx, dword [rbx + 8]
mov rdx, rsi
call qword [rsp + 0x68]
mov ebx, dword [rsp + 0xd8]
inc di
movzx eax, di
cmp eax, r12d
jl 0x140045c90
mov ecx, dword [rsp + 0xc0]
mov rdi, qword [rsp + 0x68]
mov rdx, rsi
call rdi
mov rcx, qword [rsp + 0xe0]
test rcx, rcx
je 0x140045e28
lea eax, [r13 - 2]
add rcx, 2
mov r9, rsi
movsxd rbx, eax
mov edx, 1
mov r8, rbx
call fcn.1401c24f8
cmp rax, rbx
jne 0x140045e58
xor r12d, r12d
movzx ebx, r12w
test r15d, r15d
jle 0x140045e2b
mov rdx, rsi
xor ecx, ecx
call fcn.1401c1ae4
inc bx
movzx eax, bx
cmp eax, r15d
jl 0x140045e11
jmp 0x140045e2b
xor r12d, r12d
mov rax, qword [rsp + 0xf0]
test rax, rax
je 0x140045e9a
movsxd rbx, dword [rsp + 0xf8]
mov r9, rsi
mov edx, 1
mov r8, rbx
mov rcx, rax
call fcn.1401c24f8
cmp rax, rbx
je 0x140045e7c
mov rcx, rsi
call fcn.1401be6a4
mov rcx, rbp
call fcn.1401be23c
mov rcx, qword [rsp + 0x100]
call fcn.1401c2588
mov eax, 4
jmp 0x140045ec9
movzx ebx, r12w
test r14d, r14d
jle 0x140045e9a
mov rdx, rsi
xor ecx, ecx
call fcn.1401c1ae4
inc bx
movzx eax, bx
cmp eax, r14d
jl 0x140045e85
xor r8d, r8d
mov rcx, rsi
lea edx, [r8 + 4]
call fcn.1401c1f88
mov ecx, dword [rsp + 0xd8]
mov rdx, rsi
call rdi
mov rcx, rsi
call fcn.1401be6a4
mov rcx, qword [rsp + 0x48]
call fcn.1401be23c
xor eax, eax
mov r14, qword [rsp + 0x88]
mov r12, qword [rsp + 0x90]
mov rbx, qword [rsp + 0xc8]
mov r15, qword [rsp + 0x80]
add rsp, 0x98
pop r13
pop rdi
pop rsi
pop rbp
ret