Function at 0x41ecd0
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
mov eax, dword [0x4ad324]
sub esp, 0x42c
movsd xmm0, qword [0x4ad070]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
push ebx
mov ebx, dword [ebp + 8]
mov ecx, ebx
subsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [0x4ad3a8], eax
call fcn.0043cb60
cmp eax, 0x8000
jbe 0x41f6f4
movsd xmm1, qword [0x4ad128]
movss xmm0, dword [0x4ad44c]
addss xmm0, dword [0x4a1318]
subss xmm0, dword [0x4a1c20]
cvtps2pd xmm0, xmm0
comisd xmm1, xmm0
jb 0x41ed76
dec word [0x4ad2b0]
movsx eax, word [0x4ad2b0]
mov ecx, dword [0x4ad3e8]
add eax, 0xa05e642c
movss xmm0, dword [0x4ad410]
add ecx, eax
movd xmm1, ecx
cvtdq2ps xmm1, xmm1
addss xmm0, xmm1
movss dword [0x4ad410], xmm0
inc dword [0x4ad3e8]
mov eax, dword [0x4ad2b8]
mov ecx, 0xb7ff6bb3
sub ecx, eax
mov eax, dword [0x4ad3e4]
inc dword [0x4ad2b8]
add eax, ecx
dec dword [0x4ad3e4]
cmp eax, 0xd9d70e49
jne 0x41edc8
movsd xmm1, qword [0x4ad490]
subsd xmm1, qword [0x49fa28]
movsd xmm0, qword [0x4ad1a8]
subsd xmm1, qword [0x4a2128]
mulsd xmm0, xmm1
movsd qword [0x4ad1a8], xmm0
movsd xmm2, qword [0x4ad498]
movsd xmm1, qword [0x4ad318]
movsx eax, word [0x4ad02c]
addsd xmm2, qword [0x49fe18]
push esi
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm2
subsd xmm1, xmm0
movsd qword [0x4ad318], xmm1
movsd xmm0, qword [0x4ad150]
subsd xmm0, qword [0x49f180]
movsd qword [0x4ad150], xmm0
movsd xmm0, qword [0x4ad150]
cvttsd2si eax, xmm0
mov dword [0x4ad458], eax
lea eax, [ebp - 0x11c]
push eax
call fcn.00438d70
movsd xmm0, qword [0x4ad428]
mov esi, eax
mov ecx, dword [str._jE]
subsd xmm0, qword [0x4a0c28]
movd xmm1, ecx
mov ecx, dword [0x4ad3e4]
cvtdq2pd xmm1, xmm1
addsd xmm1, xmm0
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [0x4ad3e4], eax
inc dword [str._jE]
call fcn.0044a120
movzx eax, al
and eax, 0x80000003
jns 0x41ee8e
dec eax
or eax, 0xfffffffc
inc eax
add eax, 7
push eax
lea eax, [ebp - 0x11c]
add eax, esi
push eax
call fcn.004348d0
movsd xmm0, qword [0x4ad318]
movsd xmm1, qword [0x49f1d0]
subsd xmm1, xmm0
movsd xmm0, qword [0x4ad230]
push 5
push 0x147a
mulsd xmm0, xmm1
movsd qword [0x4ad230], xmm0
movsd xmm0, qword [0x4ad318]
subsd xmm0, qword [0x49f180]
movsd qword [0x4ad318], xmm0
call fcn.00420e30
mov ecx, dword [0x4ad3b0]
mov edx, eax
movsd xmm1, qword [0x4ad030]
add esp, 0x14
movss xmm0, dword [0x4ad374]
mov esi, edx
subsd xmm1, qword [0x4a0cd0]
cvtps2pd xmm0, xmm0
mov dword [ebp - 4], edx
movss xmm3, dword [0x49f178]
movd xmm2, ecx
addsd xmm0, xmm1
cvtdq2pd xmm2, xmm2
subsd xmm2, xmm0
cvttsd2si eax, xmm2
movsd xmm2, qword [0x49f180]
mov dword [0x4ad3b0], eax
movss xmm0, dword [0x4ad374]
subss xmm0, xmm3
movss dword [0x4ad374], xmm0
movsd xmm0, qword [0x4ad030]
subsd xmm0, xmm2
movsd qword [0x4ad030], xmm0
mov al, byte [edx]
inc edx
test al, al
jne 0x41ef68
push edi
lea edi, [ebp - 0x11c]
sub edx, esi
dec edi
nop dword [eax]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x41ef80
movsd xmm0, qword [0x4ad520]
mov ecx, edx
shr ecx, 2
addsd xmm0, xmm2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
movsd qword [0x4ad520], xmm0
movsd xmm1, qword [0x4ad520]
movss xmm0, dword [0x4ad024]
addsd xmm1, qword [0x49f198]
cvtps2pd xmm0, xmm0
comisd xmm0, xmm1
jb 0x41f025
dec word [0x4ad4f8]
movsx eax, word [0x4ad4f8]
cmp eax, 0xe2112fe
je 0x41f025
inc word [0x4ad028]
movsd xmm0, qword [0x4ad070]
addsd xmm0, xmm2
movsd qword [0x4ad070], xmm0
movss xmm0, dword [0x4ad478]
movsd xmm0, qword [0x4ad070]
mov ax, word [0x4ad028]
movss xmm0, dword [0x4ad478]
addss xmm0, xmm3
movss dword [0x4ad478], xmm0
push 3
push 0x3b5c
call fcn.00420e30
movsd xmm0, qword [0x4ad2f8]
add esp, 8
addsd xmm0, qword [0x49f180]
mov edi, eax
movsd qword [0x4ad2f8], xmm0
movsx ecx, word [0x4ad32c]
movsd xmm0, qword [0x4ad2f8]
add ecx, 0x74ba5146
inc word [0x4ad32c]
movd xmm1, ecx
cvtdq2pd xmm1, xmm1
comisd xmm0, xmm1
jbe 0x41f0e2
movsx eax, word [0x4ad0b0]
mov ecx, 0x9ae3575a
inc word [0x4ad0b0]
sub ecx, eax
cmp ecx, 0x4c33925d
jg 0x41f0c6
movss xmm0, dword [0x4ad374]
movsd xmm1, qword [0x49fdd8]
cvtps2pd xmm2, xmm0
movsd xmm0, qword [0x4ad388]
subsd xmm1, xmm0
subsd xmm2, xmm1
cvtpd2ps xmm0, xmm2
movss dword [0x4ad374], xmm0
jmp 0x41f0f4
mov eax, dword [0x4ad11c]
movss xmm0, dword [0x4ad014]
mov ax, word [0x4ad268]
dec word [0x4ad268]
jmp 0x41f0f4
movzx eax, word [0x4ad430]
sub eax, 0x2e719443
mov word [0x4ad430], ax
push dword [ebp - 4]
push 5
call fcn.00411590
mov eax, dword [0x4ad458]
movsd xmm1, qword [0x4ad168]
push edi
movd xmm0, eax
mov eax, dword [0x4ad308]
cvtdq2pd xmm0, xmm0
addsd xmm1, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
subsd xmm1, qword [0x49f7c0]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [0x4ad308], eax
lea eax, [ebp - 0x11c]
movsd xmm0, qword [0x4ad168]
addsd xmm0, qword [0x49f180]
push eax
movsd qword [0x4ad168], xmm0
call fcn.0045a562
movsd xmm0, qword [0x4a0e70]
mov esi, eax
push edi
push 3
movsd qword [0x4ad1d8], xmm0
call fcn.00411590
mov ecx, dword [0x4ad194]
mov edx, 0xc12654d5
add esp, 0x18
sub edx, ecx
mov word [0x4ad0f0], dx
inc dword [0x4ad194]
pop edi
test esi, esi
je 0x41f57b
movss xmm2, dword [0x4ad3ec]
movss xmm1, dword [0x4ad138]
movss xmm0, dword [0x4ad138]
subss xmm2, dword [0x4a1b3c]
addss xmm0, dword [0x49f178]
comiss xmm2, xmm1
movss dword [0x4ad138], xmm0
jbe 0x41f1ed
mov ax, word [0x4ad028]
movsx ecx, ax
mov eax, dword [0x4ad424]
add eax, 0x7a2d57a8
add eax, ecx
mov dword [0x4ad424], eax
inc dword [0x4ad270]
mov ecx, ebx
mov eax, dword [0x4ad270]
movss xmm1, dword [0x4ad1b0]
push esi
push 1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
addss xmm1, xmm0
movss xmm0, dword [0x4ad248]
addss xmm0, xmm1
cvtps2pd xmm1, xmm0
movsd xmm0, qword [0x4ad338]
mulsd xmm0, xmm1
movsd qword [0x4ad338], xmm0
call fcn.0043cb60
push eax
mov ecx, ebx
call fcn.00430ca0
push eax
call fcn.0045a88e
mov ax, word [0x4ad3c8]
movsx edx, ax
movsx eax, word [0x4ad100]
sub edx, eax
add dword [0x4ad2bc], edx
inc word [0x4ad100]
push esi
call fcn.00459f73
add dword [0x4ad4f4], 0x80544d6a
add esp, 0x14
mov ecx, ebx
call fcn.0041bc80
inc dword [0x4ad124]
mov eax, dword [0x4ad124]
movss xmm0, dword [0x4ad020]
sub eax, 0x14d11f4b
movd xmm1, eax
cvtdq2ps xmm1, xmm1
addss xmm0, xmm1
movss dword [0x4ad328], xmm0
movss xmm0, dword [0x4ad020]
subss xmm0, dword [0x49f178]
mov byte [ebp - 0x120], 0
movss dword [0x4ad020], xmm0
inc word [0x4ad474]
movsx eax, word [0x4ad474]
movss xmm1, dword [0x4ad448]
movd xmm2, eax
movsx eax, word [0x4ad104]
cvtdq2ps xmm2, xmm2
movd xmm0, eax
cvtdq2ps xmm0, xmm0
subss xmm1, xmm0
subss xmm1, dword [0x4a2ff0]
comiss xmm2, xmm1
jb 0x41f318
movzx eax, word [0x4ad2b0]
imul eax, eax, 0x58b238df
mov word [0x4ad2b0], ax
push 0x104
lea eax, [ebp - 0x224]
push eax
push 0
call dword [0x4ae1b0]
imul eax, dword [0x4ad184], 0x6c1c1730
push 0x15
mov byte [ebp - 0x225], 0
push 0xe33
mov dword [0x4ad184], eax
movss xmm0, dword [0x4ad330]
mulss xmm0, dword [0x4a3224]
movss dword [0x4ad330], xmm0
call fcn.00420e30
movsd xmm0, qword [0x4ad1a8]
mov esi, eax
push dword [0x4ae8f4]
addsd xmm0, qword [0x4a0470]
push dword [0x4ae8dc]
lea eax, [ebp - 0x224]
push eax
push esi
cvtpd2ps xmm0, xmm0
lea eax, [ebp - 0x42c]
push 0x207
push eax
movss dword [0x4ad420], xmm0
call fcn.00406240
mov eax, dword [0x4ad370]
movsd xmm1, qword [0x4ad4d0]
movsd xmm0, qword [0x4ad088]
addsd xmm1, xmm0
movsd xmm0, qword [0x4ad2f8]
movd xmm2, eax
cvtdq2pd xmm2, xmm2
push esi
push 0x15
addsd xmm0, xmm1
subsd xmm2, xmm0
cvttsd2si eax, xmm2
mov dword [0x4ad370], eax
movsd xmm0, qword [0x4ad088]
subsd xmm0, qword [0x49f180]
movsd qword [0x4ad088], xmm0
call fcn.00411590
movsd xmm0, qword [0x4ad480]
cvtpd2ps xmm0, xmm0
movss dword [0x4ad330], xmm0
movsd xmm0, qword [0x4ad480]
addsd xmm0, qword [0x49f180]
push dword [0x4ae8f4]
movsd qword [0x4ad480], xmm0
call fcn.0041cba0
mov eax, 0x78c4
mov word [0x4ad180], ax
lea eax, [ebp - 0x42c]
push eax
lea eax, [ebp - 0x11c]
push eax
call fcn.00449550
mov eax, dword [0x4ad01c]
movsd xmm1, qword [0x4ad428]
push 0x208
push 0
movd xmm0, eax
movsx eax, word [0x4ad430]
cvtdq2pd xmm0, xmm0
addsd xmm1, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov word [0x4ad430], ax
lea eax, [ebp - 0x42c]
dec dword [0x4ad01c]
push eax
call fcn.0044cd90
mov eax, dword [0x4ad158]
add esp, 0x40
mov ecx, dword [0x4ad400]
add eax, 0xf98854bd
add ecx, eax
lea eax, [ebp - 0x224]
push 0x105
push 0
mov word [0x4ad04c], cx
dec dword [0x4ad158]
push eax
call fcn.0044cd90
movsd xmm0, qword [0x4ad0a0]
add esp, 0xc
subsd xmm0, qword [0x4a0cc0]
push 0x15f90
movsd qword [0x4ad0a0], xmm0
call dword [0x4ae20c]
movsd xmm0, qword [0x4ad098]
lea eax, [ebp - 0x11c]
mulsd xmm0, qword [0x4a2028]
push eax
movsd qword [0x4ad098], xmm0
call dword [0x4ae15c]
movss xmm0, dword [0x4ad438]
movsd xmm1, qword [0x4ad198]
mov eax, dword [0x4ad4a8]
addsd xmm1, qword [0x4a0088]
cvtps2pd xmm2, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm1
subsd xmm2, xmm0
cvtpd2ps xmm0, xmm2
movss dword [0x4ad438], xmm0
movsd xmm0, qword [0x4ad198]
addsd xmm0, qword [0x49f180]
movsd qword [0x4ad198], xmm0
movsd xmm1, qword [0x4ad2f8]
movsd xmm0, qword [0x4a2770]
ucomisd xmm0, xmm1
pop esi
lahf
test ah, 0x44
jp 0x41f628
mov ax, word [0x4ad340]
movsx ecx, ax
movsx eax, word [0x4ad04c]
sub ecx, eax
cmp ecx, 0x195eed91
jl 0x41f5c9
movss xmm0, dword [0x4ad328]
mov eax, dword [0x4ad1cc]
inc dword [0x4ad1cc]
jmp 0x41f628
mov eax, dword [0x4ad4a8]
movd xmm2, eax
mov eax, dword [str._jE]
movss xmm1, dword [0x4ad1e4]
cvtdq2ps xmm2, xmm2
movd xmm0, eax
mov eax, dword [0x4ad458]
cvtdq2ps xmm0, xmm0
addss xmm1, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
subss xmm1, xmm0
subss xmm2, xmm1
cvttss2si eax, xmm2
mov dword [0x4ad4a8], eax
dec dword [0x4ad458]
movss xmm0, dword [0x4ad1e4]
addss xmm0, dword [0x49f178]
movss dword [0x4ad1e4], xmm0
push 0x118
lea eax, [ebp - 0x11c]
push 0
push eax
call fcn.0044cd90
movsd xmm0, qword [0x4ad2c0]
add esp, 0xc
ucomisd xmm0, qword [0x4ad318]
movsd xmm0, qword [0x4ad2c0]
movsd xmm3, qword [0x49f180]
subsd xmm0, xmm3
lahf
movsd qword [0x4ad2c0], xmm0
test ah, 0x44
jnp 0x41f6f4
movss xmm0, dword [0x4ad0a8]
movss xmm1, dword [0x4a1924]
subss xmm1, xmm0
cvtps2pd xmm2, xmm1
movsd xmm1, qword [0x4ad050]
mov eax, dword [0x4ad11c]
movd xmm0, eax
movsx eax, word [0x4ad110]
cvtdq2pd xmm0, xmm0
subsd xmm1, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
subsd xmm1, xmm0
movsd xmm0, qword [0x4ad050]
subsd xmm0, xmm3
comisd xmm1, xmm2
movsd qword [0x4ad050], xmm0
movss xmm0, dword [0x4ad0a8]
subss xmm0, dword [0x49f178]
movss dword [0x4ad0a8], xmm0
jbe 0x41f6f4
mov eax, 0xffffce49
mov word [0x4ad3bc], ax
mov dword [0x4ad278], 0xd61775c7
pop ebx
mov esp, ebp
pop ebp
ret