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

Disassembly:
mov dword [rsp + 0x18], r8d
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x68
xor ebx, ebx
movsxd rdi, r8d
mov rcx, rdi
mov qword [rsp + 0x48], rbx
mov r15d, ebx
mov qword [rsp + 0xc8], rbx
mov ebp, ebx
mov qword [rsp + 0x50], rbx
lea edx, [rbx + 4]
mov qword [rsp + 0x40], rbx
mov r13d, ebx
mov qword [rsp + 0x28], rbx
mov r12d, ebx
mov esi, ebx
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_calloc]
mov r14, rax
test rax, rax
jne 0x14003ee1a
lea rax, [rbx - 0x15]
jmp 0x14003f1b1
mov rcx, qword [rsp + 0xb0]
mov rax, qword [rcx + 0x68]
mov dword [rcx + 0x14], 2
mov qword [rsp + 0x20], rax
mov rcx, qword [rax + 0x70]
test rcx, rcx
je 0x14003f1a1
xor r8d, r8d
xor edx, edx
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll__fseeki64]
test eax, eax
jne 0x14003f1a1
test rdi, rdi
jle 0x14003f08b
cmp rbx, rdi
jge 0x14003ef3e
mov rdx, qword [rsp + 0xb8]
mov rax, rbx
shl rax, 5
lea rcx, [rdx + 0x18]
add rcx, rax
nop word [rax + rax]
cmp dword [rcx - 0x10], 0
jne 0x14003eeaa
add r15, qword [rcx]
inc rbx
add rcx, 0x20
mov qword [rsp + 0x48], r15
mov qword [rsp + 0xc8], r15
mov rbp, r15
cmp rbx, rdi
jl 0x14003ee80
jmp 0x14003ef3e
mov rcx, rbx
shl rcx, 5
add rcx, 0x18
add rcx, rdx
cmp dword [rcx - 0x10], 1
jne 0x14003eeef
mov dword [r14 + rbx*4], 1
inc rsi
add rbp, qword [rcx]
inc rbx
add r13, qword [rcx]
add rcx, 0x20
mov qword [rsp + 0xc8], rbp
mov qword [rsp + 0x50], r13
mov qword [rsp + 0x28], rsi
cmp rbx, rdi
jl 0x14003eeb8
jmp 0x14003ef3e
mov rsi, rbx
shl rsi, 5
add rsi, 0x18
add rsi, rdx
nop dword [rax]
cmp dword [rsi - 0x10], 2
jne 0x14003ef3e
mov rdx, qword [rsp + 0x20]
add r12, qword [rsi]
mov qword [rsp + 0x40], r12
mov rax, qword [rdx + 0x20]
mov ecx, dword [rax + rbx*4]
add rcx, qword [rdx]
je 0x14003f1a1
mov edx, dword [rcx + 0x2a]
add rcx, 0x2a
sub edx, r13d
call fcn.140035b20
inc rbx
add rsi, 0x20
cmp rbx, rdi
jl 0x14003ef00
mov rax, qword [rsp + 0x20]
mov rbp, r12
mov r13, qword [rsp + 0xc8]
mov edx, 0x1000
mov ecx, 1
mov qword [rsp + 0x30], r15
mov r12, qword [rax + 0x70]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_calloc]
mov qword [rsp + 0x38], rax
test rax, rax
jne 0x14003ef7a
lea r15, [rax - 0x15]
jmp 0x14003f048
xor r15d, r15d
cmp qword [rsp + 0x40], r15
jle 0x14003f03d
nop dword [rax + rax]
mov eax, 0x1000
mov rsi, rbp
cmp rbp, rax
cmovae rsi, rax
cmp rsi, rax
ja 0x14003f036
xor r8d, r8d
mov rdx, r13
mov rcx, r12
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll__fseeki64]
test eax, eax
jne 0x14003f02d
mov rcx, qword [rsp + 0x38]
lea edx, [rax + 1]
mov r9, r12
mov r8, rsi
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fread]
cmp rax, rsi
jne 0x14003f024
mov rdx, qword [rsp + 0x30]
xor r8d, r8d
mov rcx, r12
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll__fseeki64]
test eax, eax
jne 0x14003f02d
mov rcx, qword [rsp + 0x38]
lea edx, [rax + 1]
mov r9, r12
mov r8, rsi
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fwrite]
cmp rax, rsi
jne 0x14003f01b
add qword [rsp + 0x30], rsi
add r13, rsi
sub rbp, rsi
add r15, rsi
test rbp, rbp
jg 0x14003ef90
jmp 0x14003f03d
mov r15, 0xffffffffffffffe3
jmp 0x14003f03d
mov r15, 0xffffffffffffffe4
jmp 0x14003f03d
mov r15, 0xffffffffffffffe5
jmp 0x14003f03d
mov r15, 0xffffffffffffffe6
mov rcx, qword [rsp + 0x38]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov r12, qword [rsp + 0x40]
cmp r15, r12
jne 0x14003f193
mov r15, qword [rsp + 0x48]
mov rbp, qword [rsp + 0xc8]
add r15, r12
mov r13, qword [rsp + 0x50]
add rbp, r12
mov rsi, qword [rsp + 0x28]
mov qword [rsp + 0x48], r15
mov qword [rsp + 0xc8], rbp
cmp rbx, rdi
jl 0x14003ee64
xor ebx, ebx
mov rcx, qword [rsp + 0xb0]
mov r15d, dword [rsp + 0xc0]
mov eax, r15d
mov rbp, qword [rsp + 0x20]
sub eax, esi
mov esi, ebx
sub qword [rcx], r13
mov dword [rcx + 0x10], eax
test r15d, r15d
jle 0x14003f175
cmp rbx, rdi
jge 0x14003f0d1
nop dword [rax + rax]
cmp dword [r14 + rbx*4], 0
jne 0x14003f0d1
inc esi
inc rbx
cmp rbx, rdi
jl 0x14003f0c0
mov edx, esi
cmp rbx, rdi
jge 0x14003f0e9
cmp dword [r14 + rbx*4], 0
je 0x14003f0e9
inc esi
inc rbx
cmp rbx, rdi
jl 0x14003f0d8
mov r9d, r15d
mov r8d, esi
mov rcx, rbp
call fcn.14003e8f0
cmp esi, r15d
jl 0x14003f0b6
xor ebx, ebx
mov r8d, ebx
mov ecx, ebx
cmp rcx, rdi
jge 0x14003f11a
cmp dword [r14 + rcx*4], 0
jne 0x14003f11a
inc r8d
inc rcx
cmp rcx, rdi
jl 0x14003f108
mov r11d, r8d
mov r10, rcx
cmp rcx, rdi
je 0x14003f175
jge 0x14003f139
cmp dword [r14 + rcx*4], 0
je 0x14003f139
inc r8d
inc rcx
cmp rcx, rdi
jl 0x14003f127
mov r9, rcx
cmp rcx, rdi
jge 0x14003f168
sub r10, rcx
nop dword [rax]
nop dword [rax + rax]
mov rax, qword [rbp + 0x20]
lea rdx, [rax + r9*4]
mov eax, dword [rax + r9*4]
inc r9
mov dword [rdx + r10*4], eax
cmp r9, rdi
jl 0x14003f150
mov edx, r8d
sub edx, r11d
add ebx, edx
cmp r8d, r15d
jl 0x14003f103
sub r15d, ebx
movsxd rcx, r15d
shl rcx, 2
mov qword [rbp + 0x28], rcx
mov rcx, r14
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rax, qword [rsp + 0x28]
jmp 0x14003f1b1
mov rcx, r14
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rax, r15
jmp 0x14003f1b1
mov rcx, r14
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rax, 0xfffffffffffffffd
add rsp, 0x68
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret