Function at 0x4059d0
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
dec word [0x4aa27c]
sub esp, 0x42c
movsx eax, word [0x4aa27c]
sub eax, 0x44b36500
cmp eax, 0x73c9e57e
jl 0x405a36
mov ax, word [0x4aa1d0]
mov ecx, dword [0x4aa1ac]
movss xmm0, dword [0x4aa1b8]
cwde
add ecx, eax
movd xmm1, ecx
cvtdq2ps xmm1, xmm1
subss xmm1, xmm0
cvttss2si eax, xmm1
mov dword [0x4aa168], eax
movss xmm0, dword [0x4aa1b8]
addss xmm0, dword [0x49bebc]
movss dword [0x4aa1b8], xmm0
push ebx
mov ebx, dword [ebp + 8]
mov ecx, ebx
call fcn.00443bf0
cmp eax, 0x8000
jbe 0x4062c9
movsd xmm0, qword [0x4aa438]
subsd xmm0, qword [0x49d388]
push esi
push edi
movsd qword [0x4aa1d8], xmm0
movsd xmm0, qword [0x4aa438]
subsd xmm0, qword [0x49bec0]
movsd qword [0x4aa438], xmm0
inc dword [0x4aa210]
mov eax, dword [0x4aa210]
movzx ecx, word [0x4aa428]
add eax, 0x84b22945
imul ecx, eax
mov word [0x4aa428], cx
movsd xmm0, qword [0x4aa2c0]
subsd xmm0, qword [0x49d9d8]
cvttsd2si eax, xmm0
mov dword [0x4aa350], eax
lea eax, [ebp - 0x11c]
push eax
mov dword [0x4aa214], 0xcd66b740
call fcn.00401d30
movss xmm1, dword [0x4aa380]
mov esi, eax
movss xmm0, dword [0x4aa320]
subss xmm0, dword [0x49ef58]
subss xmm1, xmm0
movss dword [0x4aa380], xmm1
call fcn.00440dc0
movzx ecx, al
and ecx, 0x80000003
jns 0x405b09
dec ecx
or ecx, 0xfffffffc
inc ecx
add ecx, 7
lea eax, [ebp - 0x11c]
push ecx
add eax, esi
push eax
call fcn.00448250
mov ecx, dword [0x4aa038]
mov eax, dword [0x4aa3c4]
add ecx, 0x7cdad8af
add eax, ecx
push 5
mov dword [0x4aa3c4], eax
inc dword [0x4aa038]
push 0x1c63
call fcn.0041b2d0
mov ecx, dword [0x4aa064]
mov edx, eax
add esp, 0x14
mov dword [ebp - 4], edx
mov esi, edx
movd xmm2, ecx
mov ecx, dword [0x4aa168]
movsd xmm0, qword [0x4aa1b0]
cvtdq2pd xmm2, xmm2
movd xmm1, ecx
cvtdq2pd xmm1, xmm1
subsd xmm1, xmm0
subsd xmm2, xmm1
cvttsd2si eax, xmm2
mov dword [0x4aa064], eax
dec dword [0x4aa168]
nop word [eax + eax]
mov al, byte [edx]
inc edx
test al, al
jne 0x405b90
lea edi, [ebp - 0x11c]
sub edx, esi
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x405ba0
movsx eax, word [0x4aa25c]
mov ecx, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, 0x2dfa2703
sub ecx, eax
push 3
mov dword [0x4aa42c], ecx
inc word [0x4aa25c]
push 0x1cec
call fcn.0041b2d0
movsx ecx, word [0x4aa374]
mov esi, eax
movsd xmm1, qword [0x4aa190]
push dword [ebp - 4]
movd xmm0, ecx
mov ecx, dword [0x4aa334]
cvtdq2pd xmm0, xmm0
push 5
addsd xmm1, xmm0
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
subsd xmm1, qword [0x49bf90]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [0x4aa334], eax
movsd xmm0, qword [0x4aa190]
addsd xmm0, qword [0x49bec0]
movsd qword [0x4aa190], xmm0
call fcn.004435b0
movss xmm0, dword [0x4aa19c]
cvttss2si eax, xmm0
push esi
mov dword [0x4aa2cc], eax
lea eax, [ebp - 0x11c]
push eax
call fcn.004563ae
add dword [str.Y__s], 0x3a84b7d3
mov edi, eax
push esi
push 3
call fcn.004435b0
movsd xmm0, qword [0x4aa010]
add esp, 0x20
mulsd xmm0, qword [0x49d8d0]
movsd qword [0x4aa010], xmm0
test edi, edi
je 0x40625a
movsx eax, word [0x4aa41c]
mov ecx, 0xe773bac2
movss xmm0, dword [0x4aa384]
sub ecx, eax
push edi
push 1
movd xmm1, ecx
mov ecx, ebx
cvtdq2ps xmm1, xmm1
addss xmm0, xmm1
movss xmm1, dword [0x4a014c]
movss dword [0x4aa384], xmm0
movss xmm0, dword [0x4aa074]
subss xmm1, xmm0
cvttss2si eax, xmm1
mov word [0x4aa04c], ax
call fcn.00443bf0
push eax
mov ecx, ebx
call fcn.00413080
push eax
call fcn.004566da
movsd xmm0, qword [0x4aa400]
addsd xmm0, qword [0x49cbb0]
push edi
movsd qword [0x4aa400], xmm0
call fcn.00455dbf
movsd xmm0, qword [0x4aa310]
add esp, 0x14
addsd xmm0, qword [0x49bec0]
movsd xmm1, qword [0x49d0c8]
mov ecx, ebx
movsd qword [0x4aa310], xmm0
movsx eax, word [0x4aa3a4]
movsd xmm0, qword [0x4aa310]
subsd xmm1, xmm0
movd xmm2, eax
cvtdq2pd xmm2, xmm2
subsd xmm2, xmm1
cvttsd2si eax, xmm2
mov word [0x4aa3a4], ax
call fcn.004429c0
movss xmm0, dword [0x4aa394]
subss xmm0, dword [0x4aa30c]
push 0x104
movss dword [0x4aa394], xmm0
movss xmm0, dword [0x4aa30c]
addss xmm0, dword [0x49bebc]
mov byte [ebp - 0x120], 0
movss dword [0x4aa30c], xmm0
movsx ecx, word [0x4aa1c4]
movss xmm1, dword [0x4aa44c]
add ecx, 0xe85e13a2
mov eax, dword [0x4aa2a0]
add eax, ecx
movd xmm0, eax
lea eax, [ebp - 0x224]
cvtdq2ps xmm0, xmm0
push eax
push 0
subss xmm1, xmm0
movss dword [0x4aa44c], xmm1
call dword [0x4aaf4c]
movss xmm1, dword [0x4aa3b4]
movsx eax, word [0x4aa220]
movd xmm0, eax
movsx eax, word [0x4aa138]
cvtdq2ps xmm0, xmm0
subss xmm1, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
subss xmm1, xmm0
cvtps2pd xmm0, xmm1
movsd qword [section..data], xmm0
dec word [0x4aa138]
inc word [0x4aa220]
movsd xmm0, qword [0x4aa150]
addsd xmm0, qword [0x49bec0]
mov byte [ebp - 0x225], 0
movsd qword [0x4aa150], xmm0
inc word [0x4aa12c]
mov eax, dword [0x4aa24c]
movsd xmm1, qword [0x4aa150]
movsd xmm0, qword [0x4aa120]
addsd xmm1, xmm0
movd xmm2, eax
movsx eax, word [0x4aa12c]
cvtdq2pd xmm2, xmm2
push 0x15
push 0x29b6
movd xmm0, eax
cvtdq2pd xmm0, xmm0
subsd xmm1, xmm0
subsd xmm2, xmm1
cvttsd2si eax, xmm2
mov dword [0x4aa24c], eax
call fcn.0041b2d0
inc dword [0x4aa414]
add esp, 8
mov ecx, dword [0x4aa414]
mov esi, eax
movsd xmm0, qword [section..data]
movd xmm1, ecx
cvtdq2pd xmm1, xmm1
comisd xmm0, xmm1
jb 0x405ec7
add dword [0x4aa2e4], 0x98d18e8b
push dword [0x4ab688]
lea eax, [ebp - 0x224]
push dword [0x4ab670]
push eax
push esi
lea eax, [ebp - 0x42c]
push 0x207
push eax
call fcn.0043c580
mov eax, dword [0x4aa3e4]
add esp, 0x18
movss xmm0, dword [0x4aa238]
sub eax, 0x2ce44d57
subss xmm0, dword [0x49fe70]
inc dword [0x4aa3e4]
movd xmm1, eax
cvtdq2ps xmm1, xmm1
comiss xmm1, xmm0
jb 0x405f2d
mov eax, dword [str.Y__s]
sub eax, 0x5225bd8f
mov word [0x4aa284], ax
jmp 0x405f85
inc word [0x4aa0f0]
movsx eax, word [0x4aa0f0]
movss xmm0, dword [0x4aa074]
addss xmm0, dword [0x49e1c4]
movd xmm1, eax
cvtdq2ps xmm1, xmm1
subss xmm1, xmm0
movsd xmm0, qword [0x4aa190]
cvtps2pd xmm1, xmm1
mulsd xmm0, xmm1
movsd qword [0x4aa190], xmm0
movss xmm0, dword [0x4aa074]
addss xmm0, dword [0x49bebc]
movss dword [0x4aa074], xmm0
push esi
push 0x15
call fcn.004435b0
movss xmm0, dword [0x4aa08c]
subss xmm0, dword [0x49ea1c]
push dword [0x4ab688]
movss dword [0x4aa08c], xmm0
call fcn.0043bd70
movsd xmm0, qword [0x4aa190]
add esp, 0xc
subsd xmm0, qword [0x49bec0]
movsd qword [0x4aa190], xmm0
movsd xmm2, qword [0x4aa190]
movsx eax, word [0x4aa290]
movss xmm1, dword [0x4aa224]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
addss xmm1, xmm0
subss xmm1, dword [0x49eee8]
cvtps2pd xmm0, xmm1
ucomisd xmm2, xmm0
movss xmm0, dword [0x4aa224]
subss xmm0, dword [0x49bebc]
lahf
movss dword [0x4aa224], xmm0
test ah, 0x44
jnp 0x40604a
mov eax, dword [0x4aa1ac]
movsd xmm1, qword [0x4aa190]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm1, xmm0
subsd xmm1, qword [0x49d820]
cvttsd2si eax, xmm1
mov dword [0x4aa3a8], eax
dec dword [0x4aa1ac]
lea eax, [ebp - 0x42c]
push eax
lea eax, [ebp - 0x11c]
push eax
call fcn.00445ad0
movss xmm0, dword [0x4aa354]
lea eax, [ebp - 0x42c]
subss xmm0, dword [0x49e464]
push 0x208
push 0
push eax
movss dword [0x4aa354], xmm0
call fcn.0044a9a0
movsd xmm0, qword [0x4aa0a8]
add esp, 0x14
addsd xmm0, qword [0x49bec0]
movsd qword [0x4aa0a8], xmm0
mov eax, dword [0x4aa0ec]
movsd xmm0, qword [0x4aa0a8]
add eax, 0x2e427e9
movd xmm1, eax
cvtdq2pd xmm1, xmm1
subsd xmm1, xmm0
ucomisd xmm1, qword [0x49f910]
lahf
dec dword [0x4aa0ec]
test ah, 0x44
jnp 0x40610a
movsx eax, word [0x4aa458]
dec word [0x4aa458]
cmp eax, 0xa657215a
jle 0x40610a
mov eax, dword [0x4aa370]
sub eax, 0x5082ce0f
movd xmm0, eax
cvtdq2pd xmm0, xmm0
movsd qword [0x4aa438], xmm0
inc dword [0x4aa370]
push 0x105
lea eax, [ebp - 0x224]
push 0
push eax
call fcn.0044a9a0
movsd xmm1, qword [0x4aa348]
add esp, 0xc
movss xmm0, dword [0x4aa320]
cvtps2pd xmm0, xmm0
push 0x15f90
subsd xmm1, xmm0
movsd qword [0x4aa348], xmm1
movss xmm0, dword [0x4aa320]
subss xmm0, dword [0x49bebc]
movss dword [0x4aa320], xmm0
call dword [0x4aafa8]
movss xmm0, dword [0x4aa118]
movsd xmm1, qword [section..data]
movss xmm3, dword [0x49bebc]
cvtps2pd xmm2, xmm0
movss xmm0, dword [0x4aa118]
comisd xmm2, xmm1
addss xmm0, xmm3
movss dword [0x4aa118], xmm0
jbe 0x40621d
movss xmm0, dword [0x4aa298]
subss xmm0, xmm3
movss dword [0x4aa298], xmm0
mov eax, dword [0x4aa114]
movss xmm0, dword [0x4aa298]
sub eax, 0x30cf0710
movsd xmm1, qword [0x4aa160]
cvtps2pd xmm0, xmm0
movd xmm2, eax
addsd xmm1, xmm0
movss xmm0, dword [0x4aa080]
cvtps2pd xmm0, xmm0
cvtdq2pd xmm2, xmm2
subsd xmm1, xmm0
movsd xmm0, qword [0x4aa160]
subsd xmm0, qword [0x49bec0]
comisd xmm1, xmm2
movsd qword [0x4aa160], xmm0
jb 0x40621d
movsd xmm0, qword [section..data]
subsd xmm0, qword [0x49cb30]
movsd qword [section..data], xmm0
lea eax, [ebp - 0x11c]
push eax
call dword [0x4aaef8]
movss xmm0, dword [0x4aa3f8]
movsx eax, word [0x4aa0b8]
movss xmm1, dword [0x49e2ac]
subss xmm1, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
addss xmm0, xmm1
cvttss2si eax, xmm0
mov word [0x4aa0b8], ax
mov eax, dword [0x4aa064]
movss xmm1, dword [0x4aa118]
movsd xmm2, qword [0x4aa098]
push 0x118
movd xmm0, eax
mov eax, dword [0x4aa334]
cvtdq2ps xmm0, xmm0
push 0
addss xmm1, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
lea eax, [ebp - 0x11c]
push eax
addss xmm0, xmm1
cvtps2pd xmm0, xmm0
subsd xmm2, xmm0
movsd qword [0x4aa098], xmm2
dec dword [0x4aa334]
call fcn.0044a9a0
movzx eax, word [0x4aa040]
add esp, 0xc
add eax, 0x18aadcc2
mov word [0x4aa040], ax
pop edi
pop esi
movsx eax, word [0x4aa04c]
movsd xmm0, qword [0x4aa2b0]
movsd xmm1, qword [0x49cf10]
subsd xmm1, xmm0
movd xmm2, eax
cvtdq2pd xmm2, xmm2
pop ebx
subsd xmm2, xmm1
cvttsd2si eax, xmm2
mov word [0x4aa04c], ax
mov esp, ebp
pop ebp
ret