Function at 0x1400102d0
Capabilities:
Write file on windows

Disassembly:
push rbx
push rdi
push r12
sub rsp, 0x30
mov rax, qword [rcx + 0xa8]
mov rbx, rcx
test rax, rax
je 0x140010320
cmp byte [rcx + 1], 0
je 0x140010320
mov byte [rax], 0
mov rdi, qword [rcx + 0xa8]
test rdi, rdi
je 0x140010320
mov rcx, rdi
call fcn.14003d8c0
mov rax, qword [0x1401d9fe0]
test rax, rax
je 0x140010317
dec dword [rax + 0x3b0]
mov rcx, rdi
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
xor r12d, r12d
mov qword [rbx + 0xa8], r12
cmp byte [rbx], r12b
je 0x140010b00
mov qword [rsp + 0x60], rsi
mov qword [rsp + 0x20], r15
mov qword [rsp + 0x58], rbp
cmp byte [rbx + 0x31a8], r12b
je 0x1400103b3
mov rdi, qword [rbx + 0x20]
test rdi, rdi
je 0x1400103b3
mov rsi, qword [0x1401d9fe0]
lea rcx, [rsp + 0x50]
mov qword [0x1401d9fe0], rbx
mov dword [rbx + 0x31ac], r12d
mov qword [rsp + 0x50], r12
call fcn.140021f80
lea rdx, [0x140110e84]
mov rcx, rdi
mov rbp, rax
call fcn.14000a6b0
mov rdi, rax
test rax, rax
je 0x1400103ba
mov r8, qword [rsp + 0x50]
lea edx, [r12 + 1]
mov r9, rax
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 0x1400103ba
mov rsi, qword [0x1401d9fe0]
mov qword [rsp + 0x28], r14
mov qword [0x1401d9fe0], rbx
call fcn.140024fb0
mov eax, dword [rbx + 0x3170]
mov qword [0x1401d9fe0], rsi
mov esi, r12d
test eax, eax
jle 0x14001044f
mov rbp, r12
mov r14, r12
test rbp, rbp
js 0x1400103ee
cmp esi, eax
jl 0x140010408
mov r8d, 0x5cb
lea rdx, [0x14010cac0]
lea rcx, str.i___0__i___Size
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
mov rax, qword [rbx + 0x3178]
mov rdi, qword [rax + r14 + 8]
test rdi, rdi
je 0x14001043c
mov rcx, rdi
call fcn.140026f10
mov rax, qword [0x1401d9fe0]
test rax, rax
je 0x140010433
dec dword [rax + 0x3b0]
mov rcx, rdi
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov eax, dword [rbx + 0x3170]
inc esi
inc rbp
add r14, 0x10
cmp esi, eax
jl 0x1400103e5
mov edx, 6
mov rcx, rbx
call fcn.14000d660
mov eax, dword [rbx + 0x1d28]
mov r15d, r12d
test eax, eax
jle 0x1400105f4
mov r14, r12
test r14, r14
js 0x14001047a
cmp r15d, eax
jl 0x140010494
mov r8d, 0x5cb
lea rdx, [0x14010cac0]
lea rcx, str.i___0__i___Size
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
mov rax, qword [rbx + 0x1d30]
mov rsi, qword [rax + r14*8]
test rsi, rsi
je 0x1400105df
lea rbp, [rsi + 0x320]
cmp qword [rsi + 0x318], rbp
je 0x1400104d2
mov r8d, 0xb52
lea rdx, [0x14010cd30]
lea rcx, str.DrawList__DrawListInst
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
mov rcx, qword [rsi]
test rcx, rcx
je 0x1400104f2
mov rax, qword [0x1401d9fe0]
test rax, rax
je 0x1400104ec
dec dword [rax + 0x3b0]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov eax, dword [rsi + 0x2f8]
mov edi, r12d
test eax, eax
je 0x140010544
nop
test edi, edi
js 0x140010508
cmp edi, eax
jl 0x140010522
mov r8d, 0x5cb
lea rdx, [0x14010cac0]
lea rcx, str.i___0__i___Size
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
movsxd rax, edi
imul rcx, rax, 0x88
add rcx, qword [rsi + 0x300]
call fcn.14000cd50
mov eax, dword [rsi + 0x2f8]
inc edi
cmp edi, eax
jne 0x140010500
mov rcx, rbp
call fcn.140008a20
mov rcx, qword [rsi + 0x300]
test rcx, rcx
je 0x140010570
mov rax, qword [0x1401d9fe0]
test rax, rax
je 0x14001056a
dec dword [rax + 0x3b0]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rcx, qword [rsi + 0x2f0]
test rcx, rcx
je 0x140010594
mov rax, qword [0x1401d9fe0]
test rax, rax
je 0x14001058e
dec dword [rax + 0x3b0]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
lea rcx, [rsi + 0x118]
call fcn.14000cc80
mov rcx, qword [rsi + 0x110]
test rcx, rcx
je 0x1400105c4
mov rax, qword [0x1401d9fe0]
test rax, rax
je 0x1400105be
dec dword [rax + 0x3b0]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rax, qword [0x1401d9fe0]
test rax, rax
je 0x1400105d6
dec dword [rax + 0x3b0]
mov rcx, rsi
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov eax, dword [rbx + 0x1d28]
inc r15d
inc r14
cmp r15d, eax
jl 0x140010470
mov rcx, qword [rbx + 0x1d30]
mov r15, qword [rsp + 0x20]
mov r14, qword [rsp + 0x28]
mov rbp, qword [rsp + 0x58]
test rcx, rcx
je 0x140010635
mov rax, qword [0x1401d9fe0]
mov qword [rbx + 0x1d28], r12
test rax, rax
je 0x140010628
dec dword [rax + 0x3b0]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov qword [rbx + 0x1d30], r12
mov rcx, qword [rbx + 0x1d40]
test rcx, rcx
je 0x140010667
mov rax, qword [0x1401d9fe0]
mov qword [rbx + 0x1d38], r12
test rax, rax
je 0x14001065a
dec dword [rax + 0x3b0]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov qword [rbx + 0x1d40], r12
mov rcx, qword [rbx + 0x1d50]
test rcx, rcx
je 0x140010699
mov rax, qword [0x1401d9fe0]
mov qword [rbx + 0x1d48], r12
test rax, rax
je 0x14001068c
dec dword [rax + 0x3b0]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov qword [rbx + 0x1d50], r12
mov qword [rbx + 0x1d80], r12
mov rcx, qword [rbx + 0x1d60]
test rcx, rcx
je 0x1400106d2
mov rax, qword [0x1401d9fe0]
mov qword [rbx + 0x1d58], r12
test rax, rax
je 0x1400106c5
dec dword [rax + 0x3b0]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov qword [rbx + 0x1d60], r12
mov rcx, qword [rbx + 0x1d70]
test rcx, rcx
je 0x140010704
mov rax, qword [0x1401d9fe0]
mov qword [rbx + 0x1d68], r12
test rax, rax
je 0x1400106f7
dec dword [rax + 0x3b0]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov qword [rbx + 0x1d70], r12
mov qword [rbx + 0x1f60], r12
mov qword [rbx + 0x1d98], r12
mov qword [rbx + 0x1d90], r12
mov qword [rbx + 0x1d88], r12
mov qword [rbx + 0x1e20], r12
mov qword [rbx + 0x1e08], r12
mov qword [rbx + 0x1da8], r12
mov rcx, qword [rbx + 0x1ee0]
test rcx, rcx
je 0x140010767
mov rax, qword [0x1401d9fe0]
mov qword [rbx + 0x1ed8], r12
test rax, rax
je 0x14001075a
dec dword [rax + 0x3b0]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov qword [rbx + 0x1ee0], r12
mov rcx, qword [rbx + 0x1ef0]
test rcx, rcx
je 0x140010799
mov rax, qword [0x1401d9fe0]
mov qword [rbx + 0x1ee8], r12
test rax, rax
je 0x14001078c
dec dword [rax + 0x3b0]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov qword [rbx + 0x1ef0], r12
mov rcx, qword [rbx + 0x1f00]
test rcx, rcx
je 0x1400107cb
mov rax, qword [0x1401d9fe0]
mov qword [rbx + 0x1ef8], r12
test rax, rax
je 0x1400107be
dec dword [rax + 0x3b0]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov qword [rbx + 0x1f00], r12
mov rcx, qword [rbx + 0x1f10]
test rcx, rcx
je 0x1400107fd
mov rax, qword [0x1401d9fe0]
mov qword [rbx + 0x1f08], r12
test rax, rax
je 0x1400107f0
dec dword [rax + 0x3b0]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov qword [rbx + 0x1f10], r12
mov rcx, qword [rbx + 0x1f20]
test rcx, rcx
je 0x14001082f
mov rax, qword [0x1401d9fe0]
mov qword [rbx + 0x1f18], r12
test rax, rax
je 0x140010822
dec dword [rax + 0x3b0]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov qword [rbx + 0x1f20], r12
mov eax, dword [rbx + 0x1f28]
mov edi, r12d
mov qword [rbx + 0x1f50], r12
mov qword [rbx + 0x1f48], r12
mov qword [rbx + 0x1f40], r12
test eax, eax
jle 0x140010896
mov rsi, r12
test rsi, rsi
js 0x14001085d
cmp edi, eax
jl 0x140010877
mov r8d, 0x5cb
lea rdx, [0x14010cac0]
lea rcx, str.i___0__i___Size
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
mov rcx, qword [rbx + 0x1f30]
mov rcx, qword [rcx + rsi*8]
call fcn.140030c80
mov eax, dword [rbx + 0x1f28]
inc edi
inc rsi
cmp edi, eax
jl 0x140010854
mov rcx, qword [rbx + 0x1f30]
mov rsi, qword [rsp + 0x60]
test rcx, rcx
je 0x1400108cd
mov rax, qword [0x1401d9fe0]
mov qword [rbx + 0x1f28], r12
test rax, rax
je 0x1400108c0
dec dword [rax + 0x3b0]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov qword [rbx + 0x1f30], r12
lea rcx, [rbx + 0x2190]
call fcn.14002fe00
mov rcx, qword [rbx + 0x21c0]
test rcx, rcx
je 0x14001090b
mov rax, qword [0x1401d9fe0]
mov qword [rbx + 0x21b8], r12
test rax, rax
je 0x1400108fe
dec dword [rax + 0x3b0]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov qword [rbx + 0x21c0], r12
mov rcx, qword [rbx + 0x21d0]
test rcx, rcx
je 0x14001093d
mov rax, qword [0x1401d9fe0]
mov qword [rbx + 0x21c8], r12
test rax, rax
je 0x140010930
dec dword [rax + 0x3b0]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov qword [rbx + 0x21d0], r12
mov rcx, qword [rbx + 0x3138]
test rcx, rcx
je 0x14001096f
mov rax, qword [0x1401d9fe0]
mov qword [rbx + 0x3130], r12
test rax, rax
je 0x140010962
dec dword [rax + 0x3b0]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov qword [rbx + 0x3138], r12
mov rcx, qword [rbx + 0x3148]
test rcx, rcx
je 0x1400109a1
mov rax, qword [0x1401d9fe0]
mov qword [rbx + 0x3140], r12
test rax, rax
je 0x140010994
dec dword [rax + 0x3b0]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov qword [rbx + 0x3148], r12
mov rcx, qword [rbx + 0x21f8]
test rcx, rcx
je 0x1400109d3
mov rax, qword [0x1401d9fe0]
mov qword [rbx + 0x21f0], r12
test rax, rax
je 0x1400109c6
dec dword [rax + 0x3b0]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov qword [rbx + 0x21f8], r12
mov rcx, qword [rbx + 0x2208]
test rcx, rcx
je 0x140010a05
mov rax, qword [0x1401d9fe0]
mov qword [rbx + 0x2200], r12
test rax, rax
je 0x1400109f8
dec dword [rax + 0x3b0]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov qword [rbx + 0x2208], r12
mov rcx, qword [rbx + 0x2218]
test rcx, rcx
je 0x140010a37
mov rax, qword [0x1401d9fe0]
mov qword [rbx + 0x2210], r12
test rax, rax
je 0x140010a2a
dec dword [rax + 0x3b0]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov qword [rbx + 0x2218], r12
mov rcx, qword [rbx + 0x31d8]
test rcx, rcx
je 0x140010a69
mov rax, qword [0x1401d9fe0]
mov qword [rbx + 0x31d0], r12
test rax, rax
je 0x140010a5c
dec dword [rax + 0x3b0]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov qword [rbx + 0x31d8], r12
mov rcx, qword [rbx + 0x31c8]
test rcx, rcx
je 0x140010a9b
mov rax, qword [0x1401d9fe0]
mov qword [rbx + 0x31c0], r12
test rax, rax
je 0x140010a8e
dec dword [rax + 0x3b0]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov qword [rbx + 0x31c8], r12
cmp qword [rbx + 0x31f8], r12
je 0x140010acb
mov rdi, qword [rbx + 0x31f8]
mov ecx, 1
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
cmp rdi, rax
je 0x140010ac4
mov rcx, rdi
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
mov qword [rbx + 0x31f8], r12
mov rcx, qword [rbx + 0x3208]
test rcx, rcx
je 0x140010afd
mov rax, qword [0x1401d9fe0]
mov qword [rbx + 0x3200], r12
test rax, rax
je 0x140010af0
dec dword [rax + 0x3b0]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov qword [rbx + 0x3208], r12
mov byte [rbx], r12b
add rsp, 0x30
pop r12
pop rdi
pop rbx
ret