Function at 0x1800407b0
Capabilities:
Write file on windows

Disassembly:
mov rax, rsp
mov qword [rax + 0x20], r9
mov qword [rax + 0x18], r8
mov qword [rax + 0x10], rdx
mov qword [rax + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xc8
mov r14d, dword [rsp + 0x140]
mov rbp, r9
mov rsi, qword [rsp + 0x50]
mov r9, r8
movaps xmmword [rax - 0x58], xmm6
mov r8, rdx
mov rdx, rcx
lea eax, [r14 + 0x11]
mov dword [rsp + 0x60], eax
cmp r14d, eax
jae case.0x180040852.212
mov r12, qword [rsp + 0x138]
xor edi, edi
movsd xmm6, qword [0x18009f430]
mov r15, qword [rsp + 0x68]
mov ebx, dword [rsp + 0x140]
mov r13, qword [rsp + 0x68]
lea eax, [r14 - 0xc5]
lea r10, [0x180000000]
cmp eax, 0x36
ja case.0x180040852.213
movzx eax, byte [r10 + rax + 0x40de0]
mov ecx, dword [r10 + rax*4 + 0x40d9c]
add rcx, r10
jmp rcx
test r9, r9
je case.0x180040852.213
mov eax, dword [r15 + 0x13bc]
mov dword [r9], eax
jmp case.0x180040852.213
mov rax, qword [r12 + 0x18]
mov ecx, dword [rsp + 0x140]
mov qword [rax + rcx*8], rdi
mov eax, dword [r12]
mov dword [rsp + 0x80], eax
mov rax, qword [r12 + 8]
mov qword [rsp + 0x88], rax
jmp case.0x180040852.213
test r9, r9
je 0x1800408a1
mov dword [r9], edi
mov rax, qword [rsp + 0x130]
test rax, rax
je 0x1800408b0
mov dword [rax], edi
mov eax, dword [rdx]
test eax, eax
jne case.0x180040852.213
cmp dword [r15 + 0x13e8], eax
jne 0x180040928
mov r14d, ILFree
nop dword [rax]
cmp r14d, 0x99
je 0x1800409cb
cmp r14d, 0x60d2
je 0x18004098a
cmp r14d, 0xc10b
jne 0x180040a2f
cmp ebx, 4
jne 0x180040a2f
mov rax, qword [rsp + 0x110]
mov r14d, 0xc7
mov rbp, qword [rsp + 0x128]
mov r8, qword [rsp + 0x118]
mov eax, dword [rax]
test eax, eax
jne case.0x180040852.213
mov rcx, qword [r15]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_ferror]
test eax, eax
jne 0x180040caa
mov rcx, qword [r15]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fflush]
mov rcx, qword [r15]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_ferror]
test eax, eax
je 0x180040caa
test r12, r12
je 0x180040960
mov dword [r12], 0xfffffffa
mov dword [r15 + 0x13e8], 0xfffffffa
mov rax, rsi
movaps xmm6, xmmword [rsp + 0xb0]
add rsp, 0xc8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret
mov eax, dword [r15 + 0x13b8]
cmp eax, 0x1388
jae 0x180040a2f
mov r9, qword [r15]
lea rcx, [r15 + 8]
mov ebp, 0x1388
mov edx, 1
sub ebp, eax
movsxd r8, ebp
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fwrite]
cmp ebp, eax
jne 0x180040953
mov rcx, qword [r15]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_ferror]
test eax, eax
jne 0x180040953
jmp 0x180040a2f
lea rax, [r15 + 8]
mov dword [r15 + 0x13b8], 0x1388
mov qword [r15 + 0x13b0], rax
xor r9d, r9d
lea rax, [r15 + 0x1398]
mov dword [rsp + 0x58], 2
mov qword [rsp + 0x40], rax
xor r8d, r8d
lea rax, [rsp + 0x58]
xor edx, edx
mov qword [rsp + 0x38], rax
mov ecx, 0xb7
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x28], rdi
mov qword [rsp + 0x20], rdi
call fcn.180052a40
mov rbx, rax
add eax, 0xfffffffd
cmp eax, 1
ja 0x180040cd5
add r14d, 0x6039
cmp r14d, 0x120ab
jbe 0x1800408d0
jmp 0x1800408c3
cmp dword [r12 + 0x10], 0
je 0x180040d04
cmp dword [r12 + 0x20], 0
mov eax, 0xffffffff
mov dword [rsp + 0x140], eax
mov ebp, edi
jbe 0x180040ad9
mov edi, eax
nop dword [rax]
mov rcx, qword [r12 + 0x18]
mov eax, ebp
mov rdx, qword [rcx + rax*8]
test rdx, rdx
je 0x180040ab8
cmp edi, 0xffffffff
je 0x180040ab6
mov eax, edi
lea r9, [rsp + 0x58]
mov r8, r12
mov rcx, qword [rcx + rax*8]
mov rax, qword [rcx]
lea rcx, [rsp + 0x70]
mov qword [rsp + 0x70], rax
mov rax, qword [rdx]
mov edx, 0xd3
mov qword [rsp + 0x58], rax
call fcn.18003fcc0
test eax, eax
jns 0x180040ab8
mov edi, ebp
inc ebp
cmp ebp, dword [r12 + 0x20]
jb 0x180040a70
mov r8, qword [rsp + 0x118]
mov dword [rsp + 0x140], edi
xor edi, edi
mov eax, dword [rsp + 0x140]
mov rbp, qword [rsp + 0x128]
mov ecx, eax
mov rax, qword [r12 + 0x18]
mov r13, qword [rax + rcx*8]
jmp case.0x180040852.213
mov rax, qword [r13 + 0x10]
mov qword [rsp + 0x98], rax
jmp case.0x180040852.213
mov r8d, 0x35
lea rcx, [rsp + 0x80]
mov rdx, r12
call fcn.18004f450
test eax, eax
je 0x180040cf4
mov ebp, 0xdb
nop word [rax + rax]
mov eax, ebp
sub eax, 0xda
je 0x180040cea
cmp eax, 1
jne 0x180040b5d
mov rax, qword [r13]
mov rdx, r13
mov ecx, 0x21
mov qword [rsp + 0x68], rax
call fcn.18007c940
dec dword [r12 + 0x10]
dec ebp
cmp ebp, 0xd9
ja 0x180040b30
mov rbp, qword [rsp + 0x128]
jmp 0x180040caa
mov qword [rsp + 0x78], rdi
jmp case.0x180040852.213
cmp byte [r15 + 0x1394], 0
je 0x180040d0c
mov rcx, qword [r15]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_ferror]
test eax, eax
jne 0x180040953
mov r8, qword [rsp + 0x118]
test r8, r8
je 0x180040bad
mov dword [r8], edi
test rbp, rbp
je case.0x180040852.213
mov dword [rbp], edi
jmp case.0x180040852.213
mov rsi, qword [rsp + 0x78]
jmp case.0x180040852.213
mov rax, qword [rsp + 0x148]
movsd xmm2, qword [rdx]
movsd xmm1, qword [rax]
movaps xmm0, xmm1
subsd xmm0, xmm2
mulsd xmm0, qword [0x18009f2c8]
comisd xmm0, xmmword [0x18009f358]
ja 0x180040d39
comisd xmm6, xmm0
ja 0x180040d29
cvttsd2si eax, xmm0
mov dword [rsp + 0x50], eax
jmp case.0x180040852.213
movzx eax, word [r13 + 8]
mov dword [rsp + 0xa0], eax
jmp case.0x180040852.213
test r8, r8
je 0x180040c2c
mov eax, dword [r15 + 0x13a4]
mov dword [r8], eax
test rbp, rbp
je case.0x180040852.213
mov eax, dword [r15 + 0x13a8]
mov dword [rbp], eax
jmp case.0x180040852.213
mov rax, qword [rsp + 0x148]
mov r15, rax
test rax, rax
jne case.0x180040852.213
test r12, r12
je case.0x180040852.212
mov dword [r12], edi
jmp case.0x180040852.212
mov rcx, qword [rsp + 0x130]
test rcx, rcx
je 0x180040c79
mov eax, dword [r15 + 0x13c0]
mov dword [rcx], eax
test r12, r12
je 0x180040c82
mov dword [r12], edi
test r15, r15
je 0x180040c8e
mov dword [r15 + 0x13e8], edi
lea r8, [r15 + 0x1398]
xor edx, edx
mov ecx, 0x117
call fcn.180019330
mov rcx, r15
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov r8, qword [rsp + 0x118]
inc r14d
cmp r14d, dword [rsp + 0x60]
jae case.0x180040852.212
mov rdx, qword [rsp + 0x110]
mov r9, qword [rsp + 0x120]
jmp 0x180040827
test r12, r12
je 0x180040cde
mov dword [r12], ebx
mov dword [r15 + 0x13e8], ebx
jmp case.0x180040852.212
mov rax, qword [rsp + 0x68]
jmp 0x18004096e
mov ecx, dword [rsp + 0x140]
mov rax, qword [r12 + 0x18]
mov qword [rax + rcx*8], r13
mov rax, rdi
jmp 0x18004096e
test r12, r12
je 0x180040d19
mov dword [r12], 0xffffffff
mov dword [r15 + 0x13e8], 0xffffffff
jmp case.0x180040852.212
movsd qword [rsp + 0x50], xmm2
mov rax, qword [rsp + 0x50]
jmp 0x18004096e
movsd qword [rsp + 0x50], xmm1
mov rax, qword [rsp + 0x50]
jmp 0x18004096e
movsxd rax, dword [rsp + 0x50]
test eax, eax
js 0x180040d78
movsd xmm0, qword [r12 + rax*8 + 0x7ac0]
mov rax, qword [rsp + 0x148]
addsd xmm0, qword [rax]
movsd qword [rsp + 0x50], xmm0
mov rax, qword [rsp + 0x50]
jmp 0x18004096e
mov ecx, 0xf58
sub rcx, rax
movsd xmm0, qword [r12 + rcx*8]
addsd xmm0, qword [rdx]
movsd qword [rsp + 0x50], xmm0
mov rax, qword [rsp + 0x50]
jmp 0x18004096e