Function at 0x40d6c0
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
movsd xmm1, qword [0x4a7368]
addsd xmm1, qword [0x49bbd0]
movsd xmm0, qword [0x49a670]
subsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [0x4a72c4], eax
movsd xmm0, qword [0x4a7400]
cmp dword [0x4a895c], 0
subsd xmm0, qword [0x49cbd0]
cvttsd2si eax, xmm0
mov word [0x4a7208], ax
jne 0x40d7a3
movsd xmm0, qword [0x4a72a8]
addsd xmm0, qword [0x499af0]
movsd qword [0x4a72a8], xmm0
movss xmm0, dword [0x4a7448]
cvtps2pd xmm1, xmm0
movsd xmm0, qword [0x4a72a8]
addsd xmm0, qword [0x49b538]
subsd xmm0, qword [0x49b738]
subsd xmm1, xmm0
cvtpd2ps xmm0, xmm1
movss dword [0x4a7448], xmm0
call fcn.00411290
mov dword [0x4a895c], eax
movsx eax, word [0x4a724c]
movss xmm1, dword [0x4a7484]
add eax, 0x4547af51
movd xmm0, eax
mov eax, dword [0x4a71dc]
cvtdq2ps xmm0, xmm0
addss xmm1, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
cvttss2si eax, xmm0
mov dword [0x4a71dc], eax
inc word [0x4a724c]
movsd xmm1, qword [0x4a71f0]
movsx eax, word [0x4a7524]
subsd xmm1, qword [0x49a9e0]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
subsd xmm1, xmm0
comisd xmm1, xmmword [0x49d3f0]
jb 0x40d7e8
movsd xmm0, qword [0x4a73a8]
subsd xmm0, qword [0x49b7a0]
movsd qword [0x4a73a8], xmm0
push esi
push edi
push 3
push 0x2e95
call fcn.004421e0
mov ecx, dword [0x4a70c8]
mov esi, eax
movsd xmm0, qword [0x4a7370]
push esi
push dword [ebp + 8]
movd xmm1, ecx
cvtdq2pd xmm1, xmm1
subsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [0x4a70c8], ecx
call fcn.0045443e
imul ecx, dword [0x4a725c], 0x7428a296
mov edi, eax
push esi
push 3
mov dword [0x4a725c], ecx
call fcn.0041de00
movss xmm0, dword [0x4a7278]
add esp, 0x18
cvttss2si ecx, xmm0
mov word [0x4a7114], cx
test edi, edi
jne 0x40d9b1
movss xmm2, dword [0x4a7034]
movss xmm0, dword [0x4a7034]
subss xmm2, dword [0x49bfe0]
subss xmm0, dword [0x499ae8]
movss xmm1, dword [0x49c4b8]
comiss xmm1, xmm2
movss dword [0x4a7034], xmm0
jb 0x40d8b6
movsd xmm1, qword [0x4a7340]
movsd xmm0, qword [0x4a7510]
subsd xmm0, qword [0x49bd30]
subsd xmm1, xmm0
movsd qword [0x4a7340], xmm1
push 0x3e8
call dword [0x4a8098]
movsd xmm0, qword [0x4a7340]
subsd xmm0, qword [0x499af0]
movsd xmm1, qword [0x49d250]
push 3
push 0x2e95
movsd qword [0x4a7340], xmm0
movsd xmm0, qword [0x4a7340]
mov eax, dword [0x4a7388]
subsd xmm1, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
subsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [0x4a7494], eax
call fcn.004421e0
mov esi, eax
mov dword [0x4a7304], 0xce0a3bd2
push esi
push dword [ebp + 8]
call fcn.0045443e
inc dword [0x4a733c]
mov edi, eax
mov cx, word [0x4a74e0]
mov eax, dword [0x4a70a0]
movsx ecx, cx
add eax, ecx
mov ecx, dword [0x4a733c]
add ecx, eax
push esi
push 3
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
movss dword [0x4a701c], xmm0
inc dword [0x4a70a0]
inc word [0x4a74e0]
call fcn.0041de00
movsx eax, word [0x4a74e4]
add esp, 0x18
movsd xmm1, qword [0x4a7158]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm1, xmm0
movsd xmm0, qword [0x4a71a0]
mov eax, dword [0x4a71dc]
subsd xmm1, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [0x4a71dc], eax
movsd xmm1, qword [0x4a7508]
movsd xmm0, qword [0x4a7450]
addsd xmm0, qword [0x49bd28]
subsd xmm1, xmm0
movsd qword [0x4a72a8], xmm1
movsd xmm0, qword [0x4a7508]
addsd xmm0, qword [0x499af0]
movsd qword [0x4a7508], xmm0
test edi, edi
je 0x40da5b
movzx eax, word [0x4a7210]
mov ecx, dword [0x4a7124]
cwde
sub ecx, eax
movzx eax, word [0x4a724c]
imul eax, ecx
push edi
push 1
push 4
push 0x4a895c
mov word [0x4a724c], ax
inc word [0x4a7210]
dec dword [0x4a7124]
call fcn.0045476a
add dword [0x4a7174], 0xd393b1f1
push edi
call fcn.00453e4f
add esp, 0x14
inc dword [0x4a7324]
mov eax, dword [0x4a7324]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
movsd qword [0x4a7318], xmm0
mov ax, word [0x4a74e0]
mov ecx, dword [0x4a7080]
cwde
imul ecx, eax
pop edi
pop esi
mov dword [0x4a7080], ecx
pop ebp
ret