Function at 0x4408b0
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
dec dword [0x4ae45c]
sub esp, 0x42c
movsd xmm1, qword [0x4ae370]
mov eax, dword [0x4ae45c]
push ebx
mov ebx, dword [ebp + 8]
mov ecx, ebx
movd xmm0, eax
cvtdq2pd xmm0, xmm0
subsd xmm1, xmm0
movsd qword [0x4ae370], xmm1
call fcn.004336b0
cmp eax, 0x8000
jbe 0x4413ae
movss xmm0, dword [0x4ae4fc]
addss xmm0, dword [0x4a22ec]
push esi
movss dword [0x4ae084], xmm0
movss xmm0, dword [0x4ae4fc]
subss xmm0, dword [0x4a0124]
movss dword [0x4ae4fc], xmm0
movss xmm0, dword [0x4ae1a8]
cvtps2pd xmm1, xmm0
movsd xmm0, qword [0x4ae298]
mulsd xmm0, xmm1
movsd qword [0x4ae298], xmm0
movsd xmm1, qword [0x4ae200]
mov eax, dword [0x4ae37c]
addsd xmm1, qword [0x4a1e30]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [0x4ae180], eax
inc dword [0x4ae37c]
mov ax, word [0x4ae25c]
mov ecx, dword [0x4ae288]
cwde
sub ecx, eax
lea eax, [ebp - 0x11c]
push eax
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
movss dword [0x4ae05c], xmm0
dec word [0x4ae25c]
call fcn.004017a0
movsd xmm0, qword [0x4ae038]
add esp, 4
addsd xmm0, qword [0x4a0128]
mov esi, eax
movsd qword [0x4ae038], xmm0
mov ecx, dword [0x4ae1b0]
movsd xmm0, qword [0x4ae368]
movsd xmm1, qword [0x4ae038]
subsd xmm1, qword [0x4a0408]
movd xmm2, ecx
cvtdq2pd xmm2, xmm2
subsd xmm2, xmm0
movsd xmm0, qword [0x4ae368]
addsd xmm0, qword [0x4a0128]
subsd xmm2, qword [0x4a1778]
movsd qword [0x4ae368], xmm0
comisd xmm1, xmm2
jbe 0x440a2f
movsx eax, word [0x4ae458]
sub eax, 0x6b14eea0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [0x4ae030], xmm0
call fcn.00437b80
movzx eax, al
and eax, 0x80000003
jns 0x440a43
dec eax
or eax, 0xfffffffc
inc eax
add eax, 7
push eax
lea eax, [ebp - 0x11c]
add eax, esi
push eax
call fcn.004356a0
mov ax, word [0x4ae2b8]
movzx ecx, word [0x4ae10c]
cwde
sub ecx, eax
sub ecx, 0x298cb4d
push 5
push 0x3ddf
mov word [0x4ae10c], cx
call fcn.0044a880
movzx ecx, word [0x4ae1a4]
add esp, 0x10
add ecx, 0x3deedab8
mov dword [ebp - 4], eax
mov edx, eax
mov word [0x4ae1a4], cx
mov esi, edx
nop dword [eax]
mov al, byte [edx]
inc edx
test al, al
jne 0x440aa0
push edi
lea edi, [ebp - 0x11c]
sub edx, esi
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x440ab1
movsx eax, word [0x4ae090]
mov ecx, edx
movsd xmm0, qword [0x4ae188]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
movd xmm1, eax
mov ecx, edx
cvtdq2pd xmm1, xmm1
and ecx, 3
push 3
push 0x20d
rep movsb byte es:[edi], byte [esi]
addsd xmm0, xmm1
movsd qword [0x4ae188], xmm0
dec word [0x4ae090]
call fcn.0044a880
mov ecx, dword [0x4ae254]
add esp, 8
mov edx, dword [0x4ae2d8]
mov edi, eax
dec dword [0x4ae2d8]
sub edx, ecx
cmp edx, 0x22f217d7
jl 0x440b63
movsd xmm0, qword [0x4ae098]
subsd xmm0, qword [0x4a0128]
movsd qword [0x4ae098], xmm0
movsx eax, word [0x4ae2b8]
movsd xmm0, qword [0x4ae098]
subsd xmm0, qword [0x4a03b0]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
subsd xmm1, xmm0
cvttsd2si eax, xmm1
mov word [0x4ae2b8], ax
push dword [ebp - 4]
push 5
call fcn.00441fb0
movss xmm0, dword [0x4ae01c]
add esp, 8
ucomiss xmm0, dword [0x4a3ed8]
movss xmm0, dword [0x4ae01c]
subss xmm0, dword [0x4a0124]
lahf
movss dword [0x4ae01c], xmm0
test ah, 0x44
jp 0x440bac
imul eax, dword [0x4ae394], 0x8ee2677
mov dword [0x4ae394], eax
lea eax, [ebp - 0x11c]
push edi
push eax
call fcn.0045bae2
movss xmm1, dword [0x4ae150]
mov esi, eax
movss xmm0, dword [0x4ae05c]
addss xmm1, xmm0
movss xmm0, dword [0x4ae264]
push edi
push 3
addss xmm0, xmm1
movss dword [0x4ae264], xmm0
movss xmm0, dword [0x4ae150]
addss xmm0, dword [0x4a0124]
movss dword [0x4ae150], xmm0
movss xmm0, dword [0x4ae05c]
addss xmm0, dword [0x4a0124]
movss dword [0x4ae05c], xmm0
call fcn.00441fb0
movzx eax, word [0x4ae0f4]
add esp, 0x10
sub eax, 0x70804570
mov word [0x4ae0f4], ax
pop edi
test esi, esi
je 0x441305
movsd xmm2, qword [0x4ae098]
movss xmm0, dword [0x4ae070]
cvtps2pd xmm1, xmm0
movss xmm0, dword [0x4ae070]
comisd xmm2, xmm1
addss xmm0, dword [0x4a0124]
movss dword [0x4ae070], xmm0
jb 0x440cb7
mov eax, dword [0x4ae2d8]
movss xmm1, dword [0x4ae470]
movd xmm0, eax
movsx eax, word [0x4ae330]
cvtdq2ps xmm0, xmm0
addss xmm1, xmm0
movd xmm0, eax
movsx eax, word [0x4ae458]
cvtdq2ps xmm0, xmm0
subss xmm1, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
cvttss2si eax, xmm0
mov word [0x4ae458], ax
dec word [0x4ae330]
mov ax, word [0x4ae35c]
mov ecx, ebx
push esi
cwde
add dword [0x4ae164], eax
push 1
call fcn.004336b0
push eax
mov ecx, ebx
call fcn.0043f050
push eax
call fcn.0045be0e
push esi
mov dword [0x4ae1a0], 0xbe4d45c0
call fcn.0045b4f3
movsd xmm0, qword [0x4ae3c0]
add esp, 0x14
mulsd xmm0, qword [0x4a3938]
mov ecx, ebx
movsd qword [0x4ae3c0], xmm0
call fcn.0043ee80
mov eax, dword [0x4ae500]
movsd xmm0, qword [0x4ae210]
subsd xmm0, qword [0x4a36c0]
movsd xmm3, qword [0x4a0128]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
subsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [0x4ae500], eax
movsd xmm0, qword [0x4ae210]
subsd xmm0, xmm3
mov byte [ebp - 0x120], 0
movsd qword [0x4ae210], xmm0
movsd xmm2, qword [0x4ae218]
movsd xmm1, qword [0x4ae028]
movsd xmm0, qword [0x4ae028]
subsd xmm1, qword [0x4a0d40]
addsd xmm0, xmm3
subsd xmm1, qword [0x4a1260]
movsd qword [0x4ae028], xmm0
movsd xmm0, qword [0x4ae218]
subsd xmm0, xmm3
comisd xmm1, xmm2
movsd qword [0x4ae218], xmm0
jb 0x440e12
movsx eax, word [0x4ae174]
mov ecx, 0xb41a8070
sub ecx, eax
mov eax, dword [0x4ae42c]
add ecx, eax
mov eax, dword [0x4ae2bc]
dec dword [0x4ae42c]
add eax, 0x6d561983
cmp ecx, eax
jle 0x440dec
movsd xmm0, qword [0x4ae0b0]
mulsd xmm0, qword [0x4a3380]
movsd qword [0x4ae0b0], xmm0
jmp 0x440e3c
movsx eax, word [0x4ae4d8]
movss xmm0, dword [0x4ae168]
movd xmm1, eax
cvtdq2ps xmm1, xmm1
addss xmm0, xmm1
cvttss2si eax, xmm0
mov word [0x4ae4d8], ax
jmp 0x440e3c
movsx ecx, word [0x4ae438]
mov eax, dword [0x4ae1d0]
add ecx, 0x370c01b7
sub eax, 0x12da2299
cmp eax, ecx
jne 0x440e3c
imul eax, dword [0x4ae360], 0xa6761c5d
mov dword [0x4ae360], eax
push 0x104
lea eax, [ebp - 0x224]
push eax
push 0
call dword [0x4af180]
movss xmm0, dword [0x4ae2f0]
movss xmm3, dword [0x4a0124]
subss xmm0, xmm3
movss xmm1, dword [0x4a3f04]
movsd xmm4, qword [0x4a0128]
movss dword [0x4ae2f0], xmm0
movss xmm0, dword [0x4ae1a8]
cvtps2pd xmm2, xmm0
movsd xmm0, qword [0x4ae100]
mov eax, dword [0x4ae3e8]
subsd xmm2, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
subsd xmm2, xmm0
movss xmm0, dword [0x4ae2f0]
subss xmm1, xmm0
movsd xmm0, qword [0x4ae100]
addsd xmm0, xmm4
cvtps2pd xmm1, xmm1
movsd qword [0x4ae100], xmm0
comisd xmm1, xmm2
jbe 0x440f1a
movss xmm2, dword [0x4ae484]
subss xmm2, dword [0x4ae078]
movss xmm0, dword [0x4ae078]
movss xmm1, dword [0x4a3c3c]
addss xmm0, xmm3
comiss xmm1, xmm2
movss dword [0x4ae078], xmm0
jbe 0x440fba
inc dword [0x4ae1a0]
mov eax, dword [0x4ae1a0]
movss xmm0, dword [0x4ae2f0]
jmp 0x440fba
movsx eax, word [0x4ae020]
mov ecx, 0x14d55228
dec word [0x4ae020]
sub ecx, eax
cmp ecx, 0x8e29c0bd
jge 0x440f56
inc dword [0x4ae07c]
mov eax, dword [section..data]
mov ax, word [0x4ae31c]
mov eax, dword [0x4ae07c]
dec word [0x4ae31c]
jmp 0x440fba
movsd xmm0, qword [0x4ae0c0]
subsd xmm0, xmm4
movsd qword [0x4ae0c0], xmm0
movss xmm0, dword [0x4ae3ec]
subss xmm0, dword [0x4ae26c]
movsd xmm1, qword [0x4ae0c0]
movsx eax, word [0x4ae438]
cvtps2pd xmm0, xmm0
addsd xmm1, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov word [0x4ae438], ax
movss xmm0, dword [0x4ae3ec]
subss xmm0, xmm3
movss dword [0x4ae3ec], xmm0
movss xmm0, dword [0x4ae084]
subss xmm0, xmm3
mov byte [ebp - 0x225], 0
push 0x15
push 0x111d
movss dword [0x4ae084], xmm0
movss xmm1, dword [0x4ae084]
movsx eax, word [0x4ae16c]
subss xmm1, dword [0x4a3bc0]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
addss xmm0, xmm1
cvttss2si eax, xmm0
mov word [0x4ae16c], ax
call fcn.0044a880
dec dword [0x4ae32c]
mov esi, eax
mov ecx, dword [0x4ae32c]
lea eax, [ebp - 0x224]
movsd xmm0, qword [0x4ae380]
push dword [0x4af8c4]
push dword [0x4af8ac]
movd xmm1, ecx
cvtdq2pd xmm1, xmm1
push eax
push esi
lea eax, [ebp - 0x42c]
push 0x207
push eax
subsd xmm1, xmm0
addsd xmm1, qword [0x4a02a8]
cvttsd2si ecx, xmm1
mov word [0x4ae308], cx
call fcn.00435a20
movzx eax, word [0x4ae2ec]
add esp, 0x20
movsx edx, word [0x4ae31c]
movsx ecx, ax
movzx eax, word [0x4ae020]
add edx, ecx
mov ecx, dword [0x4ae474]
inc word [0x4ae2ec]
dec word [0x4ae31c]
cwde
add ecx, eax
cmp ecx, edx
je 0x441106
movss xmm0, dword [0x4ae38c]
movsx eax, word [0x4ae174]
movss xmm2, dword [0x4a3fa4]
movss xmm3, dword [0x4a0124]
subss xmm2, xmm0
movss xmm0, dword [0x4ae38c]
movd xmm1, eax
addss xmm0, xmm3
cvtdq2ps xmm1, xmm1
movss dword [0x4ae38c], xmm0
comiss xmm2, xmm1
jb 0x441106
movsd xmm0, qword [0x4ae440]
movss xmm0, dword [0x4ae328]
movss xmm0, dword [0x4ae328]
addss xmm0, xmm3
movss dword [0x4ae328], xmm0
push esi
push 0x15
call fcn.00441fb0
movsd xmm0, qword [0x4a36d0]
push dword [0x4af8c4]
movsd qword [0x4ae100], xmm0
call fcn.004224d0
movss xmm0, dword [0x4ae13c]
lea eax, [ebp - 0x42c]
addss xmm0, dword [0x4ae084]
push eax
lea eax, [ebp - 0x11c]
push eax
cvtps2pd xmm1, xmm0
movsd xmm0, qword [0x4ae298]
addsd xmm0, xmm1
movsd qword [0x4ae298], xmm0
movss xmm0, dword [0x4ae084]
subss xmm0, dword [0x4a0124]
movss dword [0x4ae084], xmm0
call fcn.0043c010
dec dword [0x4ae500]
add esp, 0x14
movsx eax, word [0x4ae2e8]
movsd xmm1, qword [0x4ae040]
movd xmm0, eax
mov eax, dword [0x4ae500]
cvtdq2pd xmm0, xmm0
addsd xmm1, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
subsd xmm1, xmm0
ucomisd xmm1, qword [0x4a1f00]
lahf
dec word [0x4ae2e8]
test ah, 0x44
jnp 0x44120b
movsx eax, word [0x4ae4a8]
mov ecx, 0xeb7e429b
movsd xmm0, qword [0x4ae040]
sub ecx, eax
movd xmm1, ecx
cvtdq2pd xmm1, xmm1
subsd xmm1, xmm0
cvtpd2ps xmm0, xmm1
movss dword [0x4ae4fc], xmm0
movsd xmm0, qword [0x4ae040]
addsd xmm0, qword [0x4a0128]
movsd qword [0x4ae040], xmm0
push 0x208
lea eax, [ebp - 0x42c]
push 0
push eax
call fcn.0044e310
add esp, 0xc
cmp dword [0x4ae2a4], 0x157f7d79
jge 0x441237
add dword [0x4ae390], 0xd10519c9
push 0x105
lea eax, [ebp - 0x224]
push 0
push eax
call fcn.0044e310
movss xmm0, dword [0x4ae120]
add esp, 0xc
addss xmm0, dword [0x4a0124]
movss xmm1, dword [0x4a3b84]
push 0x15f90
movss dword [0x4ae120], xmm0
movss xmm0, dword [0x4ae120]
subss xmm1, xmm0
movss xmm0, dword [0x4ae19c]
mulss xmm0, xmm1
movss dword [0x4ae19c], xmm0
call dword [0x4af1dc]
mov ax, word [0x4ae024]
mov ecx, dword [0x4ae2bc]
cwde
add ecx, eax
lea eax, [ebp - 0x11c]
push eax
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
movsd qword [0x4ae038], xmm0
dec dword [0x4ae2bc]
call dword [0x4af12c]
movsx eax, word [0x4ae10c]
cmp eax, 0xefb2203b
jle 0x441305
movsd xmm1, qword [0x4ae1f0]
mov eax, dword [0x4ae314]
add eax, dword [0x4ae3e8]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
subsd xmm1, xmm0
movsd qword [0x4ae1f0], xmm1
inc dword [0x4ae3e8]
movsd xmm0, qword [0x4ae210]
mov ax, word [0x4ae154]
movsx ecx, word [0x4ae4d4]
movsd xmm2, qword [0x4a3200]
cwde
subsd xmm2, xmm0
movsd xmm0, qword [0x4ae210]
sub ecx, eax
addsd xmm0, qword [0x4a0128]
pop esi
movd xmm1, ecx
cvtdq2pd xmm1, xmm1
movsd qword [0x4ae210], xmm0
comisd xmm2, xmm1
jb 0x441368
movsd xmm0, qword [0x4ae248]
mulsd xmm0, qword [0x4a1470]
movsd qword [0x4ae248], xmm0
push 0x118
lea eax, [ebp - 0x11c]
push 0
push eax
call fcn.0044e310
movsd xmm0, qword [0x4ae0a0]
add esp, 0xc
addsd xmm0, qword [0x4a14b8]
movsd qword [0x4ae4c0], xmm0
movsd xmm0, qword [0x4ae0a0]
addsd xmm0, qword [0x4a0128]
movsd qword [0x4ae0a0], xmm0
movss xmm0, dword [0x4ae4fc]
cvtps2pd xmm1, xmm0
pop ebx
movsd xmm0, qword [0x4ae3d8]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov word [0x4ae2c8], ax
mov esp, ebp
pop ebp
ret