Function at 0x409490
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x43c
movsd xmm0, qword [0x4382f0]
mov eax, 0xffffd722
movsd qword [ebp - 0x10], xmm0
mov dword [ebp - 8], 0x4c7400b2
mov word [ebp - 0x14], ax
mov eax, 0x82d
push ebx
mov ebx, dword [ebp + 8]
mov ecx, ebx
mov word [ebp - 4], ax
mov dword [ebp - 4], 0xce1e28c0
call fcn.00404af0
cmp eax, 0x8000
jbe 0x4098f3
movss xmm0, dword [ebp - 8]
subss xmm0, dword [0x437140]
push esi
push edi
movss dword [ebp - 8], xmm0
movss xmm1, dword [ebp - 4]
subss xmm1, dword [ebp - 8]
movsx eax, word [0x440614]
movd xmm0, eax
lea eax, [ebp - 0x12c]
cvtdq2ps xmm0, xmm0
push eax
addss xmm1, xmm0
movsd xmm0, qword [0x440270]
cvtps2pd xmm1, xmm1
addsd xmm0, xmm1
movsd qword [0x440270], xmm0
movss xmm0, dword [ebp - 4]
addss xmm0, dword [0x437140]
movss dword [ebp - 4], xmm0
call fcn.004064c0
mov esi, eax
call fcn.00408a80
movzx ecx, al
and ecx, 0x80000003
jns 0x409558
dec ecx
or ecx, 0xfffffffc
inc ecx
add ecx, 7
lea eax, [ebp - 0x12c]
push ecx
add eax, esi
push eax
call fcn.004089a0
movsd xmm1, qword [ebp - 0x10]
movss xmm0, dword [0x440648]
subsd xmm1, qword [0x437450]
cvtps2pd xmm0, xmm0
push 5
push 0x44cf
addsd xmm1, xmm0
cvtpd2ps xmm0, xmm1
movss dword [0x440648], xmm0
movsd xmm0, qword [ebp - 0x10]
addsd xmm0, qword [0x437148]
movsd qword [ebp - 0x10], xmm0
call fcn.00408c40
movss xmm0, dword [0x440224]
mov edx, 0x9cad88be
subss xmm0, dword [0x437140]
mov edi, eax
push edi
movss dword [0x440224], xmm0
movsx ecx, word [0x44055c]
movd xmm2, ecx
mov ecx, dword [0x4401a8]
sub edx, ecx
movss xmm1, dword [0x440224]
cvtdq2ps xmm2, xmm2
movd xmm0, edx
cvtdq2ps xmm0, xmm0
addss xmm1, xmm0
subss xmm2, xmm1
cvttss2si eax, xmm2
mov word [0x44055c], ax
lea eax, [ebp - 0x12c]
dec dword [0x4401a8]
push eax
call fcn.0041d740
push 3
mov dword [ebp - 8], 0xcd0d73fa
push 0x3ed6
call fcn.00408c40
push edi
push 5
mov esi, eax
call fcn.00408e90
lea eax, [ebp - 0x12c]
push esi
push eax
call fcn.0041eafc
push esi
push 3
mov edi, eax
call fcn.00408e90
movsd xmm0, qword [ebp - 0x10]
add esp, 0x3c
subsd xmm0, qword [0x4377d8]
movsd qword [ebp - 0x10], xmm0
test edi, edi
je 0x4098b4
push edi
push 1
mov ecx, ebx
call fcn.00404af0
push eax
mov ecx, ebx
call fcn.00405b10
push eax
call fcn.0041ec6a
push edi
call fcn.0041e7d1
movsd xmm1, qword [ebp - 0x10]
add esp, 0x14
addsd xmm1, qword [0x437600]
movsd xmm0, qword [0x4405b0]
subsd xmm1, xmm0
movsd xmm0, qword [ebp - 0x10]
subsd xmm0, qword [0x438430]
ucomisd xmm1, xmm0
movsd xmm0, qword [ebp - 0x10]
subsd xmm0, qword [0x437148]
lahf
movsd qword [ebp - 0x10], xmm0
test ah, 0x44
jp 0x409701
mov eax, dword [0x4400fc]
movss xmm0, dword [ebp - 4]
movd xmm1, eax
cvtdq2ps xmm1, xmm1
subss xmm1, xmm0
addss xmm1, dword [0x437e78]
movss dword [ebp - 4], xmm1
movss xmm0, dword [ebp - 4]
addss xmm0, dword [0x437140]
movss dword [ebp - 4], xmm0
mov ecx, ebx
call fcn.00404e40
push 0x104
lea eax, [ebp - 0x234]
mov byte [ebp - 0x130], 0
push eax
push 0
call dword [0x442860]
movss xmm1, dword [0x4402a8]
movss xmm0, dword [ebp - 8]
addss xmm1, dword [0x437de0]
subss xmm0, dword [0x437e18]
ucomiss xmm1, xmm0
lahf
test ah, 0x44
jp 0x409794
movsd xmm0, qword [ebp - 0x10]
addsd xmm0, qword [0x437148]
movsd qword [ebp - 0x10], xmm0
movss xmm0, dword [ebp - 4]
addss xmm0, dword [ebp - 4]
cvtps2pd xmm1, xmm0
subsd xmm1, qword [ebp - 0x10]
movss xmm0, dword [ebp - 8]
cvtps2pd xmm0, xmm0
addsd xmm1, xmm0
cvtpd2ps xmm0, xmm1
movss dword [ebp - 8], xmm0
movss xmm0, dword [ebp - 4]
addss xmm0, dword [0x437140]
movss dword [ebp - 4], xmm0
push 0x15
push 0x1dca
mov byte [ebp - 0x235], 0
call fcn.00408c40
push dword [0x442754]
mov esi, eax
lea eax, [ebp - 0x234]
push dword [0x44273c]
push eax
push esi
lea eax, [ebp - 0x43c]
push 0x207
push eax
call fcn.0041eeab
push esi
push 0x15
call fcn.00408e90
push dword [0x442754]
call fcn.0040b110
lea eax, [ebp - 0x43c]
push eax
lea eax, [ebp - 0x12c]
push eax
call fcn.00406790
movsd xmm2, qword [0x440070]
add esp, 0x34
mov ax, word [0x44034c]
subsd xmm2, qword [0x437208]
movsx ecx, ax
movsx eax, word [ebp - 0x14]
dec word [0x44034c]
sub ecx, eax
movsd xmm0, qword [0x440070]
add ecx, 0x3db88f79
addsd xmm0, qword [0x437148]
movd xmm1, ecx
cvtdq2pd xmm1, xmm1
movsd qword [0x440070], xmm0
comisd xmm2, xmm1
jb 0x40985b
movss xmm0, dword [ebp - 8]
addss xmm0, dword [0x437c1c]
movss dword [ebp - 8], xmm0
push 0x208
lea eax, [ebp - 0x43c]
push 0
push eax
call fcn.0041d6a0
push 0x105
lea eax, [ebp - 0x234]
push 0
push eax
call fcn.0041d6a0
add esp, 0x18
push 0x15f90
call dword [0x4428bc]
movsx eax, word [ebp - 0x14]
add eax, 0x9d6cdcd
imul eax, dword [0x440084]
mov dword [0x440084], eax
lea eax, [ebp - 0x12c]
dec dword [ebp - 0x14]
push eax
call dword [0x44280c]
movsd xmm1, qword [0x440210]
mov eax, dword [0x440568]
push 0x118
push 0
movd xmm0, eax
lea eax, [ebp - 0x12c]
cvtdq2pd xmm0, xmm0
push eax
subsd xmm1, xmm0
movsd qword [0x440210], xmm1
inc dword [0x440568]
call fcn.0041d6a0
add esp, 0xc
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret