Function at 0x140005880
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 rdi, qword [0x140139b08]
cmp qword [rdi + 0x98], 0
je 0x1400058b5
lea rcx, str.Forgot_to_shutdown_Platform_backend_
call fcn.140014190
cmp qword [rdi + 0xa0], 0
je 0x1400058cb
lea rcx, str.Forgot_to_shutdown_Renderer_backend_
call fcn.140014190
mov rax, qword [rdi + 0x38]
test rax, rax
je 0x140005928
cmp byte [rdi + 1], 0
je 0x140005928
mov byte [rax + 0x18], 0
mov rbx, qword [rdi + 0x38]
test rbx, rbx
je 0x140005928
mov rcx, rbx
call fcn.140028770
nop
mov rcx, qword [rbx + 0x80]
test rcx, rcx
je 0x140005902
call fcn.140006f60
nop
mov rcx, qword [rbx + 0x70]
test rcx, rcx
je 0x140005911
call fcn.140006f60
nop
mov rcx, qword [rbx + 0x60]
test rcx, rcx
je 0x140005920
call fcn.140006f60
nop
mov rcx, rbx
call fcn.140006f60
xor r15d, r15d
mov qword [rdi + 0x38], r15
mov rcx, qword [rdi + 0x3e08]
test rcx, rcx
je 0x14000594e
mov qword [rdi + 0x3e00], r15
call fcn.140006f60
mov qword [rdi + 0x3e08], r15
cmp byte [rdi], r15b
je 0x140005fdc
cmp byte [rdi + 0x52a8], r15b
je 0x1400059bf
mov rbx, qword [rdi + 0x20]
test rbx, rbx
je 0x1400059bf
mov rax, qword [0x140139b08]
mov dword [rax + 0x52ac], r15d
mov qword [rsp + 0x40], r15
lea rcx, [rsp + 0x40]
call fcn.14001b9b0
mov rsi, rax
lea rdx, [0x14004df14]
mov rcx, rbx
call fcn.140002100
mov rbx, rax
test rax, rax
je 0x1400059bf
mov r9, rax
mov r8, qword [rsp + 0x40]
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]
mov rbx, qword [rdi + 0x52f8]
movsxd rsi, dword [rdi + 0x52f0]
shl rsi, 5
add rsi, rbx
cmp rbx, rsi
je 0x1400059fb
nop dword [rax]
cmp dword [rbx + 4], 6
jne 0x1400059f2
mov rax, qword [rbx + 0x10]
mov rdx, rbx
mov rcx, rdi
call rax
add rbx, 0x20
cmp rbx, rsi
jne 0x1400059e0
mov ebx, r15d
cmp dword [rdi + 0x4040], r15d
jle 0x140005a3e
mov r14, r15
nop word [rax + rax]
mov rax, qword [rdi + 0x4048]
mov rsi, qword [r14 + rax]
test rsi, rsi
je 0x140005a30
mov rcx, rsi
call fcn.1400064c0
mov rcx, rsi
call fcn.140006f60
inc ebx
add r14, 8
cmp ebx, dword [rdi + 0x4040]
jl 0x140005a10
mov rcx, qword [rdi + 0x4048]
test rcx, rcx
je 0x140005a5d
mov qword [rdi + 0x4040], r15
call fcn.140006f60
mov qword [rdi + 0x4048], r15
mov rcx, qword [rdi + 0x4058]
test rcx, rcx
je 0x140005a7c
mov qword [rdi + 0x4050], r15
call fcn.140006f60
mov qword [rdi + 0x4058], r15
mov rcx, qword [rdi + 0x4068]
test rcx, rcx
je 0x140005a9b
mov qword [rdi + 0x4060], r15
call fcn.140006f60
mov qword [rdi + 0x4068], r15
mov qword [rdi + 0x40a0], r15
mov rcx, qword [rdi + 0x4078]
test rcx, rcx
je 0x140005ac1
mov qword [rdi + 0x4070], r15
call fcn.140006f60
mov qword [rdi + 0x4078], r15
mov rcx, qword [rdi + 0x4088]
test rcx, rcx
je 0x140005ae0
mov qword [rdi + 0x4080], r15
call fcn.140006f60
mov qword [rdi + 0x4088], r15
mov qword [rdi + 0x4bd8], r15
mov qword [rdi + 0x40b0], r15
mov qword [rdi + 0x40a8], r15
mov qword [rdi + 0x4150], r15
mov qword [rdi + 0x4138], r15
mov qword [rdi + 0x40c0], r15
lea rcx, [rdi + 0x48c8]
call fcn.1400012b0
mov rcx, qword [rdi + 0x4b40]
test rcx, rcx
je 0x140005b35
mov qword [rdi + 0x4b38], r15
call fcn.140006f60
mov qword [rdi + 0x4b40], r15
mov rcx, qword [rdi + 0x4b50]
test rcx, rcx
je 0x140005b54
mov qword [rdi + 0x4b48], r15
call fcn.140006f60
mov qword [rdi + 0x4b50], r15
mov rcx, qword [rdi + 0x4b60]
test rcx, rcx
je 0x140005b73
mov qword [rdi + 0x4b58], r15
call fcn.140006f60
mov qword [rdi + 0x4b60], r15
mov rcx, qword [rdi + 0x4ba0]
test rcx, rcx
je 0x140005b92
mov qword [rdi + 0x4b98], r15
call fcn.140006f60
mov qword [rdi + 0x4ba0], r15
mov rcx, qword [rdi + 0x4bb0]
test rcx, rcx
je 0x140005bb1
mov qword [rdi + 0x4ba8], r15
call fcn.140006f60
mov qword [rdi + 0x4bb0], r15
mov rcx, qword [rdi + 0x4bc0]
test rcx, rcx
je 0x140005bd0
mov qword [rdi + 0x4bb8], r15
call fcn.140006f60
mov qword [rdi + 0x4bc0], r15
mov ebp, r15d
cmp dword [rdi + 0x4bc8], r15d
jle 0x140005c5a
mov r14, r15
nop
mov rax, qword [rdi + 0x4bd0]
mov rbx, qword [r14 + rax]
test rbx, rbx
je 0x140005c4c
mov rsi, qword [rbx + 0x40]
test rsi, rsi
je 0x140005c09
mov rcx, rsi
call fcn.140001130
mov rcx, rsi
call fcn.140006f60
mov rsi, qword [rbx + 0x48]
test rsi, rsi
je 0x140005c23
mov rcx, rsi
call fcn.140001130
mov rcx, rsi
call fcn.140006f60
nop
mov rcx, qword [rbx + 0xa8]
test rcx, rcx
je 0x140005c35
call fcn.140006f60
nop
mov rcx, qword [rbx + 0x68]
test rcx, rcx
je 0x140005c44
call fcn.140006f60
nop
mov rcx, rbx
call fcn.140006f60
inc ebp
add r14, 8
cmp ebp, dword [rdi + 0x4bc8]
jl 0x140005be0
mov rcx, qword [rdi + 0x4bd0]
test rcx, rcx
je 0x140005c79
mov qword [rdi + 0x4bc8], r15
call fcn.140006f60
mov qword [rdi + 0x4bd0], r15
lea rcx, [rdi + 0x4f30]
call fcn.14001cdc0
mov rcx, qword [rdi + 0x4f60]
test rcx, rcx
je 0x140005ca4
mov qword [rdi + 0x4f58], r15
call fcn.140006f60
mov qword [rdi + 0x4f60], r15
mov rcx, qword [rdi + 0x4f70]
test rcx, rcx
je 0x140005cc3
mov qword [rdi + 0x4f68], r15
call fcn.140006f60
mov qword [rdi + 0x4f70], r15
mov ebx, r15d
cmp dword [rdi + 0x4eb0], r15d
jle 0x140005d05
mov rsi, r15
nop dword [rax]
nop word [rax + rax]
mov rax, qword [rdi + 0x4eb8]
mov rcx, qword [rsi + rax + 0x20]
test rcx, rcx
je 0x140005cf7
call fcn.140006f60
nop
inc ebx
add rsi, 0x28
cmp ebx, dword [rdi + 0x4eb0]
jl 0x140005ce0
mov rcx, qword [rdi + 0x4eb8]
test rcx, rcx
je 0x140005d24
mov qword [rdi + 0x4eb0], r15
call fcn.140006f60
mov qword [rdi + 0x4eb8], r15
lea rcx, [rdi + 0x4ee0]
call fcn.14001cec0
mov ebp, r15d
cmp dword [rdi + 0x4ed0], r15d
jle 0x140005d85
mov rsi, r15
nop
mov r14, qword [rdi + 0x4ed8]
lea rbx, [rsi + r14]
lea rcx, [rbx + 0x28]
call fcn.140027f80
nop
mov rcx, qword [rbx + 0x38]
test rcx, rcx
je 0x140005d64
call fcn.140006f60
nop
mov rcx, qword [rsi + r14 + 0x18]
test rcx, rcx
je 0x140005d74
call fcn.140006f60
nop
inc ebp
add rsi, 0x88
cmp ebp, dword [rdi + 0x4ed0]
jl 0x140005d40
mov rcx, qword [rdi + 0x4ed8]
test rcx, rcx
je 0x140005da4
mov qword [rdi + 0x4ed0], r15
call fcn.140006f60
mov qword [rdi + 0x4ed8], r15
mov rcx, qword [rdi + 0x4f20]
test rcx, rcx
je 0x140005dc3
mov qword [rdi + 0x4f18], r15
call fcn.140006f60
mov qword [rdi + 0x4f20], r15
mov rcx, qword [rdi + 0x5018]
test rcx, rcx
je 0x140005de2
mov qword [rdi + 0x5010], r15
call fcn.140006f60
mov qword [rdi + 0x5018], r15
mov rcx, qword [rdi + 0x5008]
test rcx, rcx
je 0x140005e01
mov qword [rdi + 0x5000], r15
call fcn.140006f60
mov qword [rdi + 0x5008], r15
mov qword [rdi + 0x5020], r15
mov ebx, r15d
cmp dword [rdi + 0x4ff0], r15d
jle 0x140005e45
mov rsi, r15
nop word [rax + rax]
mov rax, qword [rdi + 0x4ff8]
mov rcx, qword [rsi + rax + 8]
test rcx, rcx
je 0x140005e37
call fcn.140006f60
nop
inc ebx
add rsi, 0x60
cmp ebx, dword [rdi + 0x4ff0]
jl 0x140005e20
mov rcx, qword [rdi + 0x4ff8]
test rcx, rcx
je 0x140005e64
mov qword [rdi + 0x4ff0], r15
call fcn.140006f60
mov qword [rdi + 0x4ff8], r15
mov rcx, qword [rdi + 0x5208]
test rcx, rcx
je 0x140005e83
mov qword [rdi + 0x5200], r15
call fcn.140006f60
mov qword [rdi + 0x5208], r15
mov rcx, qword [rdi + 0x5218]
test rcx, rcx
je 0x140005ea2
mov qword [rdi + 0x5210], r15
call fcn.140006f60
mov qword [rdi + 0x5218], r15
mov rcx, qword [rdi + 0x5070]
test rcx, rcx
je 0x140005ec1
mov qword [rdi + 0x5068], r15
call fcn.140006f60
mov qword [rdi + 0x5070], r15
mov rcx, qword [rdi + 0x5080]
test rcx, rcx
je 0x140005ee0
mov qword [rdi + 0x5078], r15
call fcn.140006f60
mov qword [rdi + 0x5080], r15
mov dword [rdi + 0x50c0], r15d
mov rcx, qword [rdi + 0x50d0]
test rcx, rcx
je 0x140005f06
mov qword [rdi + 0x50c8], r15
call fcn.140006f60
mov qword [rdi + 0x50d0], r15
mov rcx, qword [rdi + 0x52d8]
test rcx, rcx
je 0x140005f25
mov qword [rdi + 0x52d0], r15
call fcn.140006f60
mov qword [rdi + 0x52d8], r15
mov rcx, qword [rdi + 0x52c8]
test rcx, rcx
je 0x140005f44
mov qword [rdi + 0x52c0], r15
call fcn.140006f60
mov qword [rdi + 0x52c8], r15
cmp qword [rdi + 0x5360], 0
je 0x140005f75
mov rbx, qword [rdi + 0x5360]
mov ecx, 1
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
cmp rbx, rax
je 0x140005f6e
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
mov qword [rdi + 0x5360], r15
mov rcx, qword [rdi + 0x5370]
test rcx, rcx
je 0x140005f94
mov qword [rdi + 0x5368], r15
call fcn.140006f60
mov qword [rdi + 0x5370], r15
mov rcx, qword [rdi + 0x53f0]
test rcx, rcx
je 0x140005fb3
mov qword [rdi + 0x53e8], r15
call fcn.140006f60
mov qword [rdi + 0x53f0], r15
mov rcx, qword [rdi + 0x5400]
test rcx, rcx
je 0x140005fd2
mov qword [rdi + 0x53f8], r15
call fcn.140006f60
mov qword [rdi + 0x5400], r15
mov dword [rdi + 0x5408], r15d
mov byte [rdi], 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