Function at 0x1400591e8
Capabilities:
Write file on windows

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
lea rbp, [rsp - 0xf50]
mov eax, 0x1050
call fcn.140061c10
sub rsp, rax
mov rax, qword [0x140083bc0]
xor rax, rsp
mov qword [rbp + 0xf40], rax
cmp qword [rcx + 8], 0
mov rdi, rdx
mov rsi, rcx
jne 0x14005922d
mov ecx, 0x139f
jmp 0x14005a016
test rdi, rdi
je 0x140059223
mov r9d, dword [rdx]
lea rcx, [rbp + 0x740]
mov r8, qword [0x140082008]
mov ebx, 0x800
mov edx, ebx
call fcn.1400029a0
mov ecx, eax
test eax, eax
jne 0x14005a016
mov r9, qword [rdi + 8]
lea rcx, [rsp + 0x40]
mov r8, qword [0x140082038]
mov edx, ebx
call fcn.1400029a0
mov ecx, eax
test eax, eax
jne 0x14005a016
lea r8, [rsp + 0x40]
mov edx, ebx
lea rcx, [rbp + 0x740]
call fcn.140001c84
mov ecx, eax
test eax, eax
jne 0x14005a016
mov r9, qword [rdi + 0x10]
lea rcx, [rsp + 0x40]
mov r8, qword [str._I64d_]
mov edx, ebx
call fcn.1400029a0
mov ecx, eax
test eax, eax
jne 0x14005a016
lea r8, [rsp + 0x40]
mov edx, ebx
lea rcx, [rbp + 0x740]
call fcn.140001c84
mov ecx, eax
test eax, eax
jne 0x14005a016
mov r9, qword [rdi + 0x18]
lea rcx, [rsp + 0x40]
mov r8, qword [str._I64d_]
mov edx, ebx
call fcn.1400029a0
mov ecx, eax
test eax, eax
jne 0x14005a016
lea r8, [rsp + 0x40]
mov edx, ebx
lea rcx, [rbp + 0x740]
call fcn.140001c84
mov ecx, eax
test eax, eax
jne 0x14005a016
movss xmm3, dword [rdi + 0x20]
lea rcx, [rsp + 0x40]
mov r8, qword [0x1400820c8]
mov edx, ebx
cvtps2pd xmm3, xmm3
movq r9, xmm3
call fcn.1400029a0
mov ecx, eax
test eax, eax
jne 0x14005a016
lea r8, [rsp + 0x40]
mov edx, ebx
lea rcx, [rbp + 0x740]
call fcn.140001c84
mov ecx, eax
test eax, eax
jne 0x14005a016
mov r9d, dword [rdi + 0x24]
lea rcx, [rsp + 0x40]
mov r8, qword [0x1400820f8]
mov edx, ebx
call fcn.1400029a0
mov ecx, eax
test eax, eax
jne 0x14005a016
lea r8, [rsp + 0x40]
mov edx, ebx
lea rcx, [rbp + 0x740]
call fcn.140001c84
mov ecx, eax
test eax, eax
jne 0x14005a016
mov r9, qword [rdi + 0x28]
lea rcx, [rsp + 0x40]
mov r8, qword [0x140082128]
mov edx, ebx
call fcn.1400029a0
mov ecx, eax
test eax, eax
jne 0x14005a016
lea r8, [rsp + 0x40]
mov edx, ebx
lea rcx, [rbp + 0x740]
call fcn.140001c84
mov ecx, eax
test eax, eax
jne 0x14005a016
mov r9d, dword [rdi + 0x30]
lea rcx, [rsp + 0x40]
mov r8, qword [0x140082158]
mov edx, ebx
call fcn.1400029a0
mov ecx, eax
test eax, eax
jne 0x14005a016
lea r8, [rsp + 0x40]
mov edx, ebx
lea rcx, [rbp + 0x740]
call fcn.140001c84
mov ecx, eax
test eax, eax
jne 0x14005a016
mov r9, qword [rdi + 0x38]
lea rcx, [rsp + 0x40]
mov r8, qword [0x140082188]
mov edx, ebx
call fcn.1400029a0
mov ecx, eax
test eax, eax
jne 0x14005a016
lea r8, [rsp + 0x40]
mov edx, ebx
lea rcx, [rbp + 0x740]
call fcn.140001c84
mov ecx, eax
test eax, eax
jne 0x14005a016
mov r9d, dword [rdi + 0x40]
lea rcx, [rsp + 0x40]
mov r8, qword [0x1400821b8]
mov edx, ebx
call fcn.1400029a0
mov ecx, eax
test eax, eax
jne 0x14005a016
lea r8, [rsp + 0x40]
mov edx, ebx
lea rcx, [rbp + 0x740]
call fcn.140001c84
mov ecx, eax
test eax, eax
jne 0x14005a016
mov r9, qword [rdi + 0x48]
lea rcx, [rsp + 0x40]
mov r8, qword [str._I64d_]
mov edx, ebx
call fcn.1400029a0
mov ecx, eax
test eax, eax
jne 0x14005a016
lea r8, [rsp + 0x40]
mov edx, ebx
lea rcx, [rbp + 0x740]
call fcn.140001c84
mov ecx, eax
test eax, eax
jne 0x14005a016
mov r9d, dword [rdi + 0x50]
lea rcx, [rsp + 0x40]
mov r8, qword [0x140082218]
mov edx, ebx
call fcn.1400029a0
mov ecx, eax
test eax, eax
jne 0x14005a016
lea r8, [rsp + 0x40]
mov edx, ebx
lea rcx, [rbp + 0x740]
call fcn.140001c84
mov ecx, eax
test eax, eax
jne 0x14005a016
mov r9, qword [rdi + 0x58]
lea rcx, [rsp + 0x40]
mov r8, qword [str._I64d_]
mov edx, ebx
call fcn.1400029a0
mov ecx, eax
test eax, eax
jne 0x14005a016
lea r8, [rsp + 0x40]
mov edx, ebx
lea rcx, [rbp + 0x740]
call fcn.140001c84
mov ecx, eax
test eax, eax
jne 0x14005a016
mov r9, qword [rdi + 0x60]
lea rcx, [rsp + 0x40]
mov r8, qword [str._I64d_]
mov edx, ebx
call fcn.1400029a0
mov ecx, eax
test eax, eax
jne 0x14005a016
lea r8, [rsp + 0x40]
mov edx, ebx
lea rcx, [rbp + 0x740]
call fcn.140001c84
mov ecx, eax
test eax, eax
jne 0x14005a016
movss xmm3, dword [rdi + 0x68]
lea rcx, [rsp + 0x40]
mov r8, qword [0x1400822a8]
mov edx, ebx
cvtps2pd xmm3, xmm3
movq r9, xmm3
call fcn.1400029a0
mov ecx, eax
test eax, eax
jne 0x14005a016
lea r8, [rsp + 0x40]
mov edx, ebx
lea rcx, [rbp + 0x740]
call fcn.140001c84
mov ecx, eax
test eax, eax
jne 0x14005a016
movss xmm3, dword [rdi + 0x6c]
lea rcx, [rsp + 0x40]
mov r8, qword [0x1400822d8]
mov edx, ebx
cvtps2pd xmm3, xmm3
movq r9, xmm3
call fcn.1400029a0
mov ecx, eax
test eax, eax
jne 0x14005a016
lea r8, [rsp + 0x40]
mov edx, ebx
lea rcx, [rbp + 0x740]
call fcn.140001c84
mov ecx, eax
test eax, eax
jne 0x14005a016
mov r9d, dword [rdi + 0x70]
lea rcx, [rsp + 0x40]
mov r8, qword [0x140082308]
mov edx, ebx
call fcn.1400029a0
mov ecx, eax
test eax, eax
jne 0x14005a016
lea r8, [rsp + 0x40]
mov edx, ebx
lea rcx, [rbp + 0x740]
call fcn.140001c84
mov ecx, eax
test eax, eax
jne 0x14005a016
mov r9, qword [rdi + 0x78]
lea rcx, [rsp + 0x40]
mov r8, qword [str._I64d_]
mov edx, ebx
call fcn.1400029a0
mov ecx, eax
test eax, eax
jne 0x14005a016
lea r8, [rsp + 0x40]
mov edx, ebx
lea rcx, [rbp + 0x740]
call fcn.140001c84
mov ecx, eax
test eax, eax
jne 0x14005a016
mov r9, qword [rdi + 0x80]
lea rcx, [rsp + 0x40]
mov r8, qword [str._I64d_]
mov edx, ebx
call fcn.1400029a0
mov ecx, eax
test eax, eax
jne 0x14005a016
lea r8, [rsp + 0x40]
mov edx, ebx
lea rcx, [rbp + 0x740]
call fcn.140001c84
mov ecx, eax
test eax, eax
jne 0x14005a016
movss xmm3, dword [rdi + 0x88]
lea rcx, [rsp + 0x40]
mov r8, qword [0x140082398]
mov edx, ebx
cvtps2pd xmm3, xmm3
movq r9, xmm3
call fcn.1400029a0
mov ecx, eax
test eax, eax
jne 0x14005a016
lea r8, [rsp + 0x40]
mov edx, ebx
lea rcx, [rbp + 0x740]
call fcn.140001c84
mov ecx, eax
test eax, eax
jne 0x14005a016
movss xmm3, dword [rdi + 0x8c]
lea rcx, [rsp + 0x40]
mov r8, qword [0x1400823c8]
mov edx, ebx
cvtps2pd xmm3, xmm3
movq r9, xmm3
call fcn.1400029a0
mov ecx, eax
test eax, eax
jne 0x14005a016
lea r8, [rsp + 0x40]
mov edx, ebx
lea rcx, [rbp + 0x740]
call fcn.140001c84
mov ecx, eax
test eax, eax
jne 0x14005a016
mov r9, qword [rdi + 0x90]
lea rcx, [rsp + 0x40]
mov r8, qword [str._I64d_]
mov edx, ebx
call fcn.1400029a0
mov ecx, eax
test eax, eax
jne 0x14005a016
lea r8, [rsp + 0x40]
mov edx, ebx
lea rcx, [rbp + 0x740]
call fcn.140001c84
mov ecx, eax
test eax, eax
jne 0x14005a016
mov r9, qword [rdi + 0x98]
lea rcx, [rsp + 0x40]
mov r8, qword [str._I64d_]
mov edx, ebx
call fcn.1400029a0
mov ecx, eax
test eax, eax
jne 0x14005a016
lea r8, [rsp + 0x40]
mov edx, ebx
lea rcx, [rbp + 0x740]
call fcn.140001c84
mov ecx, eax
test eax, eax
jne 0x14005a016
mov r9, qword [rdi + 0xa0]
lea rcx, [rsp + 0x40]
mov r8, qword [str._I64d_]
mov edx, ebx
call fcn.1400029a0
mov ecx, eax
test eax, eax
jne 0x14005a016
lea r8, [rsp + 0x40]
mov edx, ebx
lea rcx, [rbp + 0x740]
call fcn.140001c84
mov ecx, eax
test eax, eax
jne 0x14005a016
mov r9, qword [rdi + 0xa8]
lea rcx, [rsp + 0x40]
mov r8, qword [str._I64d_]
mov edx, ebx
call fcn.1400029a0
mov ecx, eax
test eax, eax
jne 0x14005a016
lea r8, [rsp + 0x40]
mov edx, ebx
lea rcx, [rbp + 0x740]
call fcn.140001c84
mov ecx, eax
test eax, eax
jne 0x14005a016
mov r9, qword [rdi + 0xb0]
lea rcx, [rsp + 0x40]
mov r8, qword [str._I64d_]
mov edx, ebx
call fcn.1400029a0
mov ecx, eax
test eax, eax
jne 0x14005a016
lea r8, [rsp + 0x40]
mov edx, ebx
lea rcx, [rbp + 0x740]
call fcn.140001c84
mov ecx, eax
test eax, eax
jne 0x14005a016
mov r9, qword [rdi + 0xb8]
lea rcx, [rsp + 0x40]
mov r8, qword [str._I64d_]
mov edx, ebx
call fcn.1400029a0
mov ecx, eax
test eax, eax
jne 0x14005a016
lea r8, [rsp + 0x40]
mov edx, ebx
lea rcx, [rbp + 0x740]
call fcn.140001c84
mov ecx, eax
test eax, eax
jne 0x14005a016
mov r9, qword [rdi + 0xc0]
lea rcx, [rsp + 0x40]
mov r8, qword [str._I64d_]
mov edx, ebx
call fcn.1400029a0
mov ecx, eax
test eax, eax
jne 0x14005a016
lea r8, [rsp + 0x40]
mov edx, ebx
lea rcx, [rbp + 0x740]
call fcn.140001c84
mov ecx, eax
test eax, eax
jne 0x14005a016
mov r9, qword [rdi + 0xc8]
lea rcx, [rsp + 0x40]
mov r8, qword [str._I64d_]
mov edx, ebx
call fcn.1400029a0
mov ecx, eax
test eax, eax
jne 0x14005a016
lea r8, [rsp + 0x40]
mov edx, ebx
lea rcx, [rbp + 0x740]
call fcn.140001c84
mov ecx, eax
test eax, eax
jne 0x14005a016
mov r9, qword [rdi + 0xd0]
lea rcx, [rsp + 0x40]
mov r8, qword [str._I64d_]
mov edx, ebx
call fcn.1400029a0
mov ecx, eax
test eax, eax
jne 0x14005a016
lea r8, [rsp + 0x40]
mov edx, ebx
lea rcx, [rbp + 0x740]
call fcn.140001c84
mov ecx, eax
test eax, eax
jne 0x14005a016
mov r9, qword [rdi + 0xd8]
lea rcx, [rsp + 0x40]
mov r8, qword [str._I64d_]
mov edx, ebx
call fcn.1400029a0
mov ecx, eax
test eax, eax
jne 0x14005a016
lea r8, [rsp + 0x40]
mov edx, ebx
lea rcx, [rbp + 0x740]
call fcn.140001c84
mov ecx, eax
test eax, eax
jne 0x14005a016
mov r9, qword [rdi + 0xe0]
lea rcx, [rsp + 0x40]
mov r8, qword [str._I64d_]
mov edx, ebx
call fcn.1400029a0
mov ecx, eax
test eax, eax
jne 0x14005a016
lea r8, [rsp + 0x40]
mov edx, ebx
lea rcx, [rbp + 0x740]
call fcn.140001c84
mov ecx, eax
test eax, eax
jne 0x14005a016
mov r9, qword [rdi + 0xe8]
lea rcx, [rsp + 0x40]
mov r8, qword [str._I64d_]
mov edx, ebx
call fcn.1400029a0
mov ecx, eax
test eax, eax
jne 0x14005a016
lea r8, [rsp + 0x40]
mov edx, ebx
lea rcx, [rbp + 0x740]
call fcn.140001c84
mov ecx, eax
test eax, eax
jne 0x14005a016
mov r9, qword [rdi + 0xf0]
lea rcx, [rsp + 0x40]
mov r8, qword [str._I64d_]
mov edx, ebx
call fcn.1400029a0
mov ecx, eax
test eax, eax
jne 0x14005a016
lea r8, [rsp + 0x40]
mov edx, ebx
lea rcx, [rbp + 0x740]
call fcn.140001c84
mov ecx, eax
test eax, eax
jne 0x14005a016
mov r9, qword [rdi + 0xf8]
lea rcx, [rsp + 0x40]
mov r8, qword [str._I64d_]
mov edx, ebx
call fcn.1400029a0
mov ecx, eax
test eax, eax
jne 0x14005a016
lea r8, [rsp + 0x40]
mov edx, ebx
lea rcx, [rbp + 0x740]
call fcn.140001c84
mov ecx, eax
test eax, eax
jne 0x14005a016
mov r9, qword [rdi + 0x100]
lea rcx, [rsp + 0x40]
mov r8, qword [str._I64d_]
mov edx, ebx
call fcn.1400029a0
mov ecx, eax
test eax, eax
jne 0x14005a016
lea r8, [rsp + 0x40]
mov edx, ebx
lea rcx, [rbp + 0x740]
call fcn.140001c84
mov ecx, eax
test eax, eax
jne 0x14005a016
mov r9, qword [rdi + 0x108]
lea rcx, [rsp + 0x40]
mov r8, qword [str._I64d_]
mov edx, ebx
call fcn.1400029a0
mov ecx, eax
test eax, eax
jne 0x14005a016
lea r8, [rsp + 0x40]
mov edx, ebx
lea rcx, [rbp + 0x740]
call fcn.140001c84
mov ecx, eax
test eax, eax
jne 0x14005a016
mov r9, qword [rdi + 0x110]
lea rcx, [rsp + 0x40]
mov r8, qword [str._I64d_]
mov edx, ebx
call fcn.1400029a0
mov ecx, eax
test eax, eax
jne 0x14005a016
lea r8, [rsp + 0x40]
mov edx, ebx
lea rcx, [rbp + 0x740]
call fcn.140001c84
mov ecx, eax
test eax, eax
jne 0x14005a016
mov r9, qword [rdi + 0x118]
lea rcx, [rsp + 0x40]
mov r8, qword [str._I64d_]
mov edx, ebx
call fcn.1400029a0
mov ecx, eax
test eax, eax
jne 0x14005a016
lea r8, [rsp + 0x40]
mov edx, ebx
lea rcx, [rbp + 0x740]
call fcn.140001c84
mov ecx, eax
test eax, eax
jne 0x14005a016
mov r9, qword [rdi + 0x120]
lea rcx, [rsp + 0x40]
mov r8, qword [str._I64d_]
mov edx, ebx
call fcn.1400029a0
mov ecx, eax
test eax, eax
jne 0x14005a016
lea r8, [rsp + 0x40]
mov edx, ebx
lea rcx, [rbp + 0x740]
call fcn.140001c84
mov ecx, eax
test eax, eax
jne 0x14005a016
mov r9, qword [rdi + 0x128]
lea rcx, [rsp + 0x40]
mov r8, qword [str._I64d_]
mov edx, ebx
call fcn.1400029a0
mov ecx, eax
test eax, eax
jne 0x14005a016
lea r8, [rsp + 0x40]
mov edx, ebx
lea rcx, [rbp + 0x740]
call fcn.140001c84
mov ecx, eax
test eax, eax
jne 0x14005a016
mov r9, qword [rdi + 0x130]
lea rcx, [rsp + 0x40]
mov r8, qword [str._I64d_]
mov edx, ebx
call fcn.1400029a0
mov ecx, eax
test eax, eax
jne 0x14005a016
lea r8, [rsp + 0x40]
mov edx, ebx
lea rcx, [rbp + 0x740]
call fcn.140001c84
mov ecx, eax
test eax, eax
jne 0x14005a016
mov r9, qword [rdi + 0x138]
lea rcx, [rsp + 0x40]
mov r8, qword [str._I64d_]
mov edx, ebx
call fcn.1400029a0
mov ecx, eax
test eax, eax
jne 0x14005a016
lea r8, [rsp + 0x40]
mov edx, ebx
lea rcx, [rbp + 0x740]
call fcn.140001c84
mov ecx, eax
test eax, eax
jne 0x14005a016
mov r9, qword [rdi + 0x140]
lea rcx, [rsp + 0x40]
mov r8, qword [str._I64d_]
mov edx, ebx
call fcn.1400029a0
mov ecx, eax
test eax, eax
jne 0x14005a016
lea r8, [rsp + 0x40]
mov edx, ebx
lea rcx, [rbp + 0x740]
call fcn.140001c84
mov ecx, eax
test eax, eax
jne 0x14005a016
mov r9, qword [rdi + 0x148]
lea rcx, [rsp + 0x40]
mov r8, qword [str._I64d_]
mov edx, ebx
call fcn.1400029a0
mov ecx, eax
test eax, eax
jne 0x14005a016
lea r8, [rsp + 0x40]
mov edx, ebx
lea rcx, [rbp + 0x740]
call fcn.140001c84
mov ecx, eax
test eax, eax
jne 0x14005a016
mov r9, qword [rdi + 0x150]
lea rcx, [rsp + 0x40]
mov r8, qword [str._I64d_]
mov edx, ebx
call fcn.1400029a0
mov ecx, eax
test eax, eax
jne 0x14005a016
lea r8, [rsp + 0x40]
mov edx, ebx
lea rcx, [rbp + 0x740]
call fcn.140001c84
mov ecx, eax
test eax, eax
jne 0x14005a016
mov r9, qword [rdi + 0x158]
lea rcx, [rsp + 0x40]
mov r8, qword [str._I64d_]
mov edx, ebx
call fcn.1400029a0
mov ecx, eax
test eax, eax
jne 0x14005a016
lea r8, [rsp + 0x40]
mov edx, ebx
lea rcx, [rbp + 0x740]
call fcn.140001c84
mov ecx, eax
test eax, eax
jne 0x14005a016
mov r9, qword [rdi + 0x160]
lea rcx, [rsp + 0x40]
mov r8, qword [str._I64d_]
mov edx, ebx
call fcn.1400029a0
mov ecx, eax
test eax, eax
jne 0x14005a016
lea r8, [rsp + 0x40]
mov edx, ebx
lea rcx, [rbp + 0x740]
call fcn.140001c84
mov ecx, eax
test eax, eax
jne 0x14005a016
mov r9, qword [rdi + 0x168]
lea rcx, [rsp + 0x40]
mov r8, qword [str._I64d_]
mov edx, ebx
call fcn.1400029a0
mov ecx, eax
test eax, eax
jne 0x14005a016
lea r8, [rsp + 0x40]
mov edx, ebx
lea rcx, [rbp + 0x740]
call fcn.140001c84
mov ecx, eax
test eax, eax
jne 0x14005a016
mov r9, qword [rdi + 0x170]
lea rcx, [rsp + 0x40]
mov r8, qword [str._I64d_]
mov edx, ebx
call fcn.1400029a0
mov ecx, eax
test eax, eax
jne 0x14005a016
lea r8, [rsp + 0x40]
mov edx, ebx
lea rcx, [rbp + 0x740]
call fcn.140001c84
mov ecx, eax
test eax, eax
jne 0x14005a016
mov r9, qword [rdi + 0x178]
lea rcx, [rsp + 0x40]
mov r8, qword [str._I64d_]
mov edx, ebx
call fcn.1400029a0
mov ecx, eax
test eax, eax
jne 0x14005a016
lea r8, [rsp + 0x40]
mov edx, ebx
lea rcx, [rbp + 0x740]
call fcn.140001c84
mov ecx, eax
test eax, eax
jne 0x14005a016
mov r9, qword [rdi + 0x180]
lea rcx, [rsp + 0x40]
mov r8, qword [str._I64d_]
mov edx, ebx
call fcn.1400029a0
mov ecx, eax
test eax, eax
jne 0x14005a016
lea r8, [rsp + 0x40]
mov edx, ebx
lea rcx, [rbp + 0x740]
call fcn.140001c84
mov ecx, eax
test eax, eax
jne 0x14005a016
mov r9, qword [rdi + 0x188]
lea rcx, [rsp + 0x40]
mov r8, qword [str._I64d_]
mov edx, ebx
call fcn.1400029a0
mov ecx, eax
test eax, eax
jne 0x14005a016
lea r8, [rsp + 0x40]
mov edx, ebx
lea rcx, [rbp + 0x740]
call fcn.140001c84
mov ecx, eax
test eax, eax
jne 0x14005a016
lea r8, [0x140070500]
mov edx, ebx
lea rcx, [rbp + 0x740]
call fcn.140001c84
mov ecx, eax
test eax, eax
jne 0x14005a016
mov edx, ebx
lea rax, [rbp + 0x740]
cmp byte [rax], 0
je 0x140059fb9
inc rax
sub rdx, 1
jne 0x140059fab
mov rax, rdx
neg rax
mov rax, rdx
sbb ecx, ecx
sub rbx, rdx
not ecx
and ecx, 0x80070057
neg rax
sbb rdi, rdi
and rdi, rbx
test rdx, rdx
je 0x14005a016
mov rcx, qword [rsi + 8]
lea r9, [rsp + 0x30]
and dword [rsp + 0x30], 0
lea rdx, [rbp + 0x740]
and qword [rsp + 0x20], 0
mov r8d, edi
call qword [sym.imp.KERNEL32.dll_WriteFile]
nop dword [rax + rax]
mov eax, dword [rsp + 0x30]
sub rax, rdi
neg rax
sbb ecx, ecx
and ecx, 0x1f
mov eax, ecx
mov rcx, qword [rbp + 0xf40]
xor rcx, rsp
call fcn.140061140
mov rbx, qword [rsp + 0x1080]
add rsp, 0x1050
pop rdi
pop rsi
pop rbp
ret