Function at 0x14004ba50
Capabilities:
Write file on windows

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
push rsi
push rdi
push r12
push r14
push r15
sub rsp, 0x20
mov rax, qword [0x1400f6dc0]
mov rdi, rax
mov rcx, qword [rax + 0x38]
test rcx, rcx
je 0x14004ba93
cmp byte [rax + 1], 0
je 0x14004ba93
mov byte [rcx + 0x18], 0
mov rcx, qword [rax + 0x38]
call fcn.14006fe00
mov rax, qword [0x1400f6dc0]
xor r12d, r12d
mov qword [rdi + 0x38], r12
mov rcx, qword [rdi + 0x3d90]
test rcx, rcx
je 0x14004bacc
mov qword [rdi + 0x3d88], r12
test rax, rax
je 0x14004bab8
dec dword [rax + 0xf4]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov qword [rdi + 0x3d90], r12
mov rax, qword [0x1400f6dc0]
cmp byte [rdi], r12b
je 0x14004c2f1
cmp byte [rdi + 0x5e08], r12b
je 0x14004bb36
mov rbx, qword [rdi + 0x20]
test rbx, rbx
je 0x14004bb36
mov dword [rax + 0x5e0c], r12d
mov qword [rsp + 0x50], r12
lea rcx, [rsp + 0x50]
call fcn.140062590
mov rsi, rax
lea rdx, [0x1400b0cf8]
mov rcx, rbx
call fcn.140048760
mov rbx, rax
test rax, rax
je 0x14004bb36
mov r9, rax
mov r8, qword [rsp + 0x50]
mov edx, 1
mov rcx, rsi
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fwrite]
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
call fcn.140065080
mov esi, r12d
cmp dword [rdi + 0x5dc8], r12d
jle 0x14004bb92
mov rbp, r12
nop word [rax + rax]
mov rax, qword [rdi + 0x5dd0]
mov rbx, qword [rax + rbp + 8]
test rbx, rbx
je 0x14004bb84
mov rcx, rbx
call fcn.1400669d0
mov rax, qword [0x1400f6dc0]
test rax, rax
je 0x14004bb7b
dec dword [rax + 0xf4]
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
inc esi
add rbp, 0x10
cmp esi, dword [rdi + 0x5dc8]
jl 0x14004bb50
mov ebx, r12d
cmp dword [rdi + 0x5e50], r12d
jle 0x14004bbd1
mov rsi, r12
mov rcx, qword [rdi + 0x5e58]
cmp dword [rsi + rcx + 4], 6
jne 0x14004bbc3
mov rax, qword [rsi + rcx + 0x10]
movsxd rdx, ebx
shl rdx, 5
add rdx, rcx
mov rcx, rdi
call rax
inc ebx
add rsi, 0x20
cmp ebx, dword [rdi + 0x5e50]
jl 0x14004bba1
mov esi, r12d
cmp dword [rdi + 0x3fb8], r12d
jle 0x14004bc21
mov r14, r12
mov rax, qword [rdi + 0x3fc0]
mov rbx, qword [r14 + rax]
test rbx, rbx
je 0x14004bc13
mov rcx, rbx
call fcn.14004c8c0
mov rax, qword [0x1400f6dc0]
test rax, rax
je 0x14004bc0a
dec dword [rax + 0xf4]
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
inc esi
add r14, 8
cmp esi, dword [rdi + 0x3fb8]
jl 0x14004bbe0
mov rcx, qword [rdi + 0x3fc0]
test rcx, rcx
je 0x14004bc53
mov qword [rdi + 0x3fb8], r12
mov rax, qword [0x1400f6dc0]
test rax, rax
je 0x14004bc46
dec dword [rax + 0xf4]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov qword [rdi + 0x3fc0], r12
mov rcx, qword [rdi + 0x3fd0]
test rcx, rcx
je 0x14004bc85
mov qword [rdi + 0x3fc8], r12
mov rax, qword [0x1400f6dc0]
test rax, rax
je 0x14004bc78
dec dword [rax + 0xf4]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov qword [rdi + 0x3fd0], r12
mov rcx, qword [rdi + 0x3fe0]
test rcx, rcx
je 0x14004bcb7
mov qword [rdi + 0x3fd8], r12
mov rax, qword [0x1400f6dc0]
test rax, rax
je 0x14004bcaa
dec dword [rax + 0xf4]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov qword [rdi + 0x3fe0], r12
mov qword [rdi + 0x4018], r12
mov rcx, qword [rdi + 0x3ff0]
test rcx, rcx
je 0x14004bcf0
mov qword [rdi + 0x3fe8], r12
mov rax, qword [0x1400f6dc0]
test rax, rax
je 0x14004bce3
dec dword [rax + 0xf4]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov qword [rdi + 0x3ff0], r12
mov rcx, qword [rdi + 0x4000]
test rcx, rcx
je 0x14004bd22
mov qword [rdi + 0x3ff8], r12
mov rax, qword [0x1400f6dc0]
test rax, rax
je 0x14004bd15
dec dword [rax + 0xf4]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov qword [rdi + 0x4000], r12
mov qword [rdi + 0x4a88], r12
mov qword [rdi + 0x4028], r12
mov qword [rdi + 0x4020], r12
mov qword [rdi + 0x40b0], r12
mov qword [rdi + 0x4098], r12
mov qword [rdi + 0x4030], r12
lea rcx, [rdi + 0x4750]
call fcn.1400464f0
mov rcx, qword [rdi + 0x4990]
test rcx, rcx
je 0x14004bd8a
mov qword [rdi + 0x4988], r12
mov rax, qword [0x1400f6dc0]
test rax, rax
je 0x14004bd7d
dec dword [rax + 0xf4]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov qword [rdi + 0x4990], r12
mov rcx, qword [rdi + 0x49a0]
test rcx, rcx
je 0x14004bdbc
mov qword [rdi + 0x4998], r12
mov rax, qword [0x1400f6dc0]
test rax, rax
je 0x14004bdaf
dec dword [rax + 0xf4]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov qword [rdi + 0x49a0], r12
mov rcx, qword [rdi + 0x49b0]
test rcx, rcx
je 0x14004bdee
mov qword [rdi + 0x49a8], r12
mov rax, qword [0x1400f6dc0]
test rax, rax
je 0x14004bde1
dec dword [rax + 0xf4]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov qword [rdi + 0x49b0], r12
mov rcx, qword [rdi + 0x49f0]
test rcx, rcx
je 0x14004be20
mov qword [rdi + 0x49e8], r12
mov rax, qword [0x1400f6dc0]
test rax, rax
je 0x14004be13
dec dword [rax + 0xf4]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov qword [rdi + 0x49f0], r12
mov rcx, qword [rdi + 0x4a00]
test rcx, rcx
je 0x14004be52
mov qword [rdi + 0x49f8], r12
mov rax, qword [0x1400f6dc0]
test rax, rax
je 0x14004be45
dec dword [rax + 0xf4]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov qword [rdi + 0x4a00], r12
mov qword [rdi + 0x4a38], r12
mov qword [rdi + 0x4a30], r12
mov qword [rdi + 0x4a28], r12
mov ebx, r12d
cmp dword [rdi + 0x4a10], r12d
jle 0x14004be9e
mov rsi, r12
nop word [rax + rax]
mov rcx, qword [rdi + 0x4a18]
mov rcx, qword [rsi + rcx]
call fcn.14006ff50
inc ebx
lea rsi, [rsi + 8]
cmp ebx, dword [rdi + 0x4a10]
jl 0x14004be80
mov rcx, qword [rdi + 0x4a18]
test rcx, rcx
je 0x14004bed0
mov qword [rdi + 0x4a10], r12
mov rax, qword [0x1400f6dc0]
test rax, rax
je 0x14004bec3
dec dword [rax + 0xf4]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov qword [rdi + 0x4a18], r12
lea rcx, [rdi + 0x4d70]
call fcn.14006ed30
mov rcx, qword [rdi + 0x4da0]
test rcx, rcx
je 0x14004bf0e
mov qword [rdi + 0x4d98], r12
mov rax, qword [0x1400f6dc0]
test rax, rax
je 0x14004bf01
dec dword [rax + 0xf4]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov qword [rdi + 0x4da0], r12
mov rcx, qword [rdi + 0x4db0]
test rcx, rcx
je 0x14004bf40
mov qword [rdi + 0x4da8], r12
mov rax, qword [0x1400f6dc0]
test rax, rax
je 0x14004bf33
dec dword [rax + 0xf4]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov qword [rdi + 0x4db0], r12
mov ebx, r12d
cmp dword [rdi + 0x4cf0], r12d
jle 0x14004bf88
mov rsi, r12
nop
mov rax, qword [rdi + 0x4cf8]
mov rcx, qword [rsi + rax + 0x20]
test rcx, rcx
je 0x14004bf7a
mov rax, qword [0x1400f6dc0]
test rax, rax
je 0x14004bf73
dec dword [rax + 0xf4]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
nop
inc ebx
add rsi, 0x28
cmp ebx, dword [rdi + 0x4cf0]
jl 0x14004bf50
mov rcx, qword [rdi + 0x4cf8]
test rcx, rcx
je 0x14004bfba
mov qword [rdi + 0x4cf0], r12
mov rax, qword [0x1400f6dc0]
test rax, rax
je 0x14004bfad
dec dword [rax + 0xf4]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov qword [rdi + 0x4cf8], r12
lea rcx, [rdi + 0x4d20]
call fcn.14006eeb0
mov esi, r12d
cmp dword [rdi + 0x4d10], r12d
jle 0x14004c025
mov rbp, r12
nop word [rax + rax]
mov rbx, qword [rdi + 0x4d18]
lea rcx, [rbx + 0x10]
add rcx, rbp
call fcn.14007aa80
nop
mov rcx, qword [rbx + rbp + 0x20]
test rcx, rcx
je 0x14004c017
mov rax, qword [0x1400f6dc0]
test rax, rax
je 0x14004c010
dec dword [rax + 0xf4]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
nop
inc esi
add rbp, 0x70
cmp esi, dword [rdi + 0x4d10]
jl 0x14004bfe0
mov rcx, qword [rdi + 0x4d18]
test rcx, rcx
je 0x14004c057
mov qword [rdi + 0x4d10], r12
mov rax, qword [0x1400f6dc0]
test rax, rax
je 0x14004c04a
dec dword [rax + 0xf4]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov qword [rdi + 0x4d18], r12
mov rcx, qword [rdi + 0x4d60]
test rcx, rcx
je 0x14004c089
mov qword [rdi + 0x4d58], r12
mov rax, qword [0x1400f6dc0]
test rax, rax
je 0x14004c07c
dec dword [rax + 0xf4]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov qword [rdi + 0x4d60], r12
mov rcx, qword [rdi + 0x5d88]
test rcx, rcx
je 0x14004c0bb
mov qword [rdi + 0x5d80], r12
mov rax, qword [0x1400f6dc0]
test rax, rax
je 0x14004c0ae
dec dword [rax + 0xf4]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov qword [rdi + 0x5d88], r12
mov rcx, qword [rdi + 0x5d98]
test rcx, rcx
je 0x14004c0ed
mov qword [rdi + 0x5d90], r12
mov rax, qword [0x1400f6dc0]
test rax, rax
je 0x14004c0e0
dec dword [rax + 0xf4]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov qword [rdi + 0x5d98], r12
mov rcx, qword [rdi + 0x4e00]
test rcx, rcx
je 0x14004c11f
mov qword [rdi + 0x4df8], r12
mov rax, qword [0x1400f6dc0]
test rax, rax
je 0x14004c112
dec dword [rax + 0xf4]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov qword [rdi + 0x4e00], r12
mov rcx, qword [rdi + 0x4e10]
test rcx, rcx
je 0x14004c151
mov qword [rdi + 0x4e08], r12
mov rax, qword [0x1400f6dc0]
test rax, rax
je 0x14004c144
dec dword [rax + 0xf4]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov qword [rdi + 0x4e10], r12
mov rcx, qword [rdi + 0x4e20]
test rcx, rcx
je 0x14004c183
mov qword [rdi + 0x4e18], r12
mov rax, qword [0x1400f6dc0]
test rax, rax
je 0x14004c176
dec dword [rax + 0xf4]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov qword [rdi + 0x4e20], r12
mov dword [rdi + 0x5c70], r12d
mov rcx, qword [rdi + 0x5c80]
test rcx, rcx
je 0x14004c1bc
mov qword [rdi + 0x5c78], r12
mov rax, qword [0x1400f6dc0]
test rax, rax
je 0x14004c1af
dec dword [rax + 0xf4]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov qword [rdi + 0x5c80], r12
mov rcx, qword [rdi + 0x5e38]
test rcx, rcx
je 0x14004c1ee
mov qword [rdi + 0x5e30], r12
mov rax, qword [0x1400f6dc0]
test rax, rax
je 0x14004c1e1
dec dword [rax + 0xf4]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov qword [rdi + 0x5e38], r12
mov rcx, qword [rdi + 0x5e28]
test rcx, rcx
je 0x14004c220
mov qword [rdi + 0x5e20], r12
mov rax, qword [0x1400f6dc0]
test rax, rax
je 0x14004c213
dec dword [rax + 0xf4]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov qword [rdi + 0x5e28], r12
cmp qword [rdi + 0x5eb8], 0
je 0x14004c251
mov rbx, qword [rdi + 0x5eb8]
mov ecx, 1
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
cmp rbx, rax
je 0x14004c24a
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
mov qword [rdi + 0x5eb8], r12
mov rcx, qword [rdi + 0x5ec8]
test rcx, rcx
je 0x14004c283
mov qword [rdi + 0x5ec0], r12
mov rax, qword [0x1400f6dc0]
test rax, rax
je 0x14004c276
dec dword [rax + 0xf4]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov qword [rdi + 0x5ec8], r12
mov rcx, qword [rdi + 0x5f00]
test rcx, rcx
je 0x14004c2b5
mov qword [rdi + 0x5ef8], r12
mov rax, qword [0x1400f6dc0]
test rax, rax
je 0x14004c2a8
dec dword [rax + 0xf4]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov qword [rdi + 0x5f00], r12
mov rcx, qword [rdi + 0x5f10]
test rcx, rcx
je 0x14004c2e7
mov qword [rdi + 0x5f08], r12
mov rax, qword [0x1400f6dc0]
test rax, rax
je 0x14004c2da
dec dword [rax + 0xf4]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov qword [rdi + 0x5f10], r12
mov dword [rdi + 0x5f18], r12d
mov byte [rdi], 0
mov rbx, qword [rsp + 0x58]
mov rbp, qword [rsp + 0x60]
add rsp, 0x20
pop r15
pop r14
pop r12
pop rdi
pop rsi
ret