Function at 0x14002f400
Capabilities:
Write file on windows

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push rdi
push r14
push r15
sub rsp, 0x20
mov rbx, rcx
mov rax, qword [rcx + 0xa8]
test rax, rax
je 0x14002f45f
cmp byte [rcx + 1], 0
je 0x14002f45f
mov byte [rax], 0
mov rdi, qword [rcx + 0xa8]
test rdi, rdi
je 0x14002f45f
mov rcx, rdi
call fcn.1400568a0
mov rax, qword [0x1401014f0]
test rax, rax
je 0x14002f456
dec dword [rax + 0x3b0]
mov rcx, rdi
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
xor r15d, r15d
mov qword [rbx + 0xa8], r15
cmp byte [rbx], r15b
je 0x14002fba4
cmp byte [rbx + 0x2fb8], r15b
je 0x14002f4e2
mov rdi, qword [rbx + 0x20]
test rdi, rdi
je 0x14002f4e2
mov rsi, qword [0x1401014f0]
mov qword [0x1401014f0], rbx
mov dword [rbx + 0x2fbc], r15d
mov qword [rsp + 0x40], r15
lea rcx, [rsp + 0x40]
call fcn.14003ec70
mov rbp, rax
lea rdx, [0x1400b4844]
mov rcx, rdi
call fcn.140029420
mov rdi, rax
test rax, rax
je 0x14002f4e9
mov r9, rax
mov r8, qword [rsp + 0x40]
lea edx, [r15 + 1]
mov rcx, rbp
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fwrite]
mov rcx, rdi
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
jmp 0x14002f4e9
mov rsi, qword [0x1401014f0]
mov qword [0x1401014f0], rbx
call fcn.140041140
mov qword [0x1401014f0], rsi
mov esi, r15d
cmp dword [rbx + 0x2f80], r15d
jle 0x14002f552
mov rbp, r15
nop dword [rax + rax]
mov rax, qword [rbx + 0x2f88]
mov rdi, qword [rax + rbp + 8]
test rdi, rdi
je 0x14002f544
mov rcx, rdi
call fcn.1400427e0
mov rax, qword [0x1401014f0]
test rax, rax
je 0x14002f53b
dec dword [rax + 0x3b0]
mov rcx, rdi
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
inc esi
add rbp, 0x10
cmp esi, dword [rbx + 0x2f80]
jl 0x14002f510
mov edi, r15d
cmp dword [rbx + 0x2ff0], r15d
jle 0x14002f592
mov rsi, r15
mov rdx, qword [rbx + 0x2ff8]
cmp dword [rsi + rdx], 6
jne 0x14002f584
mov r8, qword [rsi + rdx + 8]
movsxd rax, edi
lea rcx, [rax + rax*2]
lea rdx, [rdx + rcx*8]
mov rcx, rbx
call r8
inc edi
add rsi, 0x18
cmp edi, dword [rbx + 0x2ff0]
jl 0x14002f561
mov ebp, r15d
cmp dword [rbx + 0x1b38], r15d
jle 0x14002f6c6
mov r14, r15
nop word [rax + rax]
mov rax, qword [rbx + 0x1b40]
mov rdi, qword [r14 + rax]
test rdi, rdi
je 0x14002f6b4
mov rcx, qword [rdi]
test rcx, rcx
je 0x14002f5e4
mov rax, qword [0x1401014f0]
test rax, rax
je 0x14002f5de
dec dword [rax + 0x3b0]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov esi, r15d
cmp dword [rdi + 0x2f8], r15d
je 0x14002f610
movsxd rax, esi
imul rcx, rax, 0x88
add rcx, qword [rdi + 0x300]
call fcn.14002c170
inc esi
cmp esi, dword [rdi + 0x2f8]
jne 0x14002f5f0
lea rcx, [rdi + 0x320]
call fcn.140027870
nop
mov rcx, qword [rdi + 0x300]
test rcx, rcx
je 0x14002f642
mov rax, qword [0x1401014f0]
test rax, rax
je 0x14002f63b
dec dword [rax + 0x3b0]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
nop
mov rcx, qword [rdi + 0x2f0]
test rcx, rcx
je 0x14002f667
mov rax, qword [0x1401014f0]
test rax, rax
je 0x14002f660
dec dword [rax + 0x3b0]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
nop
lea rcx, [rdi + 0x118]
call fcn.14002c0a0
nop
mov rcx, qword [rdi + 0x110]
test rcx, rcx
je 0x14002f699
mov rax, qword [0x1401014f0]
test rax, rax
je 0x14002f692
dec dword [rax + 0x3b0]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
nop
mov rax, qword [0x1401014f0]
test rax, rax
je 0x14002f6ab
dec dword [rax + 0x3b0]
mov rcx, rdi
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
inc ebp
add r14, 8
cmp ebp, dword [rbx + 0x1b38]
jl 0x14002f5b0
mov rcx, qword [rbx + 0x1b40]
test rcx, rcx
je 0x14002f6f8
mov qword [rbx + 0x1b38], r15
mov rax, qword [0x1401014f0]
test rax, rax
je 0x14002f6eb
dec dword [rax + 0x3b0]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov qword [rbx + 0x1b40], r15
mov rcx, qword [rbx + 0x1b50]
test rcx, rcx
je 0x14002f72a
mov qword [rbx + 0x1b48], r15
mov rax, qword [0x1401014f0]
test rax, rax
je 0x14002f71d
dec dword [rax + 0x3b0]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov qword [rbx + 0x1b50], r15
mov rcx, qword [rbx + 0x1b60]
test rcx, rcx
je 0x14002f75c
mov qword [rbx + 0x1b58], r15
mov rax, qword [0x1401014f0]
test rax, rax
je 0x14002f74f
dec dword [rax + 0x3b0]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov qword [rbx + 0x1b60], r15
mov qword [rbx + 0x1b90], r15
mov rcx, qword [rbx + 0x1b70]
test rcx, rcx
je 0x14002f795
mov qword [rbx + 0x1b68], r15
mov rax, qword [0x1401014f0]
test rax, rax
je 0x14002f788
dec dword [rax + 0x3b0]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov qword [rbx + 0x1b70], r15
mov rcx, qword [rbx + 0x1b80]
test rcx, rcx
je 0x14002f7c7
mov qword [rbx + 0x1b78], r15
mov rax, qword [0x1401014f0]
test rax, rax
je 0x14002f7ba
dec dword [rax + 0x3b0]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov qword [rbx + 0x1b80], r15
mov qword [rbx + 0x1d70], r15
mov qword [rbx + 0x1ba8], r15
mov qword [rbx + 0x1ba0], r15
mov qword [rbx + 0x1b98], r15
mov qword [rbx + 0x1c30], r15
mov qword [rbx + 0x1c18], r15
mov qword [rbx + 0x1bb8], r15
mov rcx, qword [rbx + 0x1cf0]
test rcx, rcx
je 0x14002f82a
mov qword [rbx + 0x1ce8], r15
mov rax, qword [0x1401014f0]
test rax, rax
je 0x14002f81d
dec dword [rax + 0x3b0]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov qword [rbx + 0x1cf0], r15
mov rcx, qword [rbx + 0x1d00]
test rcx, rcx
je 0x14002f85c
mov qword [rbx + 0x1cf8], r15
mov rax, qword [0x1401014f0]
test rax, rax
je 0x14002f84f
dec dword [rax + 0x3b0]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov qword [rbx + 0x1d00], r15
mov rcx, qword [rbx + 0x1d10]
test rcx, rcx
je 0x14002f88e
mov qword [rbx + 0x1d08], r15
mov rax, qword [0x1401014f0]
test rax, rax
je 0x14002f881
dec dword [rax + 0x3b0]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov qword [rbx + 0x1d10], r15
mov rcx, qword [rbx + 0x1d20]
test rcx, rcx
je 0x14002f8c0
mov qword [rbx + 0x1d18], r15
mov rax, qword [0x1401014f0]
test rax, rax
je 0x14002f8b3
dec dword [rax + 0x3b0]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov qword [rbx + 0x1d20], r15
mov rcx, qword [rbx + 0x1d30]
test rcx, rcx
je 0x14002f8f2
mov qword [rbx + 0x1d28], r15
mov rax, qword [0x1401014f0]
test rax, rax
je 0x14002f8e5
dec dword [rax + 0x3b0]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov qword [rbx + 0x1d30], r15
mov qword [rbx + 0x1d60], r15
mov qword [rbx + 0x1d58], r15
mov qword [rbx + 0x1d50], r15
mov edi, r15d
cmp dword [rbx + 0x1d38], r15d
jle 0x14002f93e
mov rsi, r15
nop word [rax + rax]
mov rcx, qword [rbx + 0x1d40]
mov rcx, qword [rsi + rcx]
call fcn.14004acb0
inc edi
lea rsi, [rsi + 8]
cmp edi, dword [rbx + 0x1d38]
jl 0x14002f920
mov rcx, qword [rbx + 0x1d40]
test rcx, rcx
je 0x14002f970
mov qword [rbx + 0x1d38], r15
mov rax, qword [0x1401014f0]
test rax, rax
je 0x14002f963
dec dword [rax + 0x3b0]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov qword [rbx + 0x1d40], r15
lea rcx, [rbx + 0x1fa0]
call fcn.140049d60
mov rcx, qword [rbx + 0x1fd0]
test rcx, rcx
je 0x14002f9ae
mov qword [rbx + 0x1fc8], r15
mov rax, qword [0x1401014f0]
test rax, rax
je 0x14002f9a1
dec dword [rax + 0x3b0]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov qword [rbx + 0x1fd0], r15
mov rcx, qword [rbx + 0x1fe0]
test rcx, rcx
je 0x14002f9e0
mov qword [rbx + 0x1fd8], r15
mov rax, qword [0x1401014f0]
test rax, rax
je 0x14002f9d3
dec dword [rax + 0x3b0]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov qword [rbx + 0x1fe0], r15
mov rcx, qword [rbx + 0x2f48]
test rcx, rcx
je 0x14002fa12
mov qword [rbx + 0x2f40], r15
mov rax, qword [0x1401014f0]
test rax, rax
je 0x14002fa05
dec dword [rax + 0x3b0]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov qword [rbx + 0x2f48], r15
mov rcx, qword [rbx + 0x2f58]
test rcx, rcx
je 0x14002fa44
mov qword [rbx + 0x2f50], r15
mov rax, qword [0x1401014f0]
test rax, rax
je 0x14002fa37
dec dword [rax + 0x3b0]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov qword [rbx + 0x2f58], r15
mov rcx, qword [rbx + 0x2008]
test rcx, rcx
je 0x14002fa76
mov qword [rbx + 0x2000], r15
mov rax, qword [0x1401014f0]
test rax, rax
je 0x14002fa69
dec dword [rax + 0x3b0]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov qword [rbx + 0x2008], r15
mov rcx, qword [rbx + 0x2018]
test rcx, rcx
je 0x14002faa8
mov qword [rbx + 0x2010], r15
mov rax, qword [0x1401014f0]
test rax, rax
je 0x14002fa9b
dec dword [rax + 0x3b0]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov qword [rbx + 0x2018], r15
mov rcx, qword [rbx + 0x2028]
test rcx, rcx
je 0x14002fada
mov qword [rbx + 0x2020], r15
mov rax, qword [0x1401014f0]
test rax, rax
je 0x14002facd
dec dword [rax + 0x3b0]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov qword [rbx + 0x2028], r15
mov rcx, qword [rbx + 0x2fe8]
test rcx, rcx
je 0x14002fb0c
mov qword [rbx + 0x2fe0], r15
mov rax, qword [0x1401014f0]
test rax, rax
je 0x14002faff
dec dword [rax + 0x3b0]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov qword [rbx + 0x2fe8], r15
mov rcx, qword [rbx + 0x2fd8]
test rcx, rcx
je 0x14002fb3e
mov qword [rbx + 0x2fd0], r15
mov rax, qword [0x1401014f0]
test rax, rax
je 0x14002fb31
dec dword [rax + 0x3b0]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov qword [rbx + 0x2fd8], r15
cmp qword [rbx + 0x3008], 0
je 0x14002fb6f
mov rdi, qword [rbx + 0x3008]
mov ecx, 1
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
cmp rdi, rax
je 0x14002fb68
mov rcx, rdi
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
mov qword [rbx + 0x3008], r15
mov rcx, qword [rbx + 0x3018]
test rcx, rcx
je 0x14002fba1
mov qword [rbx + 0x3010], r15
mov rax, qword [0x1401014f0]
test rax, rax
je 0x14002fb94
dec dword [rax + 0x3b0]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov qword [rbx + 0x3018], r15
mov byte [rbx], 0
mov rbx, qword [rsp + 0x48]
mov rbp, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x58]
add rsp, 0x20
pop r15
pop r14
pop rdi
ret