Function at 0x40aa80
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
movss xmm1, dword [0x4a8468]
sub esp, 0x42c
mov eax, dword [0x4a8270]
addss xmm1, dword [0x49c990]
push ebx
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mov ebx, dword [ebp + 8]
mov ecx, ebx
subss xmm1, xmm0
movsd xmm0, qword [0x4a8100]
cvtps2pd xmm1, xmm1
addsd xmm0, xmm1
movsd qword [0x4a8100], xmm0
movss xmm0, dword [0x4a8468]
subss xmm0, dword [0x49a0fc]
movss dword [0x4a8468], xmm0
call fcn.00418cb0
movsd xmm1, qword [0x49a100]
cmp eax, 0x8000
jbe 0x40b2f7
movsd xmm1, qword [0x4a81f0]
movsx eax, word [0x4a8130]
subsd xmm1, qword [0x49aef8]
push esi
push edi
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [0x4a8270], eax
mov eax, 0xffffbf5b
dec word [0x4a8130]
movsd xmm0, qword [0x4a8440]
mulsd xmm0, qword [0x49dd20]
movsd qword [0x4a8440], xmm0
mov word [0x4a8130], ax
lea eax, [ebp - 0x11c]
push eax
call fcn.004234f0
movzx ecx, word [0x4a8318]
mov esi, eax
imul ecx, ecx, 0x6a64dfc5
mov word [0x4a8318], cx
call fcn.0041eb70
movzx ecx, al
and ecx, 0x80000003
jns 0x40ab85
dec ecx
or ecx, 0xfffffffc
inc ecx
add ecx, 7
lea eax, [ebp - 0x11c]
push ecx
add eax, esi
push eax
call fcn.004235d0
push 5
push 0x16d4
call fcn.0042f440
movsx ecx, word [0x4a8094]
add esp, 0x14
mov dword [ebp - 4], eax
cmp ecx, 0x12f53f7d
je 0x40abfd
inc word [0x4a80f4]
movss xmm0, dword [0x4a8388]
movsx ecx, word [0x4a80f4]
cvtps2pd xmm2, xmm0
movsd xmm0, qword [0x4a8010]
movd xmm1, ecx
cvtdq2pd xmm1, xmm1
subsd xmm1, xmm0
subsd xmm1, qword [0x49d908]
subsd xmm2, xmm1
cvtpd2ps xmm0, xmm2
movss dword [0x4a8388], xmm0
mov edx, eax
mov esi, eax
mov al, byte [edx]
inc edx
test al, al
jne 0x40ac01
lea edi, [ebp - 0x11c]
sub edx, esi
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x40ac11
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]
inc word [0x4a8180]
movsd xmm1, qword [0x4a8448]
movsx eax, word [0x4a8180]
push 3
push 0x16cf
movd xmm0, eax
cvtdq2pd xmm0, xmm0
subsd xmm1, xmm0
movsd qword [0x4a8448], xmm1
call fcn.0042f440
movsd xmm0, qword [0x4a8350]
mov esi, eax
movsd xmm1, qword [0x49d3d8]
push dword [ebp - 4]
subsd xmm1, xmm0
push 5
cvttsd2si ecx, xmm1
mov dword [0x4a80a0], ecx
movsd xmm0, qword [0x4a8350]
subsd xmm0, qword [0x49a100]
movsd qword [0x4a8350], xmm0
call fcn.004048b0
movss xmm0, dword [0x4a83d4]
movsd xmm1, qword [0x4a8100]
mov eax, dword [0x4a8420]
cvtps2pd xmm0, xmm0
push esi
addsd xmm1, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
subsd xmm1, qword [0x49bd58]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [0x4a8420], eax
lea eax, [ebp - 0x11c]
movsd xmm0, qword [0x4a8100]
addsd xmm0, qword [0x49a100]
push eax
movsd qword [0x4a8100], xmm0
call fcn.00454a3e
movsd xmm0, qword [0x4a8308]
mov edi, eax
subsd xmm0, qword [0x49a100]
push esi
push 3
movsd qword [0x4a8308], xmm0
movsd xmm1, qword [0x4a8308]
mov ecx, dword [0x4a8174]
addsd xmm1, qword [0x49a5b8]
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [0x4a8174], eax
call fcn.004048b0
mov ax, word [0x4a8334]
add esp, 0x20
movsx ecx, ax
mov eax, dword [0x4a8374]
add eax, 0x4bdcbf18
add eax, ecx
mov word [0x4a8334], ax
test edi, edi
je 0x40b282
movss xmm2, dword [0x4a8008]
mov ax, word [0x4a8428]
mov ecx, dword [0x4a83d8]
movss xmm1, dword [0x4a8300]
subss xmm2, dword [0x49cb48]
dec word [0x4a8428]
inc dword [0x4a83d8]
cwde
sub ecx, eax
addss xmm2, dword [0x49cadc]
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
addss xmm1, xmm0
movss xmm0, dword [0x4a8008]
subss xmm0, dword [0x49a0fc]
comiss xmm2, xmm1
movss dword [0x4a8008], xmm0
jbe 0x40adff
mov eax, dword [0x4a81c4]
movss xmm0, dword [0x4a82b0]
sub eax, 0x5ac288d4
movd xmm1, eax
cvtdq2ps xmm1, xmm1
addss xmm0, xmm1
movss dword [0x4a82b0], xmm0
dec dword [0x4a81c4]
movsx eax, word [0x4a81a4]
mov ecx, ebx
add eax, 0x7d288ab7
push edi
push 1
movd xmm0, eax
cvtdq2pd xmm0, xmm0
movsd qword [0x4a84c8], xmm0
dec word [0x4a81a4]
call fcn.00418cb0
push eax
mov ecx, ebx
call fcn.00406ea0
push eax
call fcn.00454d6a
movss xmm0, dword [0x4a8584]
add esp, 0x10
movss xmm2, dword [0x49a0fc]
addss xmm0, xmm2
movss dword [0x4a8584], xmm0
movss xmm0, dword [0x4a825c]
subss xmm0, dword [0x49c6cc]
movss xmm1, dword [0x4a8584]
movsx eax, word [0x4a8514]
dec word [0x4a8514]
addss xmm1, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
comiss xmm1, xmm0
jbe 0x40af08
inc word [0x4a84e4]
mov ecx, 0x6713b94e
movsx eax, word [0x4a84e4]
sub ecx, eax
cmp ecx, 0x179d7fa
jle 0x40aecd
movss xmm0, dword [0x4a825c]
cvtps2pd xmm1, xmm0
movsd xmm0, qword [0x4a8528]
mulsd xmm0, xmm1
movsd qword [0x4a8528], xmm0
jmp 0x40af08
movss xmm0, dword [0x4a8090]
movsd xmm1, qword [0x4a80d0]
cvtps2pd xmm0, xmm0
addsd xmm1, xmm0
subsd xmm1, qword [0x49d0d0]
movsd qword [0x4a83e8], xmm1
movss xmm0, dword [0x4a8090]
addss xmm0, xmm2
movss dword [0x4a8090], xmm0
push edi
call fcn.0045444f
movsd xmm0, qword [0x4a8010]
add esp, 4
addsd xmm0, qword [0x49a100]
movsd xmm1, qword [0x49a5d0]
mov ecx, ebx
movsd qword [0x4a8010], xmm0
movsd xmm0, qword [0x4a8010]
movsx eax, word [0x4a82d8]
subsd xmm1, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov word [0x4a82d8], ax
call fcn.00424e90
movzx eax, word [0x4a8114]
add eax, 0x61413fe6
mov byte [ebp - 0x120], 0
mov word [0x4a8114], ax
lea eax, [ebp - 0x224]
add dword [0x4a8304], 0x827760f2
push 0x104
push eax
push 0
call dword [0x4a909c]
movzx eax, word [0x4a826c]
movsx ecx, ax
movsx eax, word [0x4a81b8]
add eax, 0x2f8f3471
add eax, ecx
mov dword [0x4a8568], eax
inc word [0x4a81b8]
movss xmm0, dword [0x4a8090]
mov byte [ebp - 0x225], 0
movss dword [0x4a8088], xmm0
movss xmm0, dword [0x4a8090]
subss xmm0, dword [0x49a0fc]
push 0x15
push 0x234e
movss dword [0x4a8090], xmm0
call fcn.0042f440
movzx ecx, word [0x4a8218]
mov esi, eax
push dword [0x4a97dc]
lea eax, [ebp - 0x224]
imul ecx, ecx, 0x35654d89
push dword [0x4a97c4]
push eax
push esi
lea eax, [ebp - 0x42c]
mov word [0x4a8218], cx
push 0x207
push eax
call fcn.004062e0
dec dword [0x4a8054]
mov eax, dword [0x4a8054]
movsd xmm0, qword [0x4a8078]
sub eax, 0x667a88d
push esi
push 0x15
movd xmm1, eax
cvtdq2pd xmm1, xmm1
mulsd xmm0, xmm1
movsd qword [0x4a8078], xmm0
call fcn.004048b0
inc word [0x4a8190]
inc dword [0x4a8068]
mov eax, dword [0x4a8068]
mov eax, dword [0x4a8054]
mov ax, word [0x4a8190]
push dword [0x4a97dc]
call fcn.00431d70
movsd xmm0, qword [0x4a84a8]
subsd xmm0, qword [0x49a100]
movsd qword [0x4a84a8], xmm0
mov eax, dword [0x4a8270]
movsd xmm0, qword [0x4a84a8]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [0x4a8270], eax
lea eax, [ebp - 0x42c]
push eax
lea eax, [ebp - 0x11c]
push eax
call fcn.0042fb80
movsx eax, word [0x4a802c]
movss xmm0, dword [0x4a8488]
sub eax, 0xd5725b
push 0x208
push 0
movd xmm1, eax
lea eax, [ebp - 0x42c]
cvtdq2ps xmm1, xmm1
push eax
addss xmm0, xmm1
movss dword [0x4a8488], xmm0
call fcn.00449030
movss xmm0, dword [0x4a8584]
add esp, 0x40
addss xmm0, dword [0x49a0fc]
movss dword [0x4a8584], xmm0
mov eax, dword [0x4a8420]
movsd xmm0, qword [0x4a8100]
movd xmm2, eax
cvtdq2pd xmm2, xmm2
subsd xmm2, xmm0
movss xmm0, dword [0x4a80f8]
mov eax, dword [0x4a8414]
movss xmm1, dword [0x4a8584]
cvtps2pd xmm0, xmm0
subsd xmm2, xmm0
movd xmm0, eax
movsx eax, word [0x4a8310]
cvtdq2ps xmm0, xmm0
addss xmm1, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
subss xmm1, xmm0
cvtps2pd xmm0, xmm1
ucomisd xmm2, xmm0
movss xmm0, dword [0x4a80f8]
addss xmm0, dword [0x49a0fc]
lahf
movss dword [0x4a80f8], xmm0
dec dword [0x4a8420]
test ah, 0x44
jp 0x40b1ea
movsx eax, word [0x4a802c]
movsd xmm0, qword [0x4a8528]
movsd xmm1, qword [0x49d538]
subsd xmm1, xmm0
movsd xmm0, qword [0x4a84c8]
movd xmm2, eax
cvtdq2pd xmm2, xmm2
subsd xmm1, xmm0
subsd xmm2, xmm1
cvttsd2si eax, xmm2
mov word [0x4a802c], ax
push 0x105
lea eax, [ebp - 0x224]
push 0
push eax
call fcn.00449030
add dword [0x4a8170], 0xcb5b7cee
add esp, 0xc
push 0x15f90
call dword [0x4a90f8]
mov eax, 0xffffb75b
mov word [0x4a81a0], ax
lea eax, [ebp - 0x11c]
push eax
call dword [0x4a9048]
movsd xmm1, qword [0x4a8250]
mov eax, dword [0x4a83fc]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
subsd xmm1, xmm0
movsd xmm0, qword [0x49d7a0]
subsd xmm1, qword [0x49b130]
comisd xmm0, xmm1
jb 0x40b282
movsd xmm1, qword [0x4a84b8]
addsd xmm1, qword [0x49a418]
movsd xmm0, qword [0x4a8530]
subsd xmm1, xmm0
cvttsd2si eax, xmm1
mov word [0x4a836c], ax
mov eax, 0x7fd5
push 0x118
mov word [0x4a839c], ax
lea eax, [ebp - 0x11c]
push 0
push eax
call fcn.00449030
movss xmm0, dword [0x4a825c]
add esp, 0xc
subss xmm0, dword [0x49a0fc]
pop edi
pop esi
movss dword [0x4a825c], xmm0
mov ax, word [0x4a8114]
mov ecx, dword [0x4a808c]
movss xmm0, dword [0x4a825c]
cwde
sub ecx, eax
movd xmm1, ecx
cvtdq2ps xmm1, xmm1
addss xmm0, xmm1
movsd xmm1, qword [0x49a100]
cvttss2si eax, xmm0
mov word [section..data], ax
dec dword [0x4a808c]
movsd xmm0, qword [0x4a8340]
subsd xmm0, xmm1
pop ebx
movsd qword [0x4a8340], xmm0
movsd xmm0, qword [0x4a8340]
subsd xmm0, qword [0x49a8b0]
comisd xmm0, xmmword [0x49d2e8]
jbe 0x40b369
movsd xmm0, qword [0x4a8588]
addsd xmm0, xmm1
movsd xmm1, qword [0x49b3e0]
movsd qword [0x4a8588], xmm0
movsd xmm0, qword [0x4a8588]
subsd xmm1, xmm0
movss xmm0, dword [0x4a81d4]
cvtps2pd xmm0, xmm0
mulsd xmm0, xmm1
cvtpd2ps xmm0, xmm0
movss dword [0x4a81d4], xmm0
mov esp, ebp
pop ebp
ret