Function at 0x14003eda0
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 0x14003ee0a
lea rax, [rbx - 0x15]
jmp 0x14003f1a1
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 0x14003f191
xor r8d, r8d
xor edx, edx
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll__fseeki64]
test eax, eax
jne 0x14003f191
test rdi, rdi
jle 0x14003f07b
cmp rbx, rdi
jge 0x14003ef2e
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 0x14003ee9a
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 0x14003ee70
jmp 0x14003ef2e
mov rcx, rbx
shl rcx, 5
add rcx, 0x18
add rcx, rdx
cmp dword [rcx - 0x10], 1
jne 0x14003eedf
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 0x14003eea8
jmp 0x14003ef2e
mov rsi, rbx
shl rsi, 5
add rsi, 0x18
add rsi, rdx
nop dword [rax]
cmp dword [rsi - 0x10], 2
jne 0x14003ef2e
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 0x14003f191
mov edx, dword [rcx + 0x2a]
add rcx, 0x2a
sub edx, r13d
call fcn.140035b10
inc rbx
add rsi, 0x20
cmp rbx, rdi
jl 0x14003eef0
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 0x14003ef6a
lea r15, [rax - 0x15]
jmp 0x14003f038
xor r15d, r15d
cmp qword [rsp + 0x40], r15
jle 0x14003f02d
nop dword [rax + rax]
mov eax, 0x1000
mov rsi, rbp
cmp rbp, rax
cmovae rsi, rax
cmp rsi, rax
ja 0x14003f026
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 0x14003f01d
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 0x14003f014
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 0x14003f01d
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 0x14003f00b
add qword [rsp + 0x30], rsi
add r13, rsi
sub rbp, rsi
add r15, rsi
test rbp, rbp
jg 0x14003ef80
jmp 0x14003f02d
mov r15, 0xffffffffffffffe3
jmp 0x14003f02d
mov r15, 0xffffffffffffffe4
jmp 0x14003f02d
mov r15, 0xffffffffffffffe5
jmp 0x14003f02d
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 0x14003f183
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 0x14003ee54
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 0x14003f165
cmp rbx, rdi
jge 0x14003f0c1
nop dword [rax + rax]
cmp dword [r14 + rbx*4], 0
jne 0x14003f0c1
inc esi
inc rbx
cmp rbx, rdi
jl 0x14003f0b0
mov edx, esi
cmp rbx, rdi
jge 0x14003f0d9
cmp dword [r14 + rbx*4], 0
je 0x14003f0d9
inc esi
inc rbx
cmp rbx, rdi
jl 0x14003f0c8
mov r9d, r15d
mov r8d, esi
mov rcx, rbp
call fcn.14003e8e0
cmp esi, r15d
jl 0x14003f0a6
xor ebx, ebx
mov r8d, ebx
mov ecx, ebx
cmp rcx, rdi
jge 0x14003f10a
cmp dword [r14 + rcx*4], 0
jne 0x14003f10a
inc r8d
inc rcx
cmp rcx, rdi
jl 0x14003f0f8
mov r11d, r8d
mov r10, rcx
cmp rcx, rdi
je 0x14003f165
jge 0x14003f129
cmp dword [r14 + rcx*4], 0
je 0x14003f129
inc r8d
inc rcx
cmp rcx, rdi
jl 0x14003f117
mov r9, rcx
cmp rcx, rdi
jge 0x14003f158
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 0x14003f140
mov edx, r8d
sub edx, r11d
add ebx, edx
cmp r8d, r15d
jl 0x14003f0f3
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 0x14003f1a1
mov rcx, r14
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rax, r15
jmp 0x14003f1a1
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