Function at 0x437db0
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
movsd xmm0, qword [0x4ad420]
sub esp, 0x428
subsd xmm0, qword [0x49eff0]
mov ecx, dword [ebp + 8]
movsd qword [0x4ad420], xmm0
movsd xmm1, qword [0x4ad420]
addsd xmm1, qword [0x49fae8]
movsd xmm0, qword [0x4ad218]
mulsd xmm0, xmm1
movsd qword [0x4ad218], xmm0
call fcn.00444710
cmp eax, 0x8000
jbe 0x4385ef
movsd xmm0, qword [0x4ad2a0]
mov ecx, 0x540f49a4
subsd xmm0, qword [0x4a2030]
movsd qword [0x4ad2a0], xmm0
movss xmm0, dword [0x4ad50c]
subss xmm0, dword [0x4a15d4]
cvtps2pd xmm1, xmm0
movsd xmm0, qword [0x4ad148]
mulsd xmm0, xmm1
movsd qword [0x4ad148], xmm0
movss xmm1, dword [0x4ad354]
mov eax, dword [0x4ad2e8]
subss xmm1, dword [0x4a185c]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
cvttss2si eax, xmm0
mov dword [0x4ad2e8], eax
movsx eax, word [0x4ad62c]
movsd xmm1, qword [0x4ad290]
sub ecx, eax
mov eax, dword [0x4ad018]
dec word [0x4ad62c]
add eax, ecx
inc dword [0x4ad018]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
comisd xmm0, xmm1
jb 0x437ef4
movsd xmm1, qword [0x4ad2f8]
movsx eax, word [0x4ad30c]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
subsd xmm1, xmm0
movsd xmm0, qword [0x4a1ca0]
comisd xmm0, xmm1
jbe 0x437ef4
movss xmm0, dword [0x4ad61c]
cvtps2pd xmm1, xmm0
movsd xmm0, qword [0x4ad058]
subsd xmm1, xmm0
cvtpd2ps xmm0, xmm1
movss dword [0x4ad61c], xmm0
push esi
lea eax, [ebp - 0x118]
push edi
push eax
call fcn.00436b80
mov ecx, dword [0x4ad24c]
add esp, 4
movsd xmm0, qword [0x4ad448]
add ecx, 0xb13d0d7
mov esi, eax
movd xmm1, ecx
cvtdq2pd xmm1, xmm1
subsd xmm1, xmm0
movsd xmm0, qword [0x4ad448]
subsd xmm0, qword [0x49eff0]
ucomisd xmm1, qword [0x4a1f08]
movsd qword [0x4ad448], xmm0
lahf
inc dword [0x4ad24c]
test ah, 0x44
jp 0x437f91
movss xmm1, dword [0x4ad320]
movss xmm0, dword [0x4ad28c]
subss xmm0, dword [0x4ad39c]
subss xmm1, xmm0
movss dword [0x4ad320], xmm1
movss xmm0, dword [0x4ad28c]
subss xmm0, dword [0x49efec]
movss dword [0x4ad28c], xmm0
jmp 0x437fbc
mov ax, word [0x4ad184]
movss xmm1, dword [0x4ad4c0]
movsx ecx, ax
mov eax, dword [0x4ad458]
sub ecx, eax
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
subss xmm1, xmm0
movss dword [0x4ad4c0], xmm1
push ebx
call fcn.004228b0
movzx eax, al
and eax, 0x80000003
jns 0x437fd1
dec eax
or eax, 0xfffffffc
inc eax
add eax, 7
push eax
lea eax, [ebp - 0x118]
add eax, esi
push eax
call fcn.00448880
mov eax, dword [0x4ad1e8]
mov ecx, 0x8ac6159a
sub ecx, eax
movzx eax, word [0x4ad5cc]
imul eax, ecx
push 5
push 0x2062
mov word [0x4ad5cc], ax
call fcn.0043d340
movsx ecx, word [0x4ad0b8]
mov edx, 0x6a31f6a4
sub edx, ecx
add esp, 0x10
add dword [0x4ad2e0], edx
mov ebx, eax
mov edx, ebx
mov esi, ebx
mov al, byte [edx]
inc edx
test al, al
jne 0x438028
lea edi, [ebp - 0x118]
sub edx, esi
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x438038
mov eax, dword [0x4ad1b4]
mov ecx, edx
shr ecx, 2
add eax, 0xdfeb5a88
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
movzx ecx, word [0x4ad538]
imul ecx, eax
push 3
push 0x36c5
mov word [0x4ad538], cx
call fcn.0043d340
add dword [0x4ad578], 0xb423030b
mov esi, eax
push ebx
push 5
call fcn.0041f300
movss xmm1, dword [0x4ad180]
movsx eax, word [0x4ad41c]
addss xmm1, dword [0x4a14c8]
push esi
movd xmm0, eax
cvtdq2ps xmm0, xmm0
subss xmm1, dword [0x4a1b0c]
addss xmm0, xmm1
cvttss2si eax, xmm0
mov word [0x4ad41c], ax
lea eax, [ebp - 0x118]
push eax
call fcn.00459d92
movzx ecx, word [0x4ad694]
mov edi, eax
sub ecx, 0x6aef037d
push esi
push 3
mov word [0x4ad694], cx
call fcn.0041f300
dec dword [0x4ad1a4]
add esp, 0x20
movss xmm0, dword [0x4ad678]
mov eax, dword [0x4ad1a4]
cvtps2pd xmm2, xmm0
pop ebx
movsd xmm0, qword [0x4ad058]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
subsd xmm1, xmm0
movss xmm0, dword [0x4ad014]
cvtps2pd xmm0, xmm0
subsd xmm1, xmm0
subsd xmm2, xmm1
cvtpd2ps xmm0, xmm2
movss dword [0x4ad678], xmm0
test edi, edi
je 0x43856e
movsd xmm0, qword [0x4ad358]
subsd xmm0, qword [0x49eff0]
movsd qword [0x4ad358], xmm0
movsd xmm0, qword [0x4ad358]
ucomisd xmm0, qword [0x4a03a8]
lahf
test ah, 0x44
jnp 0x438188
mov ax, word [0x4ad348]
movzx ecx, word [0x4ad5d0]
cwde
sub ecx, eax
add ecx, 0x23adca18
mov word [0x4ad5d0], cx
movsx eax, word [0x4ad41c]
movsd xmm0, qword [0x4ad4b0]
mov esi, dword [ebp + 8]
mov ecx, esi
push edi
movd xmm1, eax
cvtdq2pd xmm1, xmm1
push 1
mulsd xmm0, xmm1
movsd qword [0x4ad4b0], xmm0
call fcn.00444710
push eax
mov ecx, esi
call fcn.004089b0
push eax
call fcn.0045a0be
movsd xmm0, qword [0x4ad0b0]
subsd xmm0, qword [0x49eff0]
push edi
movsd qword [0x4ad0b0], xmm0
movsx eax, word [0x4ad610]
movsd xmm0, qword [0x4ad0b0]
sub eax, 0x3c72e078
movd xmm1, eax
cvtdq2pd xmm1, xmm1
subsd xmm1, xmm0
movss xmm0, dword [0x4ad140]
cvtps2pd xmm0, xmm0
addsd xmm0, xmm1
cvtpd2ps xmm0, xmm0
movss dword [0x4ad140], xmm0
call fcn.004597a3
movss xmm0, dword [0x4ad120]
add esp, 0x14
subss xmm0, dword [0x49efec]
mov ecx, esi
movss dword [0x4ad120], xmm0
movss xmm0, dword [0x4ad494]
movsd xmm1, qword [0x4ad368]
cvtps2pd xmm0, xmm0
addsd xmm1, xmm0
movss xmm0, dword [0x4ad120]
mov eax, dword [0x4ad158]
cvtps2pd xmm2, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm2, xmm1
addsd xmm0, xmm2
cvttsd2si eax, xmm0
mov dword [0x4ad158], eax
call fcn.00437cd0
mov ecx, dword [0x4ad690]
mov eax, dword [0x4ad570]
add ecx, 0x28e5f83f
add eax, ecx
mov byte [ebp - 0x11c], 0
mov dword [0x4ad570], eax
mov eax, dword [0x4ad568]
sub eax, 0x6666fd41
push 0x104
movd xmm0, eax
lea eax, [ebp - 0x220]
cvtdq2pd xmm0, xmm0
push eax
push 0
movsd qword [0x4ad228], xmm0
inc dword [0x4ad568]
call dword [0x4ae310]
movzx eax, word [0x4ad518]
add eax, 0x4e5a8865
mov byte [ebp - 0x221], 0
mov word [0x4ad518], ax
movsd xmm0, qword [0x4ad498]
subsd xmm0, qword [0x49f3c8]
push 0x15
push 0x1089
movsd qword [0x4ad498], xmm0
call fcn.0043d340
add esp, 8
mov esi, eax
dec dword [0x4ad0a4]
mov ecx, dword [0x4ad68c]
sub ecx, 0x27051b96
movd xmm2, ecx
mov ecx, dword [0x4ad0a4]
movss xmm1, dword [0x4ad238]
movsx eax, word [0x4ad65c]
cvtdq2ps xmm2, xmm2
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
addss xmm1, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
subss xmm1, xmm0
ucomiss xmm2, xmm1
lahf
dec word [0x4ad65c]
test ah, 0x44
jp 0x438386
movss xmm0, dword [0x4ad404]
subss xmm0, dword [0x4a2a70]
cvttss2si eax, xmm0
mov word [0x4ad054], ax
jmp 0x4383ae
movsd xmm1, qword [0x4ad1f8]
movsx eax, word [0x4ad064]
sub eax, 0x532b8c81
movd xmm0, eax
cvtdq2pd xmm0, xmm0
subsd xmm1, xmm0
movsd qword [0x4ad1f8], xmm1
push dword [0x4aea54]
lea eax, [ebp - 0x220]
push dword [0x4aea3c]
push eax
push esi
lea eax, [ebp - 0x428]
push 0x207
push eax
call fcn.00442c20
movzx eax, word [0x4ad474]
cwde
add dword [0x4ad2f0], eax
push esi
push 0x15
call fcn.0041f300
inc dword [0x4ad4d4]
movzx eax, word [0x4ad518]
mov ecx, dword [0x4ad4d4]
push dword [0x4aea54]
cwde
add ecx, eax
mov word [0x4ad518], cx
call fcn.00422f50
movsd xmm0, qword [0x4ad3d8]
lea eax, [ebp - 0x428]
mulsd xmm0, qword [0x49f4a8]
push eax
lea eax, [ebp - 0x118]
push eax
movsd qword [0x4ad3d8], xmm0
call fcn.004306f0
movss xmm0, dword [0x4ad5c4]
lea eax, [ebp - 0x428]
subss xmm0, dword [0x4a105c]
push 0x208
push 0
push eax
movss dword [0x4ad5c4], xmm0
call fcn.0044c5c0
movzx eax, word [0x4ad3a8]
add esp, 0x38
movsx ecx, ax
mov eax, dword [0x4ad264]
add eax, 0x21ad0d14
add ecx, eax
movsx eax, word [0x4ad230]
dec dword [0x4ad264]
sub eax, 0x4238abf1
cmp eax, ecx
je 0x4384ae
movsd xmm0, qword [0x4ad560]
mulsd xmm0, qword [0x49fae0]
movsd qword [0x4ad560], xmm0
push 0x105
lea eax, [ebp - 0x220]
push 0
push eax
call fcn.0044c5c0
mov eax, dword [0x4ad100]
add esp, 0xc
add eax, 0x3b3d64c7
cmp eax, 0xbe782d1c
jge 0x438507
movsd xmm0, qword [0x4ad668]
addsd xmm0, qword [0x49f818]
cvttsd2si eax, xmm0
mov word [0x4ad338], ax
movsd xmm0, qword [0x4ad668]
subsd xmm0, qword [0x49eff0]
movsd qword [0x4ad668], xmm0
push 0x15f90
call dword [0x4ae36c]
movsx eax, word [0x4ad528]
inc word [0x4ad528]
cmp eax, 0x639130aa
jg 0x438533
movsx eax, word [0x4ad18c]
mov dword [0x4ad458], eax
lea eax, [ebp - 0x118]
push eax
call dword [0x4ae2bc]
inc word [0x4ad644]
movsx eax, word [0x4ad644]
movss xmm0, dword [0x4ad0f8]
add eax, 0x6ebe3cc4
movd xmm1, eax
cvtdq2ps xmm1, xmm1
addss xmm0, xmm1
movss dword [0x4ad0f8], xmm0
movsd xmm0, qword [0x4ad4b0]
addsd xmm0, qword [0x4a0950]
movsd xmm1, qword [0x49f200]
pop edi
pop esi
subsd xmm1, xmm0
movsd xmm0, qword [0x4a2058]
ucomisd xmm0, xmm1
lahf
test ah, 0x44
jp 0x4385b6
movsd xmm0, qword [0x4ad5e8]
subsd xmm0, qword [0x4a0828]
movsd qword [0x4ad600], xmm0
push 0x118
lea eax, [ebp - 0x118]
push 0
push eax
call fcn.0044c5c0
movss xmm0, dword [0x4ad5c4]
add esp, 0xc
subss xmm0, dword [0x4a1b80]
subss xmm0, dword [0x4a17f0]
cvtps2pd xmm0, xmm0
movsd qword [0x4ad118], xmm0
movss xmm1, dword [0x4ad508]
subss xmm1, dword [0x4a1a7c]
movss xmm0, dword [0x4ad508]
subss xmm0, dword [0x49efec]
addss xmm1, dword [0x4a18a8]
movss dword [0x4ad508], xmm0
comiss xmm1, dword [0x4a278c]
jbe 0x438679
dec word [0x4ad350]
movsx ecx, word [0x4ad350]
movsx eax, word [0x4ad5d0]
add ecx, 0xc3dba23b
dec word [0x4ad5d0]
add eax, 0x216d6ab8
cmp eax, ecx
jge 0x438679
movss xmm0, dword [0x4ad500]
movss xmm1, dword [0x4a28cc]
subss xmm1, xmm0
subss xmm1, dword [0x4a2c44]
cvttss2si eax, xmm1
mov word [0x4ad2c8], ax
mov esp, ebp
pop ebp
ret