Function at 0x1004e1b0
Capabilities:
Log keystrokes via polling

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x1018ed25
push eax
mov dword fs:[0], esp
push ebx
sub esp, 0x180
cmp byte [0x1131f550], 0
push esi
push edi
mov edi, dword [ebx + 8]
je 0x1004fe79
push dword [0x1131f574]
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x1004fe79
mov eax, dword [0x1131f3ec]
mov ecx, dword [eax]
test ecx, ecx
je 0x1004fe80
call fcn.100ce2c0
test al, al
je 0x1004fe91
mov cl, byte [0x11321724]
lea esi, [edi + 0x30]
test cl, cl
je 0x1004e24b
mov edx, dword [esi]
mov eax, edx
or eax, 2
and edx, 0xfffffffd
test byte [0x113202ec], 1
cmovne edx, eax
or edx, 4
mov dword [esi], edx
test byte [0x1132292c], 1
je 0x1004e26e
mov byte [0x11321724], 0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
mov dh, byte [0x11322930]
mov eax, esi
test dh, dh
jne 0x1004e298
test cl, cl
je 0x1004e298
movss xmm0, dword [0x110da764]
comiss xmm0, dword [0x1118f73c]
jbe 0x1004e298
mov byte [0x11321724], dh
lea eax, [edi + 0x30]
mov dl, byte [0x1131f58c]
test dl, dl
je 0x1004e2ac
mov dword [0x1131f584], 0x43330000
movss xmm0, dword [edi + 0x24]
lea esi, [edi + 0xc]
mov eax, dword [eax]
mov ecx, dword [0x1131f588]
movss xmm1, dword [0x1019b9cc]
movss dword [ebp - 0x68], xmm0
movss xmm0, dword [edi + 0x28]
movss dword [ebp - 0x6c], xmm0
movq xmm0, qword [esi]
mov dword [ebp - 0xa0], eax
mov eax, dword [esi + 8]
movq qword [ebp - 0x90], xmm0
xorps xmm0, xmm0
mov dword [ebp - 0x88], eax
mov eax, esi
mov dword [ebp - 0x4c], esi
test ecx, ecx
jne 0x1004e2ff
movaps xmm0, xmm1
jmp 0x1004e32d
cmp ecx, 1
jne 0x1004e30e
movss xmm0, dword [0x110da638]
jmp 0x1004e32d
cmp ecx, 2
jne 0x1004e31d
movss xmm0, dword [0x1019b9c8]
jmp 0x1004e32d
cmp ecx, 3
jne 0x1004e32d
movss xmm0, dword [0x1019bb48]
lea eax, [edi + 0xc]
test dl, dl
je 0x1004e339
movaps xmm0, xmm1
mov dword [ebp - 0x4c], eax
mov esi, eax
movss xmm1, dword [ebp - 0x90]
xor eax, eax
cmp byte [0x1131f57c], al
movaps xmm2, xmm1
subss xmm2, dword [0x11322954]
movss dword [ebp - 0x5c], xmm1
setne al
movss xmm1, dword [ebp - 0x8c]
test dl, dl
movaps xmm3, xmm1
movss dword [ebp - 0x3c], xmm1
movss xmm1, dword [ebp - 0x88]
mov ecx, 6
subss xmm3, dword [0x11322958]
movss dword [ebp - 0x60], xmm1
lea eax, [eax*2 + 2]
subss xmm1, dword [0x1132295c]
mulss xmm2, xmm0
cmovne eax, ecx
mov dword [ebp - 0xfc], eax
mulss xmm3, xmm0
mulss xmm1, xmm0
movss xmm0, dword [esi]
movss dword [0x11322954], xmm0
movss xmm0, dword [esi + 4]
movss dword [0x11322958], xmm0
movss xmm0, dword [esi + 8]
movss dword [ebp - 0x78], xmm2
movss dword [ebp - 0x7c], xmm3
movss dword [ebp - 0x80], xmm1
movss dword [0x1132295c], xmm0
test dh, dh
jne 0x1004fcaa
xor eax, eax
mov dword [ebp - 0x70], eax
mov eax, dword fs:[0x2c]
mov dword [ebp - 0x74], eax
mov eax, dword [0x11322950]
test eax, eax
je 0x1004e40d
mov dword [ebp - 0x70], eax
mov dword [0x11322950], 0
mov eax, dword [0x1118f47c]
mov ecx, dword [eax]
mov eax, dword [0x11320304]
mov eax, dword [eax + 0x1c]
dec eax
push eax
push 0
call ecx
mov eax, dword [0x1131f3ec]
mov ecx, dword [eax]
call fcn.1003aca0
mov dword [ebp - 0x84], 0
movss xmm0, dword [eax]
movss dword [0x1118f758], xmm0
movss xmm0, dword [eax + 4]
movss dword [0x1118f75c], xmm0
movss xmm0, dword [eax + 8]
mov eax, dword [ebp - 0xa0]
movss dword [0x1118f760], xmm0
movss xmm0, dword [ebp - 0x5c]
movss dword [esi], xmm0
movss xmm0, dword [ebp - 0x3c]
movss dword [esi + 4], xmm0
movss xmm0, dword [ebp - 0x60]
movss dword [esi + 8], xmm0
movss xmm0, dword [ebp - 0x68]
movss dword [edi + 0x24], xmm0
movss xmm0, dword [ebp - 0x6c]
movss dword [edi + 0x28], xmm0
movq xmm0, qword [esi]
mov dword [edi + 0x30], eax
cmp dword [0x1131f578], 0
mov eax, dword [esi + 8]
movq qword [ebp - 0x108], xmm0
mov dword [ebp - 0x100], eax
jle 0x1004fc50
movss xmm0, dword [ebp - 0x100]
movss xmm1, dword [ebp - 0x104]
mov al, byte [0x11322930]
movss dword [ebp - 0x38], xmm0
movss xmm0, dword [ebp - 0x108]
movss dword [ebp - 0x2c], xmm1
movss dword [ebp - 0x34], xmm0
test al, al
jne 0x1004fc50
mov eax, dword [0x1131f3ec]
mov ecx, dword [eax]
call fcn.1003a980
test byte [eax], 1
jne 0x1004fc50
mov eax, dword [0x1131f3ec]
mov ecx, dword [eax]
call fcn.1003aca0
xorps xmm3, xmm3
movss xmm0, dword [eax + 8]
comiss xmm0, xmm3
ja 0x1004fc50
cmp byte [0x1131f58c], 0
mov ecx, dword [ebp - 0x70]
je 0x1004efd8
test ecx, ecx
je 0x1004efdc
mov eax, dword [edi + 0x30]
cmp ecx, 1
jne 0x1004e559
or eax, 4
mov dword [edi + 0x24], 0
mov dword [edi + 0x30], eax
mov dword [edi + 0x28], 0
jmp 0x1004fac9
cmp ecx, 2
jne 0x1004e7a1
movss xmm0, dword [ebp - 0x68]
and eax, 0xfffffffb
movss xmm5, dword [ebp - 0x3c]
movss xmm4, dword [0x1019ba60]
movss dword [edi + 0x24], xmm0
movss xmm0, dword [ebp - 0x6c]
movss dword [edi + 0x28], xmm0
movss xmm0, dword [ebp - 0x2c]
movaps xmm1, xmm0
mov dword [edi + 0x30], eax
subss xmm1, xmm5
andps xmm1, xmm4
comiss xmm1, dword [0x1019b9e8]
jbe 0x1004e5b5
movss xmm0, dword [0x110da810]
subss xmm0, xmm1
movaps xmm1, xmm0
movss xmm0, dword [ebp - 0x2c]
comiss xmm1, dword [0x1131f584]
jae 0x1004e63b
movss xmm1, dword [ebp - 0x7c]
lea ecx, [ebp - 0x138]
movss xmm2, dword [ebp - 0x78]
addss xmm1, xmm0
movss xmm0, dword [ebp - 0x80]
addss xmm2, dword [ebp - 0x34]
addss xmm0, dword [ebp - 0x38]
movss dword [ebp - 0x134], xmm1
movss dword [ebp - 0x138], xmm2
movss dword [ebp - 0x130], xmm0
call fcn.100276b0
lea ecx, [ebp - 0x168]
push ecx
mov ecx, eax
call fcn.10026ed0
movss xmm4, dword [0x1019ba60]
xorps xmm3, xmm3
movss xmm5, dword [ebp - 0x3c]
movss xmm1, dword [eax]
movss xmm0, dword [eax + 4]
movss xmm2, dword [eax + 8]
movss dword [ebp - 0x34], xmm1
movss dword [ebp - 0x2c], xmm0
movss dword [ebp - 0x38], xmm2
jmp 0x1004e645
movss xmm1, dword [ebp - 0x34]
movss xmm2, dword [ebp - 0x38]
movss dword [esi], xmm1
movss dword [esi + 4], xmm0
movss dword [esi + 8], xmm2
cmp byte [0x1131f58e], 0
je 0x1004fac9
movss xmm2, dword [0x110da810]
movss dword [0x1118f480], xmm1
movss xmm0, dword [edi + 0x10]
movss dword [0x1118f484], xmm0
movss xmm0, dword [edi + 0x14]
movss dword [0x1118f488], xmm0
movss xmm0, dword [edi + 0x24]
movss dword [0x11322938], xmm0
movss xmm0, dword [edi + 0x28]
movss dword [0x1132293c], xmm0
movss xmm0, dword [ebp - 0x5c]
movss dword [esi], xmm0
movss xmm0, dword [ebp - 0x60]
movss dword [esi + 4], xmm5
movss dword [esi + 8], xmm0
movss xmm1, dword [0x1118f484]
comiss xmm3, xmm1
jbe 0x1004e6cd
addss xmm1, xmm2
movss xmm0, dword [edi + 0x10]
comiss xmm3, xmm0
jbe 0x1004e6db
addss xmm0, xmm2
comiss xmm1, xmm0
jbe 0x1004e6e9
subss xmm0, xmm1
andps xmm0, xmm4
jmp 0x1004e6f7
subss xmm1, xmm0
movaps xmm0, xmm2
andps xmm1, xmm4
subss xmm0, xmm1
movaps xmm1, xmm2
subss xmm1, xmm0
movaps xmm0, xmm1
mulss xmm1, dword [0x1019b9b4]
addss xmm0, dword [0x1019bb78]
mulss xmm0, dword [0x1019b9b4]
cvtps2pd xmm0, xmm0
movsd qword [ebp - 0x28], xmm0
cvtps2pd xmm0, xmm1
movsd qword [ebp - 0x48], xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_cos_precise
cvtsd2ss xmm0, xmm0
mulss xmm0, dword [0x11322938]
movss dword [ebp - 0x1c], xmm0
movsd xmm0, qword [ebp - 0x28]
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_cos_precise
movss xmm2, dword [ebp - 0x1c]
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm0
movsd xmm0, qword [ebp - 0x48]
mulss xmm1, dword [0x1132293c]
addss xmm2, xmm1
movss dword [edi + 0x24], xmm2
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_sin_precise
cvtsd2ss xmm0, xmm0
mulss xmm0, dword [0x11322938]
movss dword [ebp - 0x1c], xmm0
movsd xmm0, qword [ebp - 0x28]
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_sin_precise
movss xmm1, dword [ebp - 0x1c]
cvtsd2ss xmm0, xmm0
mulss xmm0, dword [0x1132293c]
jmp 0x1004fac0
cmp ecx, 3
jne 0x1004e9e9
movss xmm0, dword [ebp - 0x68]
or eax, 4
movss xmm5, dword [ebp - 0x3c]
movss xmm4, dword [0x1019ba60]
movss dword [edi + 0x24], xmm0
movss xmm0, dword [ebp - 0x6c]
movss dword [edi + 0x28], xmm0
movss xmm0, dword [ebp - 0x2c]
movaps xmm1, xmm0
mov dword [edi + 0x30], eax
subss xmm1, xmm5
andps xmm1, xmm4
comiss xmm1, dword [0x1019b9e8]
jbe 0x1004e7fd
movss xmm0, dword [0x110da810]
subss xmm0, xmm1
movaps xmm1, xmm0
movss xmm0, dword [ebp - 0x2c]
comiss xmm1, dword [0x1131f584]
jae 0x1004e883
movss xmm1, dword [ebp - 0x7c]
lea ecx, [ebp - 0x144]
movss xmm2, dword [ebp - 0x78]
addss xmm1, xmm0
movss xmm0, dword [ebp - 0x80]
addss xmm2, dword [ebp - 0x34]
addss xmm0, dword [ebp - 0x38]
movss dword [ebp - 0x140], xmm1
movss dword [ebp - 0x144], xmm2
movss dword [ebp - 0x13c], xmm0
call fcn.100276b0
lea ecx, [ebp - 0x174]
push ecx
mov ecx, eax
call fcn.10026ed0
movss xmm4, dword [0x1019ba60]
xorps xmm3, xmm3
movss xmm5, dword [ebp - 0x3c]
movss xmm1, dword [eax]
movss xmm0, dword [eax + 4]
movss xmm2, dword [eax + 8]
movss dword [ebp - 0x34], xmm1
movss dword [ebp - 0x2c], xmm0
movss dword [ebp - 0x38], xmm2
jmp 0x1004e88d
movss xmm1, dword [ebp - 0x34]
movss xmm2, dword [ebp - 0x38]
movss dword [esi], xmm1
movss dword [esi + 4], xmm0
movss dword [esi + 8], xmm2
cmp byte [0x1131f58e], 0
je 0x1004fac9
movss xmm2, dword [0x110da810]
movss dword [0x1118f480], xmm1
movss xmm0, dword [edi + 0x10]
movss dword [0x1118f484], xmm0
movss xmm0, dword [edi + 0x14]
movss dword [0x1118f488], xmm0
movss xmm0, dword [edi + 0x24]
movss dword [0x11322938], xmm0
movss xmm0, dword [edi + 0x28]
movss dword [0x1132293c], xmm0
movss xmm0, dword [ebp - 0x5c]
movss dword [esi], xmm0
movss xmm0, dword [ebp - 0x60]
movss dword [esi + 4], xmm5
movss dword [esi + 8], xmm0
movss xmm1, dword [0x1118f484]
comiss xmm3, xmm1
jbe 0x1004e915
addss xmm1, xmm2
movss xmm0, dword [edi + 0x10]
comiss xmm3, xmm0
jbe 0x1004e923
addss xmm0, xmm2
comiss xmm1, xmm0
jbe 0x1004e931
subss xmm0, xmm1
andps xmm0, xmm4
jmp 0x1004e93f
subss xmm1, xmm0
movaps xmm0, xmm2
andps xmm1, xmm4
subss xmm0, xmm1
movaps xmm1, xmm2
subss xmm1, xmm0
movaps xmm0, xmm1
mulss xmm1, dword [0x1019b9b4]
addss xmm0, dword [0x1019bb78]
mulss xmm0, dword [0x1019b9b4]
cvtps2pd xmm0, xmm0
movsd qword [ebp - 0x28], xmm0
cvtps2pd xmm0, xmm1
movsd qword [ebp - 0x48], xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_cos_precise
cvtsd2ss xmm0, xmm0
mulss xmm0, dword [0x11322938]
movss dword [ebp - 0x1c], xmm0
movsd xmm0, qword [ebp - 0x28]
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_cos_precise
movss xmm2, dword [ebp - 0x1c]
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm0
movsd xmm0, qword [ebp - 0x48]
mulss xmm1, dword [0x1132293c]
addss xmm2, xmm1
movss dword [edi + 0x24], xmm2
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_sin_precise
cvtsd2ss xmm0, xmm0
mulss xmm0, dword [0x11322938]
movss dword [ebp - 0x1c], xmm0
movsd xmm0, qword [ebp - 0x28]
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_sin_precise
movss xmm1, dword [ebp - 0x1c]
cvtsd2ss xmm0, xmm0
mulss xmm0, dword [0x1132293c]
jmp 0x1004fac0
cmp ecx, 4
jne 0x1004ece1
movss xmm0, dword [0x1118f764]
and eax, 0xfffffffb
xorps xmm0, xmmword [0x1019ba70]
mov dword [edi + 0x30], eax
mov eax, dword [0x1131f3ec]
movss dword [0x1118f764], xmm0
mov ecx, dword [eax]
call fcn.1003aca0
movq xmm0, qword [eax]
movq qword [ebp - 0x114], xmm0
movq xmm0, qword [esi]
movss xmm1, dword [ebp - 0x114]
mov eax, dword [eax + 8]
movq qword [ebp - 0xac], xmm0
movss xmm0, dword [ebp - 0x110]
mulss xmm1, xmm1
mov dword [ebp - 0x10c], eax
mov eax, dword [esi + 8]
mulss xmm0, xmm0
mov dword [ebp - 0x24], eax
addss xmm1, xmm0
cvtps2pd xmm0, xmm1
xorps xmm1, xmm1
ucomisd xmm1, xmm0
ja 0x1004ea70
sqrtsd xmm0, xmm0
jmp 0x1004ea75
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_sqrt_precise
xorps xmm1, xmm1
mov dword [ebp - 0x64], 0x42b40000
cvtsd2ss xmm1, xmm0
mov dword [ebp - 0x1c], 0
movss xmm0, dword [0x110dc9a0]
divss xmm0, xmm1
movss dword [ebp - 0x18], xmm1
cvtps2pd xmm0, xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_atan_precise
cvtsd2ss xmm0, xmm0
mov dword [edi + 0x24], 0
lea ecx, [ebp - 0xf8]
lea eax, [ebp - 0x1c]
lea esi, [ebp - 0x64]
xorps xmm1, xmm1
mulss xmm0, dword [0x1019b9e0]
comiss xmm1, xmm0
movss dword [ebp - 0xf8], xmm0
cmovbe eax, ecx
mov ecx, dword [0x11327d98]
comiss xmm0, dword [0x1019bb78]
cmovbe esi, eax
mov eax, dword [ebp - 0x74]
mov ecx, dword [eax + ecx*4]
mov eax, dword [0x11322964]
cmp eax, dword [ecx + 4]
jg 0x1004fea4
movss xmm0, dword [ebp - 0xa8]
sub esp, 8
subss xmm0, dword [0x11322968]
mov dword [esp + 4], 0x43b40000
movss dword [esp], xmm0
call dword [sym.imp.api_ms_win_crt_math_l1_1_0.dll_remainderf]
mov ecx, dword [0x11322960]
add esp, 8
fstp dword [ebp - 0x30]
movss xmm0, dword [ebp - 0x30]
andps xmm0, xmmword [0x1019ba60]
mov eax, dword [ecx]
movss dword [ebp - 0x50], xmm0
movss xmm0, dword [ebp - 0xa8]
movss dword [0x11322968], xmm0
mov eax, dword [eax + 0x30]
call eax
movss xmm0, dword [ebp - 0x50]
movss xmm1, dword [esi]
comiss xmm1, xmm0
fstp dword [ebp - 0x14]
jae 0x1004eb72
comiss xmm0, dword [0x110da6a8]
jb 0x1004ee6a
lea eax, [ebp - 0xdc]
mov dword [ebp - 0xdc], 0
push eax
lea eax, [ebp - 0x114]
mov dword [ebp - 0xd8], 0
push eax
mov dword [ebp - 0xd4], 0
call fcn.10063890
movss xmm0, dword [ebp - 0xa8]
subss xmm0, dword [ebp - 0xd8]
mov dword [esp + 4], 0x43b40000
movss dword [esp], xmm0
call dword [sym.imp.api_ms_win_crt_math_l1_1_0.dll_remainderf]
movss xmm0, dword [0x110da6a8]
add esp, 8
divss xmm0, dword [ebp - 0x18]
mov dword [ebp - 0x54], 0x42b40000
mov dword [ebp - 0x50], 0
fstp dword [ebp - 0x44]
cvtps2pd xmm0, xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_atan_precise
cvtsd2ss xmm0, xmm0
lea eax, [ebp - 0x30]
lea ecx, [ebp - 0x50]
xorps xmm1, xmm1
movss xmm3, dword [ebp - 0x44]
mulss xmm0, dword [0x1019b9e0]
movss xmm2, dword [ebp - 0x18]
movss xmm4, dword [0x110dc9a0]
comiss xmm1, xmm0
movss dword [ebp - 0x30], xmm0
cmovbe ecx, eax
lea eax, [ebp - 0x54]
comiss xmm0, dword [0x1019bb78]
cmovbe eax, ecx
movss xmm1, dword [eax]
addss xmm1, xmm1
comiss xmm1, xmm3
jae 0x1004ec5e
comiss xmm4, xmm2
jae 0x1004ec5e
addss xmm1, dword [ebp - 0xd8]
movss xmm0, dword [ebp - 0x14]
xorps xmm0, xmmword [0x1019ba70]
movss dword [ebp - 0xa8], xmm1
jmp 0x1004ecb6
movaps xmm0, xmm1
xorps xmm0, xmmword [0x1019ba70]
comiss xmm3, xmm0
jae 0x1004ec8d
comiss xmm4, xmm2
jae 0x1004ec8d
movss xmm0, dword [ebp - 0xd8]
subss xmm0, xmm1
movss dword [ebp - 0xa8], xmm0
movss xmm0, dword [ebp - 0x14]
jmp 0x1004ecb6
movss xmm0, dword [0x1118f764]
mulss xmm0, dword [esi]
addss xmm0, dword [ebp - 0xa8]
movss dword [ebp - 0xa8], xmm0
movss xmm0, dword [ebp - 0x14]
mulss xmm0, dword [0x1118f764]
mov eax, dword [ebp - 0x4c]
sub esp, 0xc
movss dword [edi + 0x28], xmm0
mov ecx, esp
movq xmm0, qword [eax]
mov eax, dword [eax + 8]
movq qword [ecx], xmm0
movq xmm0, qword [ebp - 0xac]
mov dword [ecx + 8], eax
mov ecx, dword [ebp - 0x24]
jmp 0x1004f86d
cmp ecx, 5
jne 0x1004fac9
movss xmm0, dword [0x1118f768]
or eax, 4
xorps xmm0, xmmword [0x1019ba70]
mov dword [edi + 0x30], eax
mov eax, dword [0x1131f3ec]
movss dword [0x1118f768], xmm0
mov ecx, dword [eax]
call fcn.1003aca0
movq xmm0, qword [eax]
movq qword [ebp - 0x120], xmm0
movq xmm0, qword [esi]
movss xmm1, dword [ebp - 0x120]
mov eax, dword [eax + 8]
movq qword [ebp - 0xb8], xmm0
movss xmm0, dword [ebp - 0x11c]
mulss xmm1, xmm1
mov dword [ebp - 0x118], eax
mov eax, dword [esi + 8]
mulss xmm0, xmm0
mov dword [ebp - 0x64], eax
addss xmm1, xmm0
cvtps2pd xmm0, xmm1
xorps xmm1, xmm1
ucomisd xmm1, xmm0
ja 0x1004ed68
sqrtsd xmm0, xmm0
jmp 0x1004ed6d
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_sqrt_precise
xorps xmm1, xmm1
mov dword [ebp - 0x54], 0x42b40000
cvtsd2ss xmm1, xmm0
mov dword [ebp - 0x24], 0
movss xmm0, dword [0x110dc9a0]
divss xmm0, xmm1
movss dword [ebp - 0x18], xmm1
cvtps2pd xmm0, xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_atan_precise
cvtsd2ss xmm0, xmm0
mov dword [edi + 0x24], 0
lea eax, [ebp - 0x44]
lea ecx, [ebp - 0x24]
xorps xmm1, xmm1
mulss xmm0, dword [0x1019b9e0]
comiss xmm1, xmm0
movss dword [ebp - 0x44], xmm0
cmovbe ecx, eax
lea eax, [ebp - 0x54]
comiss xmm0, dword [0x1019bb78]
cmovbe eax, ecx
mov ecx, dword [0x11327d98]
movss xmm0, dword [eax]
mov eax, dword [ebp - 0x74]
movss dword [ebp - 0x1c], xmm0
mov ecx, dword [eax + ecx*4]
mov eax, dword [0x11322970]
cmp eax, dword [ecx + 4]
jg 0x1004fef5
movss xmm0, dword [ebp - 0xb4]
sub esp, 8
subss xmm0, dword [0x11322974]
mov dword [esp + 4], 0x43b40000
movss dword [esp], xmm0
call dword [sym.imp.api_ms_win_crt_math_l1_1_0.dll_remainderf]
mov ecx, dword [0x1132296c]
add esp, 8
fstp dword [ebp - 0x30]
movss xmm0, dword [ebp - 0x30]
andps xmm0, xmmword [0x1019ba60]
mov eax, dword [ecx]
movss dword [ebp - 0x24], xmm0
movss xmm0, dword [ebp - 0xb4]
movss dword [0x11322974], xmm0
mov eax, dword [eax + 0x30]
call eax
movss xmm0, dword [ebp - 0x1c]
movss xmm1, dword [ebp - 0x24]
comiss xmm0, xmm1
fstp dword [ebp - 0x14]
jae 0x1004ee74
comiss xmm1, dword [0x110da6a8]
jae 0x1004ee74
movss xmm0, dword [ebp - 0x30]
jmp 0x1004f1af
lea eax, [ebp - 0xe8]
mov dword [ebp - 0xe8], 0
push eax
lea eax, [ebp - 0x120]
mov dword [ebp - 0xe4], 0
push eax
mov dword [ebp - 0xe0], 0
call fcn.10063890
movss xmm0, dword [ebp - 0xb4]
subss xmm0, dword [ebp - 0xe4]
mov dword [esp + 4], 0x43b40000
movss dword [esp], xmm0
call dword [sym.imp.api_ms_win_crt_math_l1_1_0.dll_remainderf]
movss xmm0, dword [0x110da6a8]
add esp, 8
divss xmm0, dword [ebp - 0x18]
mov dword [ebp - 0x54], 0x42b40000
mov dword [ebp - 0x24], 0
fstp dword [ebp - 0x50]
cvtps2pd xmm0, xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_atan_precise
cvtsd2ss xmm0, xmm0
lea eax, [ebp - 0x44]
lea ecx, [ebp - 0x24]
xorps xmm1, xmm1
movss xmm3, dword [ebp - 0x50]
mulss xmm0, dword [0x1019b9e0]
movss xmm2, dword [ebp - 0x18]
movss xmm4, dword [0x110dc9a0]
comiss xmm1, xmm0
movss dword [ebp - 0x44], xmm0
cmovbe ecx, eax
lea eax, [ebp - 0x54]
comiss xmm0, dword [0x1019bb78]
cmovbe eax, ecx
movss xmm1, dword [eax]
addss xmm1, xmm1
comiss xmm1, xmm3
jae 0x1004ef60
comiss xmm4, xmm2
jae 0x1004ef60
addss xmm1, dword [ebp - 0xe4]
movss dword [ebp - 0xb4], xmm1
movss xmm1, dword [ebp - 0x14]
xorps xmm1, xmmword [0x1019ba70]
jmp 0x1004efb9
movaps xmm0, xmm1
xorps xmm0, xmmword [0x1019ba70]
comiss xmm3, xmm0
jae 0x1004ef8f
comiss xmm4, xmm2
jae 0x1004ef8f
movss xmm0, dword [ebp - 0xe4]
subss xmm0, xmm1
movss xmm1, dword [ebp - 0x14]
movss dword [ebp - 0xb4], xmm0
jmp 0x1004efb9
movss xmm1, dword [ebp - 0x1c]
mulss xmm1, dword [0x1118f768]
addss xmm1, dword [ebp - 0xb4]
movss dword [ebp - 0xb4], xmm1
movss xmm1, dword [ebp - 0x14]
mulss xmm1, dword [0x1118f768]
sub esp, 0xc
movss dword [edi + 0x28], xmm1
movq xmm0, qword [esi]
mov ecx, esp
movq qword [ecx], xmm0
movq xmm0, qword [ebp - 0xb8]
jmp 0x1004f864
test ecx, ecx
jne 0x1004eff3
and dword [edi + 0x30], 0xfffffffb
mov dword [edi + 0x24], 0
mov dword [edi + 0x28], 0
jmp 0x1004fac9
mov eax, dword [edi + 0x30]
cmp ecx, 1
jne 0x1004f014
or eax, 4
mov dword [edi + 0x24], 0
mov dword [edi + 0x30], eax
mov dword [edi + 0x28], 0
jmp 0x1004fac9
cmp ecx, 2
jne 0x1004f56b
and eax, 0xfffffffb
mov dword [edi + 0x30], eax
cmp byte [0x1131f58d], 0
je 0x1004f332
mov eax, dword [0x1131f3ec]
movss xmm0, dword [0x1118f76c]
xorps xmm0, xmmword [0x1019ba70]
movss dword [0x1118f76c], xmm0
mov ecx, dword [eax]
call fcn.1003aca0
movq xmm0, qword [eax]
movq qword [ebp - 0x12c], xmm0
movq xmm0, qword [esi]
movss xmm1, dword [ebp - 0x12c]
mov eax, dword [eax + 8]
movq qword [ebp - 0xc4], xmm0
movss xmm0, dword [ebp - 0x128]
mulss xmm1, xmm1
mov dword [ebp - 0x124], eax
mov eax, dword [esi + 8]
mulss xmm0, xmm0
mov dword [ebp - 0x64], eax
addss xmm1, xmm0
cvtps2pd xmm0, xmm1
xorps xmm1, xmm1
ucomisd xmm1, xmm0
ja 0x1004f0a8
sqrtsd xmm0, xmm0
jmp 0x1004f0ad
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_sqrt_precise
xorps xmm1, xmm1
mov dword [ebp - 0x54], 0x42b40000
cvtsd2ss xmm1, xmm0
mov dword [ebp - 0x24], 0
movss xmm0, dword [0x110dc9a0]
divss xmm0, xmm1
movss dword [ebp - 0x18], xmm1
cvtps2pd xmm0, xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_atan_precise
cvtsd2ss xmm0, xmm0
mov dword [edi + 0x24], 0
lea eax, [ebp - 0x44]
lea ecx, [ebp - 0x24]
xorps xmm1, xmm1
mulss xmm0, dword [0x1019b9e0]
comiss xmm1, xmm0
movss dword [ebp - 0x44], xmm0
cmovbe ecx, eax
lea eax, [ebp - 0x54]
comiss xmm0, dword [0x1019bb78]
cmovbe eax, ecx
mov ecx, dword [0x11327d98]
movss xmm0, dword [eax]
mov eax, dword [ebp - 0x74]
movss dword [ebp - 0x30], xmm0
mov ecx, dword [eax + ecx*4]
mov eax, dword [0x1132297c]
cmp eax, dword [ecx + 4]
jg 0x1004ff46
movss xmm0, dword [ebp - 0xc0]
sub esp, 8
subss xmm0, dword [0x11322980]
mov dword [esp + 4], 0x43b40000
movss dword [esp], xmm0
call dword [sym.imp.api_ms_win_crt_math_l1_1_0.dll_remainderf]
mov ecx, dword [0x11322978]
add esp, 8
fstp dword [ebp - 0x1c]
movss xmm0, dword [ebp - 0x1c]
andps xmm0, xmmword [0x1019ba60]
mov eax, dword [ecx]
movss dword [ebp - 0x24], xmm0
movss xmm0, dword [ebp - 0xc0]
movss dword [0x11322980], xmm0
mov eax, dword [eax + 0x30]
call eax
movss xmm0, dword [ebp - 0x30]
movss xmm1, dword [ebp - 0x24]
comiss xmm0, xmm1
fstp dword [ebp - 0x14]
jae 0x1004f1ce
comiss xmm1, dword [0x110da6a8]
jae 0x1004f1ce
movss xmm0, dword [ebp - 0x1c]
comiss xmm0, dword [0x1019b994]
movss xmm0, dword [ebp - 0x14]
jbe 0x1004f1c4
xorps xmm0, xmmword [0x1019ba70]
movss dword [edi + 0x28], xmm0
jmp 0x1004fac9
lea eax, [ebp - 0xf4]
mov dword [ebp - 0xf4], 0
push eax
lea eax, [ebp - 0x12c]
mov dword [ebp - 0xf0], 0
push eax
mov dword [ebp - 0xec], 0
call fcn.10063890
movss xmm0, dword [ebp - 0xc0]
subss xmm0, dword [ebp - 0xf0]
mov dword [esp + 4], 0x43b40000
movss dword [esp], xmm0
call dword [sym.imp.api_ms_win_crt_math_l1_1_0.dll_remainderf]
movss xmm0, dword [0x110da6a8]
add esp, 8
divss xmm0, dword [ebp - 0x18]
mov dword [ebp - 0x54], 0x42b40000
mov dword [ebp - 0x24], 0
fstp dword [ebp - 0x50]
cvtps2pd xmm0, xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_atan_precise
cvtsd2ss xmm0, xmm0
lea eax, [ebp - 0x44]
lea ecx, [ebp - 0x24]
xorps xmm1, xmm1
movss xmm3, dword [ebp - 0x50]
mulss xmm0, dword [0x1019b9e0]
movss xmm2, dword [ebp - 0x18]
movss xmm4, dword [0x110dc9a0]
comiss xmm1, xmm0
movss dword [ebp - 0x44], xmm0
cmovbe ecx, eax
lea eax, [ebp - 0x54]
comiss xmm0, dword [0x1019bb78]
cmovbe eax, ecx
movss xmm1, dword [eax]
addss xmm1, xmm1
comiss xmm1, xmm3
jae 0x1004f2ba
comiss xmm4, xmm2
jae 0x1004f2ba
addss xmm1, dword [ebp - 0xf0]
movss dword [ebp - 0xc0], xmm1
movss xmm1, dword [ebp - 0x14]
xorps xmm1, xmmword [0x1019ba70]
jmp 0x1004f313
movaps xmm0, xmm1
xorps xmm0, xmmword [0x1019ba70]
comiss xmm3, xmm0
jae 0x1004f2e9
comiss xmm4, xmm2
jae 0x1004f2e9
movss xmm0, dword [ebp - 0xf0]
subss xmm0, xmm1
movss xmm1, dword [ebp - 0x14]
movss dword [ebp - 0xc0], xmm0
jmp 0x1004f313
movss xmm1, dword [ebp - 0x30]
mulss xmm1, dword [0x1118f76c]
addss xmm1, dword [ebp - 0xc0]
movss dword [ebp - 0xc0], xmm1
movss xmm1, dword [ebp - 0x14]
mulss xmm1, dword [0x1118f76c]
sub esp, 0xc
movss dword [edi + 0x28], xmm1
movq xmm0, qword [esi]
mov ecx, esp
movq qword [ecx], xmm0
movq xmm0, qword [ebp - 0xc4]
jmp 0x1004f864
movss xmm0, dword [ebp - 0x68]
movss xmm5, dword [ebp - 0x3c]
movss xmm4, dword [0x1019ba60]
movss dword [edi + 0x24], xmm0
movss xmm0, dword [ebp - 0x6c]
movss dword [edi + 0x28], xmm0
movss xmm0, dword [ebp - 0x2c]
movaps xmm1, xmm0
subss xmm1, xmm5
andps xmm1, xmm4
comiss xmm1, dword [0x1019b9e8]
jbe 0x1004f37f
movss xmm0, dword [0x110da810]
subss xmm0, xmm1
movaps xmm1, xmm0
movss xmm0, dword [ebp - 0x2c]
comiss xmm1, dword [0x1131f584]
jae 0x1004f405
movss xmm1, dword [ebp - 0x7c]
lea ecx, [ebp - 0x150]
movss xmm2, dword [ebp - 0x78]
addss xmm1, xmm0
movss xmm0, dword [ebp - 0x80]
addss xmm2, dword [ebp - 0x34]
addss xmm0, dword [ebp - 0x38]
movss dword [ebp - 0x14c], xmm1
movss dword [ebp - 0x150], xmm2
movss dword [ebp - 0x148], xmm0
call fcn.100276b0
lea ecx, [ebp - 0x180]
push ecx
mov ecx, eax
call fcn.10026ed0
movss xmm4, dword [0x1019ba60]
xorps xmm3, xmm3
movss xmm5, dword [ebp - 0x3c]
movss xmm1, dword [eax]
movss xmm0, dword [eax + 4]
movss xmm2, dword [eax + 8]
movss dword [ebp - 0x34], xmm1
movss dword [ebp - 0x2c], xmm0
movss dword [ebp - 0x38], xmm2
jmp 0x1004f40f
movss xmm1, dword [ebp - 0x34]
movss xmm2, dword [ebp - 0x38]
movss dword [esi], xmm1
movss dword [esi + 4], xmm0
movss dword [esi + 8], xmm2
cmp byte [0x1131f58e], 0
je 0x1004fac9
movss xmm2, dword [0x110da810]
movss dword [0x1118f480], xmm1
movss xmm0, dword [edi + 0x10]
movss dword [0x1118f484], xmm0
movss xmm0, dword [edi + 0x14]
movss dword [0x1118f488], xmm0
movss xmm0, dword [edi + 0x24]
movss dword [0x11322938], xmm0
movss xmm0, dword [edi + 0x28]
movss dword [0x1132293c], xmm0
movss xmm0, dword [ebp - 0x5c]
movss dword [esi], xmm0
movss xmm0, dword [ebp - 0x60]
movss dword [esi + 4], xmm5
movss dword [esi + 8], xmm0
movss xmm1, dword [0x1118f484]
comiss xmm3, xmm1
jbe 0x1004f497
addss xmm1, xmm2
movss xmm0, dword [edi + 0x10]
comiss xmm3, xmm0
jbe 0x1004f4a5
addss xmm0, xmm2
comiss xmm1, xmm0
jbe 0x1004f4b3
subss xmm0, xmm1
andps xmm0, xmm4
jmp 0x1004f4c1
subss xmm1, xmm0
movaps xmm0, xmm2
andps xmm1, xmm4
subss xmm0, xmm1
movaps xmm1, xmm2
subss xmm1, xmm0
movaps xmm0, xmm1
mulss xmm1, dword [0x1019b9b4]
addss xmm0, dword [0x1019bb78]
mulss xmm0, dword [0x1019b9b4]
cvtps2pd xmm0, xmm0
movsd qword [ebp - 0x48], xmm0
cvtps2pd xmm0, xmm1
movsd qword [ebp - 0x58], xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_cos_precise
cvtsd2ss xmm0, xmm0
mulss xmm0, dword [0x11322938]
movss dword [ebp - 0x24], xmm0
movsd xmm0, qword [ebp - 0x48]
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_cos_precise
movss xmm2, dword [ebp - 0x24]
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm0
movsd xmm0, qword [ebp - 0x58]
mulss xmm1, dword [0x1132293c]
addss xmm2, xmm1
movss dword [edi + 0x24], xmm2
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_sin_precise
cvtsd2ss xmm0, xmm0
mulss xmm0, dword [0x11322938]
movss dword [ebp - 0x24], xmm0
movsd xmm0, qword [ebp - 0x48]
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_sin_precise
movss xmm1, dword [ebp - 0x24]
cvtsd2ss xmm0, xmm0
mulss xmm0, dword [0x1132293c]
jmp 0x1004fac0
cmp ecx, 3
jne 0x1004fac9
or eax, 4
mov dword [edi + 0x30], eax
cmp byte [0x1131f58d], 0
je 0x1004f887
mov eax, dword [0x1131f3ec]
movss xmm0, dword [0x1118f770]
xorps xmm0, xmmword [0x1019ba70]
movss dword [0x1118f770], xmm0
mov ecx, dword [eax]
call fcn.1003aca0
movq xmm0, qword [eax]
movq qword [ebp - 0x9c], xmm0
movq xmm0, qword [esi]
movss xmm1, dword [ebp - 0x9c]
mov eax, dword [eax + 8]
movq qword [ebp - 0xd0], xmm0
movss xmm0, dword [ebp - 0x98]
mulss xmm1, xmm1
mov dword [ebp - 0x94], eax
mov eax, dword [esi + 8]
mulss xmm0, xmm0
mov dword [ebp - 0x64], eax
addss xmm1, xmm0
cvtps2pd xmm0, xmm1
xorps xmm1, xmm1
ucomisd xmm1, xmm0
ja 0x1004f5ff
sqrtsd xmm0, xmm0
jmp 0x1004f604
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_sqrt_precise
xorps xmm1, xmm1
mov dword [ebp - 0x54], 0x42b40000
cvtsd2ss xmm1, xmm0
mov dword [ebp - 0x24], 0
movss xmm0, dword [0x110dc9a0]
divss xmm0, xmm1
movss dword [ebp - 0x18], xmm1
cvtps2pd xmm0, xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_atan_precise
cvtsd2ss xmm0, xmm0
mov dword [edi + 0x24], 0
lea eax, [ebp - 0x44]
lea ecx, [ebp - 0x24]
xorps xmm1, xmm1
mulss xmm0, dword [0x1019b9e0]
comiss xmm1, xmm0
movss dword [ebp - 0x44], xmm0
cmovbe ecx, eax
lea eax, [ebp - 0x54]
comiss xmm0, dword [0x1019bb78]
cmovbe eax, ecx
mov ecx, dword [0x11327d98]
movss xmm0, dword [eax]
mov eax, dword [ebp - 0x74]
movss dword [ebp - 0x30], xmm0
mov ecx, dword [eax + ecx*4]
mov eax, dword [0x11322988]
cmp eax, dword [ecx + 4]
jg 0x1004ff97
movss xmm0, dword [ebp - 0xcc]
sub esp, 8
subss xmm0, dword [0x1132298c]
mov dword [esp + 4], 0x43b40000
movss dword [esp], xmm0
call dword [sym.imp.api_ms_win_crt_math_l1_1_0.dll_remainderf]
mov ecx, dword [0x11322984]
add esp, 8
fstp dword [ebp - 0x1c]
movss xmm0, dword [ebp - 0x1c]
andps xmm0, xmmword [0x1019ba60]
mov eax, dword [ecx]
movss dword [ebp - 0x24], xmm0
movss xmm0, dword [ebp - 0xcc]
movss dword [0x1132298c], xmm0
mov eax, dword [eax + 0x30]
call eax
movss xmm0, dword [ebp - 0x30]
movss xmm1, dword [ebp - 0x24]
comiss xmm0, xmm1
fstp dword [ebp - 0x14]
jae 0x1004f705
comiss xmm1, dword [0x110da6a8]
jb 0x1004f1aa
lea eax, [ebp - 0x90]
mov dword [ebp - 0x90], 0
push eax
lea eax, [ebp - 0x9c]
mov dword [ebp - 0x8c], 0
push eax
mov dword [ebp - 0x88], 0
call fcn.10063890
movss xmm0, dword [ebp - 0xcc]
subss xmm0, dword [ebp - 0x8c]
mov dword [esp + 4], 0x43b40000
movss dword [esp], xmm0
call dword [sym.imp.api_ms_win_crt_math_l1_1_0.dll_remainderf]
movss xmm0, dword [0x110da6a8]
add esp, 8
divss xmm0, dword [ebp - 0x18]
mov dword [ebp - 0x54], 0x42b40000
mov dword [ebp - 0x24], 0
fstp dword [ebp - 0x50]
cvtps2pd xmm0, xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_atan_precise
cvtsd2ss xmm0, xmm0
lea eax, [ebp - 0x44]
lea ecx, [ebp - 0x24]
xorps xmm1, xmm1
movss xmm3, dword [ebp - 0x50]
mulss xmm0, dword [0x1019b9e0]
movss xmm2, dword [ebp - 0x18]
movss xmm4, dword [0x110dc9a0]
comiss xmm1, xmm0
movss dword [ebp - 0x44], xmm0
cmovbe ecx, eax
lea eax, [ebp - 0x54]
comiss xmm0, dword [0x1019bb78]
cmovbe eax, ecx
movss xmm1, dword [eax]
addss xmm1, xmm1
comiss xmm1, xmm3
jae 0x1004f7f1
comiss xmm4, xmm2
jae 0x1004f7f1
addss xmm1, dword [ebp - 0x8c]
movss dword [ebp - 0xcc], xmm1
movss xmm1, dword [ebp - 0x14]
xorps xmm1, xmmword [0x1019ba70]
jmp 0x1004f84a
movaps xmm0, xmm1
xorps xmm0, xmmword [0x1019ba70]
comiss xmm3, xmm0
jae 0x1004f820
comiss xmm4, xmm2
jae 0x1004f820
movss xmm0, dword [ebp - 0x8c]
subss xmm0, xmm1
movss xmm1, dword [ebp - 0x14]
movss dword [ebp - 0xcc], xmm0
jmp 0x1004f84a
movss xmm1, dword [ebp - 0x30]
mulss xmm1, dword [0x1118f770]
addss xmm1, dword [ebp - 0xcc]
movss dword [ebp - 0xcc], xmm1
movss xmm1, dword [ebp - 0x14]
mulss xmm1, dword [0x1118f770]
sub esp, 0xc
movss dword [edi + 0x28], xmm1
movq xmm0, qword [esi]
mov ecx, esp
movq qword [ecx], xmm0
movq xmm0, qword [ebp - 0xd0]
mov eax, dword [esi + 8]
mov dword [ecx + 8], eax
mov ecx, dword [ebp - 0x64]
sub esp, 0xc
mov eax, esp
push edi
movq qword [eax], xmm0
mov dword [eax + 8], ecx
call fcn.10063100
add esp, 0x1c
jmp 0x1004fac9
movss xmm0, dword [ebp - 0x68]
movss xmm5, dword [ebp - 0x3c]
movss xmm4, dword [0x1019ba60]
movss dword [edi + 0x24], xmm0
movss xmm0, dword [ebp - 0x6c]
movss dword [edi + 0x28], xmm0
movss xmm0, dword [ebp - 0x2c]
movaps xmm1, xmm0
subss xmm1, xmm5
andps xmm1, xmm4
comiss xmm1, dword [0x1019b9e8]
jbe 0x1004f8d4
movss xmm0, dword [0x110da810]
subss xmm0, xmm1
movaps xmm1, xmm0
movss xmm0, dword [ebp - 0x2c]
comiss xmm1, dword [0x1131f584]
jae 0x1004f95f
movss xmm0, dword [ebp - 0x78]
lea ecx, [ebp - 0x15c]
addss xmm0, dword [ebp - 0x34]
movss dword [ebp - 0x15c], xmm0
movss xmm0, dword [ebp - 0x7c]
addss xmm0, dword [ebp - 0x2c]
movss dword [ebp - 0x158], xmm0
movss xmm0, dword [ebp - 0x80]
addss xmm0, dword [ebp - 0x38]
movss dword [ebp - 0x154], xmm0
call fcn.100276b0
lea ecx, [ebp - 0x18c]
push ecx
mov ecx, eax
call fcn.10026ed0
movss xmm4, dword [0x1019ba60]
xorps xmm3, xmm3
movss xmm5, dword [ebp - 0x3c]
movss xmm1, dword [eax]
movss xmm0, dword [eax + 4]
movss xmm2, dword [eax + 8]
movss dword [ebp - 0x34], xmm1
movss dword [ebp - 0x2c], xmm0
movss dword [ebp - 0x38], xmm2
jmp 0x1004f969
movss xmm1, dword [ebp - 0x34]
movss xmm2, dword [ebp - 0x38]
movss dword [esi], xmm1
movss dword [esi + 4], xmm0
movss dword [esi + 8], xmm2
cmp byte [0x1131f58e], 0
je 0x1004fac9
movss xmm2, dword [0x110da810]
movss dword [0x1118f480], xmm1
movss xmm0, dword [edi + 0x10]
movss dword [0x1118f484], xmm0
movss xmm0, dword [edi + 0x14]
movss dword [0x1118f488], xmm0
movss xmm0, dword [edi + 0x24]
movss dword [0x11322938], xmm0
movss xmm0, dword [edi + 0x28]
movss dword [0x1132293c], xmm0
movss xmm0, dword [ebp - 0x5c]
movss dword [esi], xmm0
movss xmm0, dword [ebp - 0x60]
movss dword [esi + 4], xmm5
movss dword [esi + 8], xmm0
movss xmm1, dword [0x1118f484]
comiss xmm3, xmm1
jbe 0x1004f9f1
addss xmm1, xmm2
movss xmm0, dword [edi + 0x10]
comiss xmm3, xmm0
jbe 0x1004f9ff
addss xmm0, xmm2
comiss xmm1, xmm0
jbe 0x1004fa0d
subss xmm0, xmm1
andps xmm0, xmm4
jmp 0x1004fa1b
subss xmm1, xmm0
movaps xmm0, xmm2
andps xmm1, xmm4
subss xmm0, xmm1
movaps xmm1, xmm2
subss xmm1, xmm0
movaps xmm0, xmm1
mulss xmm1, dword [0x1019b9b4]
addss xmm0, dword [0x1019bb78]
cvtps2pd xmm1, xmm1
mulss xmm0, dword [0x1019b9b4]
movsd qword [ebp - 0x48], xmm1
cvtps2pd xmm0, xmm0
movsd qword [ebp - 0x58], xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_cos_precise
cvtsd2ss xmm0, xmm0
mulss xmm0, dword [0x1132293c]
movss dword [ebp - 0x24], xmm0
movsd xmm0, qword [ebp - 0x48]
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_cos_precise
movss xmm2, dword [ebp - 0x24]
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm0
movsd xmm0, qword [ebp - 0x58]
mulss xmm1, dword [0x11322938]
addss xmm2, xmm1
movss dword [edi + 0x24], xmm2
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_sin_precise
cvtsd2ss xmm0, xmm0
mulss xmm0, dword [0x1132293c]
movss dword [ebp - 0x24], xmm0
movsd xmm0, qword [ebp - 0x48]
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_sin_precise
movss xmm1, dword [ebp - 0x24]
cvtsd2ss xmm0, xmm0
mulss xmm0, dword [0x11322938]
addss xmm1, xmm0
movss dword [edi + 0x28], xmm1
mov eax, dword [ebp - 0x84]
mov ecx, dword [ebp - 0x4c]
lea esi, [eax + eax*8]
mov eax, dword [edi + 0x24]
mov dword [esi*4 + 0x11321734], eax
mov eax, dword [edi + 0x28]
mov dword [esi*4 + 0x11321738], eax
mov eax, dword [edi + 0x30]
mov dword [esi*4 + 0x1132173c], eax
mov eax, dword [ecx]
mov dword [esi*4 + 0x11321728], eax
mov eax, dword [ecx + 4]
mov dword [esi*4 + 0x1132172c], eax
mov eax, dword [ecx + 8]
mov dword [esi*4 + 0x11321730], eax
mov eax, dword [0x1131f3ec]
mov ecx, dword [eax]
call fcn.1003ab00
mov ecx, dword [eax]
mov dword [esi*4 + 0x11321740], ecx
mov ecx, dword [eax + 4]
mov dword [esi*4 + 0x11321744], ecx
mov ecx, dword [0x1131f3ec]
mov eax, dword [eax + 8]
mov dword [esi*4 + 0x11321748], eax
mov ecx, dword [ecx]
call fcn.1003aca0
cmp byte [0x11322930], 0
jne 0x1004fc4d
mov eax, dword [0x1131f3ec]
mov ecx, dword [eax]
call fcn.1003a980
test byte [eax], 1
jne 0x1004fc4d
mov eax, dword [0x1131f3ec]
mov ecx, dword [eax]
call fcn.1003aca0
movss xmm0, dword [eax + 8]
comiss xmm0, dword [0x1019b994]
ja 0x1004fc4d
mov ecx, dword [0x1132170c]
push edi
call fcn.10063e60
push edi
call fcn.1004dcb0
add esp, 4
mov byte [0x11322930], al
cmp byte [0x113216f8], 0
jne 0x1004fc46
mov eax, dword [0x1131f3ec]
mov ecx, dword [eax]
call fcn.1003aca0
mov esi, dword [ebp - 0x84]
movss xmm0, dword [eax]
movss dword [0x1118f758], xmm0
movss xmm0, dword [eax + 4]
movss dword [0x1118f75c], xmm0
movss xmm0, dword [eax + 8]
mov al, byte [0x11322930]
movss dword [0x1118f760], xmm0
test al, al
je 0x1004fc2e
mov ecx, dword [0x113200e8]
mov eax, dword [ebp - 0x70]
mov dword [0x11322950], eax
mov dword [0x11322934], esi
mov eax, dword [ecx + 0x1c]
inc eax
mov dword [0x11321700], esi
add eax, esi
mov dword [0x113216fc], eax
mov eax, dword [ecx + 0x1c]
mov dword [0x11321704], eax
movsx eax, word [edi + 0x44]
cdq
xor eax, edx
sub eax, edx
mov dword [0x11321708], eax
mov al, byte [0x11322930]
inc esi
cmp esi, dword [0x1131f578]
mov dword [ebp - 0x84], esi
mov esi, dword [ebp - 0x4c]
jl 0x1004e4e6
jmp 0x1004fc4d
mov byte [0x113216f8], 0
mov esi, dword [ebp - 0x4c]
movss xmm0, dword [ebp - 0x5c]
mov ecx, dword [ebp - 0x70]
mov eax, dword [ebp - 0xa0]
inc ecx
movss dword [esi], xmm0
movss xmm0, dword [ebp - 0x3c]
movss dword [esi + 4], xmm0
movss xmm0, dword [ebp - 0x60]
movss dword [esi + 8], xmm0
movss xmm0, dword [ebp - 0x68]
movss dword [edi + 0x24], xmm0
movss xmm0, dword [ebp - 0x6c]
movss dword [edi + 0x28], xmm0
mov dword [edi + 0x30], eax
mov dword [ebp - 0x70], ecx
cmp ecx, dword [ebp - 0xfc]
jl 0x1004e3f7
cmp byte [0x11322930], 0
je 0x1004fe91
mov eax, dword [0x11320304]
mov eax, dword [eax + 0x1c]
dec eax
push eax
mov eax, dword [0x1118f47c]
push 0
mov eax, dword [eax]
call eax
mov eax, dword [0x1131f3ec]
mov ecx, dword [eax]
call fcn.1003ab00
movq xmm0, qword [eax]
mov eax, dword [eax + 8]
mov dword [ebp - 0x94], eax
mov eax, dword [0x11322990]
movss xmm2, dword [ebp - 0x94]
movq qword [ebp - 0x9c], xmm0
movss xmm1, dword [ebp - 0x9c]
lea esi, [eax + eax*8]
movss xmm0, dword [ebp - 0x98]
subss xmm1, dword [esi*4 + 0x11321740]
subss xmm0, dword [esi*4 + 0x11321744]
subss xmm2, dword [esi*4 + 0x11321748]
mov dword [ebp - 0x18], eax
cmp eax, dword [0x11322934]
jg 0x1004fe6d
mulss xmm0, xmm0
mulss xmm1, xmm1
mulss xmm2, xmm2
addss xmm0, xmm1
xorps xmm1, xmm1
addss xmm0, xmm2
cvtps2pd xmm0, xmm0
ucomisd xmm1, xmm0
ja 0x1004fd50
sqrtsd xmm0, xmm0
jmp 0x1004fd55
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_sqrt_precise
cvtsd2ss xmm0, xmm0
comiss xmm0, dword [0x1019b9cc]
ja 0x1004fe6d
test byte [esi*4 + 0x1132173c], 4
mov eax, edi
mov edx, dword [edi + 0x30]
mov ecx, 0x30
je 0x1004fd86
mov byte [0x11321724], 1
or edx, 4
jmp 0x1004fd89
and edx, 0xfffffffb
mov dword [eax + ecx], edx
mov eax, edx
and eax, 0xfffffffd
or edx, 2
test byte [0x113202ec], 1
cmove edx, eax
mov dword [edi + 0x30], edx
mov eax, dword [esi*4 + 0x11321734]
mov dword [edi + 0x24], eax
mov eax, dword [esi*4 + 0x11321738]
mov dword [edi + 0x28], eax
mov eax, dword [esi*4 + 0x11321728]
mov dword [edi + 0xc], eax
mov eax, dword [esi*4 + 0x1132172c]
mov dword [edi + 0x10], eax
mov eax, dword [esi*4 + 0x11321730]
mov dword [edi + 0x14], eax
cmp byte [0x1131f58e], 0
je 0x1004fe12
push edi
call fcn.100504f0
movss xmm0, dword [ebp - 0x5c]
movss dword [edi + 0xc], xmm0
movss xmm0, dword [ebp - 0x3c]
movss dword [edi + 0x10], xmm0
movss xmm0, dword [ebp - 0x60]
push edi
movss dword [edi + 0x14], xmm0
call fcn.100503e0
add esp, 8
cmp byte [0x1131f58e], 0
jne 0x1004fe51
cmp dword [0x11322950], 2
jle 0x1004fe51
cmp byte [0x1131f58d], 0
jne 0x1004fe51
mov ecx, dword [0x113200e0]
lea eax, [edi + 0xc]
push eax
mov edx, dword [ecx]
call dword [edx + 0x4c]
mov eax, dword [0x11322990]
inc eax
mov dword [0x11322990], eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
mov eax, dword [ebp - 0x18]
inc eax
mov dword [0x11322990], eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
mov dword [0x11322990], 0
jmp 0x1004fe8a
mov byte [0x11321724], 0
mov dword [0x11322934], 0
mov byte [0x11322930], 0
mov ecx, dword [ebp - 0xc]
pop edi
mov dword fs:[0], ecx
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
push 0x11322964
call fcn.10131827
add esp, 4
cmp dword [0x11322964], 0xffffffff
jne 0x1004eafa
mov ecx, dword [0x113200ec]
push 0x110dc928
mov dword [ebp - 4], 0
mov eax, dword [ecx]
mov eax, dword [eax + 0x44]
call eax
push 0x11322964
mov dword [0x11322960], eax
mov dword [ebp - 4], 0xffffffff
call fcn.101317d6
add esp, 4
jmp 0x1004eafa
push 0x11322970
call fcn.10131827
add esp, 4
cmp dword [0x11322970], 0xffffffff
jne 0x1004edf5
mov ecx, dword [0x113200ec]
push 0x110dc938
mov dword [ebp - 4], 1
mov eax, dword [ecx]
mov eax, dword [eax + 0x44]
call eax
push 0x11322970
mov dword [0x1132296c], eax
mov dword [ebp - 4], 0xffffffff
call fcn.101317d6
add esp, 4
jmp 0x1004edf5
push 0x1132297c
call fcn.10131827
add esp, 4
cmp dword [0x1132297c], 0xffffffff
jne 0x1004f135
mov ecx, dword [0x113200ec]
push 0x110dc948
mov dword [ebp - 4], 2
mov eax, dword [ecx]
mov eax, dword [eax + 0x44]
call eax
push 0x1132297c
mov dword [0x11322978], eax
mov dword [ebp - 4], 0xffffffff
call fcn.101317d6
add esp, 4
jmp 0x1004f135
push 0x11322988
call fcn.10131827
add esp, 4
cmp dword [0x11322988], 0xffffffff
jne 0x1004f68c
mov ecx, dword [0x113200ec]
push 0x110dc958
mov dword [ebp - 4], 3
mov eax, dword [ecx]
mov eax, dword [eax + 0x44]
call eax
push 0x11322988
mov dword [0x11322984], eax
mov dword [ebp - 4], 0xffffffff
call fcn.101317d6
add esp, 4
jmp 0x1004f68c