Function at 0x1003ab90
Capabilities:
Access peb ldr_data
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 0x1011af35
push eax
mov dword fs:[0], esp
push ebx
sub esp, 0x180
cmp byte [0x1128ffec], 0
push esi
push edi
mov edi, dword [ebx + 8]
je 0x1003c83c
push dword [0x11290010]
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x1003c83c
mov eax, dword [0x1128fed4]
mov ecx, dword [eax]
test ecx, ecx
je 0x1003c818
call fcn.100b55c0
test al, al
je 0x1003c818
cmp byte [0x11292c68], 0
je 0x1003ac29
mov edx, dword [edi + 0x30]
mov eax, edx
or eax, 2
and edx, 0xfffffffd
test byte [0x11290d54], 1
cmovne edx, eax
or edx, 4
mov dword [edi + 0x30], edx
test byte [0x11292c70], 1
jne 0x1003c84d
mov cl, byte [0x1129002c]
test cl, cl
je 0x1003ac4a
mov dword [0x11290024], 0x43330000
mov eax, dword [0x11297ea4]
lea esi, [edi + 0xc]
movss xmm0, dword [edi + 0x24]
movss xmm1, dword [0x10122b78]
mov dword [ebp - 0x78], eax
mov eax, dword fs:[0x2c]
mov dword [ebp - 0x7c], eax
mov eax, dword [edi + 0x30]
movss dword [ebp - 0x60], xmm0
movss xmm0, dword [edi + 0x28]
mov dword [ebp - 0x74], eax
mov eax, dword [esi + 8]
movss dword [ebp - 0x70], xmm0
movq xmm0, qword [esi]
mov dword [ebp - 0x90], eax
mov eax, dword [0x11290028]
movq qword [ebp - 0x98], xmm0
xorps xmm0, xmm0
test eax, eax
jne 0x1003aca6
movaps xmm0, xmm1
jmp 0x1003acd1
cmp eax, 1
jne 0x1003acb5
movss xmm0, dword [0x11064acc]
jmp 0x1003acd1
cmp eax, 2
jne 0x1003acc4
movss xmm0, dword [0x10122b74]
jmp 0x1003acd1
cmp eax, 3
jne 0x1003acd1
movss xmm0, dword [0x10122ce8]
test cl, cl
je 0x1003acd8
movaps xmm0, xmm1
cmp byte [0x11292c74], 0
movss xmm4, dword [ebp - 0x98]
movss xmm5, dword [ebp - 0x90]
movaps xmm2, xmm4
movss xmm1, dword [ebp - 0x94]
movaps xmm3, xmm5
subss xmm2, dword [0x11292c98]
subss xmm3, dword [0x11292ca0]
movss dword [ebp - 0x38], xmm1
subss xmm1, dword [0x11292c9c]
movss dword [ebp - 0x64], xmm4
mulss xmm2, xmm0
mulss xmm3, xmm0
mulss xmm1, xmm0
movss xmm0, dword [esi]
movss dword [0x11292c98], xmm0
movss xmm0, dword [esi + 4]
movss dword [0x11292c9c], xmm0
movss xmm0, dword [esi + 8]
movss dword [ebp - 0x68], xmm5
movss dword [ebp - 0x80], xmm2
movss dword [ebp - 0x84], xmm1
movss dword [ebp - 0x88], xmm3
movss dword [0x11292ca0], xmm0
jne 0x1003c66e
xor eax, eax
mov dword [ebp - 0x6c], eax
cmp dword [0x11290018], eax
jle 0x1003c854
mov eax, dword [0x11292c94]
test eax, eax
je 0x1003ad98
mov dword [ebp - 0x6c], eax
mov dword [0x11292c94], 0
mov eax, dword [0x111013cc]
mov ecx, dword [eax]
mov eax, dword [0x11290d6c]
mov eax, dword [eax + 0x1c]
dec eax
push eax
push 0
call ecx
mov eax, dword [0x1128fed4]
mov ecx, dword [eax]
call fcn.1001ab40
movss xmm4, dword [ebp - 0x64]
movss xmm1, dword [ebp - 0x38]
movss xmm5, dword [ebp - 0x68]
movss xmm0, dword [eax]
movss xmm2, dword [ebp - 0x60]
movss xmm3, dword [ebp - 0x70]
mov edx, dword [ebp - 0x74]
movss dword [0x1110167c], xmm0
movss xmm0, dword [eax + 4]
movss dword [0x11101680], xmm0
movss xmm0, dword [eax + 8]
movss dword [0x11101684], xmm0
movss dword [esi], xmm4
movss dword [esi + 4], xmm1
movss dword [esi + 8], xmm5
movq xmm0, qword [esi]
mov eax, dword [esi + 8]
movss dword [edi + 0x24], xmm2
movss dword [edi + 0x28], xmm3
mov dword [edi + 0x30], edx
cmp dword [0x11290014], 0
movq qword [ebp - 0x108], xmm0
mov dword [ebp - 0x100], eax
mov dword [ebp - 0x8c], 0
jle 0x1003c633
movss xmm0, dword [ebp - 0x100]
mov al, byte [0x11292c74]
movss dword [ebp - 0x34], xmm0
movss xmm0, dword [ebp - 0x104]
movss dword [ebp - 0x4c], xmm0
movss xmm0, dword [ebp - 0x108]
movss dword [ebp - 0x30], xmm0
nop
test al, al
jne 0x1003c617
mov eax, dword [0x1128fed4]
mov ecx, dword [eax]
call fcn.1001a820
test byte [eax], 1
jne 0x1003c617
mov eax, dword [0x1128fed4]
mov ecx, dword [eax]
call fcn.1001ab40
xorps xmm3, xmm3
movss xmm0, dword [eax + 8]
comiss xmm0, xmm3
ja 0x1003c617
cmp byte [0x1129002c], 0
mov ecx, dword [ebp - 0x6c]
je 0x1003b994
test ecx, ecx
je 0x1003b998
mov eax, dword [edi + 0x30]
cmp ecx, 1
jne 0x1003aee3
or eax, 4
mov dword [edi + 0x24], 0
mov dword [edi + 0x30], eax
mov dword [edi + 0x28], 0
jmp 0x1003c4b3
cmp ecx, 2
jne 0x1003b127
movss xmm2, dword [ebp - 0x4c]
and eax, 0xfffffffb
movss xmm5, dword [ebp - 0x38]
movaps xmm1, xmm2
movss xmm0, dword [ebp - 0x60]
subss xmm1, xmm5
movss xmm4, dword [0x10122c00]
movss dword [edi + 0x24], xmm0
movss xmm0, dword [ebp - 0x70]
mov dword [edi + 0x30], eax
andps xmm1, xmm4
movss dword [edi + 0x28], xmm0
comiss xmm1, dword [0x10122b94]
jbe 0x1003af3a
movss xmm0, dword [0x11064c1c]
subss xmm0, xmm1
movaps xmm1, xmm0
comiss xmm1, dword [0x11290024]
jae 0x1003afca
movss xmm0, dword [ebp - 0x84]
lea ecx, [ebp - 0x138]
movss xmm1, dword [ebp - 0x30]
addss xmm0, xmm2
movss xmm2, dword [ebp - 0x34]
addss xmm1, dword [ebp - 0x80]
addss xmm2, dword [ebp - 0x88]
movss dword [ebp - 0x134], xmm0
movss dword [ebp - 0x138], xmm1
movss dword [ebp - 0x130], xmm2
call fcn.1000c650
lea ecx, [ebp - 0x168]
push ecx
mov ecx, eax
call fcn.1000be80
movss xmm4, dword [0x10122c00]
xorps xmm3, xmm3
movss xmm5, dword [ebp - 0x38]
movss xmm0, dword [eax]
movss xmm2, dword [eax + 4]
movss xmm1, dword [eax + 8]
movss dword [ebp - 0x30], xmm0
movss dword [ebp - 0x4c], xmm2
movss dword [ebp - 0x34], xmm1
jmp 0x1003afd4
movss xmm0, dword [ebp - 0x30]
movss xmm1, dword [ebp - 0x34]
movss dword [esi], xmm0
movss dword [esi + 4], xmm2
movss dword [esi + 8], xmm1
cmp byte [0x1129002e], 0
je 0x1003c4b3
movss xmm2, dword [0x11064c1c]
movss dword [0x111013d0], xmm0
movss xmm0, dword [edi + 0x10]
movss dword [0x111013d4], xmm0
movss xmm0, dword [edi + 0x14]
movss dword [0x111013d8], xmm0
movss xmm0, dword [edi + 0x24]
movss dword [0x11292c7c], xmm0
movss xmm0, dword [edi + 0x28]
movss dword [0x11292c80], xmm0
movss xmm0, dword [ebp - 0x64]
movss dword [esi], xmm0
movss xmm0, dword [ebp - 0x68]
movss dword [esi + 4], xmm5
movss dword [esi + 8], xmm0
movss xmm1, dword [0x111013d4]
comiss xmm3, xmm1
jbe 0x1003b05c
addss xmm1, xmm2
movss xmm0, dword [edi + 0x10]
comiss xmm3, xmm0
jbe 0x1003b06a
addss xmm0, xmm2
comiss xmm1, xmm0
jbe 0x1003b078
subss xmm0, xmm1
andps xmm0, xmm4
jmp 0x1003b086
subss xmm1, xmm0
movaps xmm0, xmm2
andps xmm1, xmm4
subss xmm0, xmm1
movaps xmm1, xmm2
subss xmm1, xmm0
movaps xmm0, xmm1
movss dword [ebp - 0x14], xmm1
mulss xmm0, dword [0x10122b60]
cvtps2pd xmm0, xmm0
movsd qword [ebp - 0x28], xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_cos_precise
cvtsd2ss xmm0, xmm0
movss dword [ebp - 0x1c], xmm0
movss xmm0, dword [ebp - 0x14]
addss xmm0, dword [0x10122d18]
mulss xmm0, dword [0x10122b60]
movss dword [ebp - 0x14], xmm0
cvtps2pd xmm0, xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_cos_precise
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm0
movss xmm0, dword [ebp - 0x1c]
mulss xmm0, dword [0x11292c7c]
mulss xmm1, dword [0x11292c80]
addss xmm1, xmm0
movsd xmm0, qword [ebp - 0x28]
movss dword [edi + 0x24], xmm1
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_sin_precise
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm0
movss dword [ebp - 0x1c], xmm1
movss xmm1, dword [ebp - 0x14]
cvtps2pd xmm0, xmm1
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_sin_precise
movss xmm1, dword [ebp - 0x1c]
jmp 0x1003bf2f
cmp ecx, 3
jne 0x1003b36b
movss xmm2, dword [ebp - 0x4c]
or eax, 4
movss xmm5, dword [ebp - 0x38]
movaps xmm1, xmm2
movss xmm0, dword [ebp - 0x60]
subss xmm1, xmm5
movss xmm4, dword [0x10122c00]
movss dword [edi + 0x24], xmm0
movss xmm0, dword [ebp - 0x70]
mov dword [edi + 0x30], eax
andps xmm1, xmm4
movss dword [edi + 0x28], xmm0
comiss xmm1, dword [0x10122b94]
jbe 0x1003b17e
movss xmm0, dword [0x11064c1c]
subss xmm0, xmm1
movaps xmm1, xmm0
comiss xmm1, dword [0x11290024]
jae 0x1003b20e
movss xmm0, dword [ebp - 0x84]
lea ecx, [ebp - 0x144]
movss xmm1, dword [ebp - 0x30]
addss xmm0, xmm2
movss xmm2, dword [ebp - 0x34]
addss xmm1, dword [ebp - 0x80]
addss xmm2, dword [ebp - 0x88]
movss dword [ebp - 0x140], xmm0
movss dword [ebp - 0x144], xmm1
movss dword [ebp - 0x13c], xmm2
call fcn.1000c650
lea ecx, [ebp - 0x174]
push ecx
mov ecx, eax
call fcn.1000be80
movss xmm4, dword [0x10122c00]
xorps xmm3, xmm3
movss xmm5, dword [ebp - 0x38]
movss xmm0, dword [eax]
movss xmm2, dword [eax + 4]
movss xmm1, dword [eax + 8]
movss dword [ebp - 0x30], xmm0
movss dword [ebp - 0x4c], xmm2
movss dword [ebp - 0x34], xmm1
jmp 0x1003b218
movss xmm0, dword [ebp - 0x30]
movss xmm1, dword [ebp - 0x34]
movss dword [esi], xmm0
movss dword [esi + 4], xmm2
movss dword [esi + 8], xmm1
cmp byte [0x1129002e], 0
je 0x1003c4b3
movss xmm2, dword [0x11064c1c]
movss dword [0x111013d0], xmm0
movss xmm0, dword [edi + 0x10]
movss dword [0x111013d4], xmm0
movss xmm0, dword [edi + 0x14]
movss dword [0x111013d8], xmm0
movss xmm0, dword [edi + 0x24]
movss dword [0x11292c7c], xmm0
movss xmm0, dword [edi + 0x28]
movss dword [0x11292c80], xmm0
movss xmm0, dword [ebp - 0x64]
movss dword [esi], xmm0
movss xmm0, dword [ebp - 0x68]
movss dword [esi + 4], xmm5
movss dword [esi + 8], xmm0
movss xmm1, dword [0x111013d4]
comiss xmm3, xmm1
jbe 0x1003b2a0
addss xmm1, xmm2
movss xmm0, dword [edi + 0x10]
comiss xmm3, xmm0
jbe 0x1003b2ae
addss xmm0, xmm2
comiss xmm1, xmm0
jbe 0x1003b2bc
subss xmm0, xmm1
andps xmm0, xmm4
jmp 0x1003b2ca
subss xmm1, xmm0
movaps xmm0, xmm2
andps xmm1, xmm4
subss xmm0, xmm1
movaps xmm1, xmm2
subss xmm1, xmm0
movaps xmm0, xmm1
movss dword [ebp - 0x14], xmm1
mulss xmm0, dword [0x10122b60]
cvtps2pd xmm0, xmm0
movsd qword [ebp - 0x28], xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_cos_precise
cvtsd2ss xmm0, xmm0
movss dword [ebp - 0x1c], xmm0
movss xmm0, dword [ebp - 0x14]
addss xmm0, dword [0x10122d18]
mulss xmm0, dword [0x10122b60]
movss dword [ebp - 0x14], xmm0
cvtps2pd xmm0, xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_cos_precise
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm0
movss xmm0, dword [ebp - 0x1c]
mulss xmm0, dword [0x11292c7c]
mulss xmm1, dword [0x11292c80]
addss xmm1, xmm0
movsd xmm0, qword [ebp - 0x28]
movss dword [edi + 0x24], xmm1
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_sin_precise
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm0
movss dword [ebp - 0x1c], xmm1
movss xmm1, dword [ebp - 0x14]
cvtps2pd xmm0, xmm1
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_sin_precise
movss xmm1, dword [ebp - 0x1c]
jmp 0x1003bf2f
cmp ecx, 4
jne 0x1003b696
movss xmm0, dword [0x11101688]
and eax, 0xfffffffb
xorps xmm0, xmmword [0x10122c10]
mov dword [edi + 0x30], eax
mov eax, dword [0x1128fed4]
movss dword [0x11101688], xmm0
mov ecx, dword [eax]
call fcn.1001ab40
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 - 0xb0], 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 0x1003b3f2
sqrtsd xmm0, xmm0
jmp 0x1003b3f7
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_sqrt_precise
xorps xmm1, xmm1
mov dword [ebp - 0x5c], 0x42b40000
cvtsd2ss xmm1, xmm0
mov dword [ebp - 0x1c], 0
movss xmm0, dword [0x11064b1c]
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 - 0x1c]
lea edx, [ebp - 0xfc]
lea esi, [ebp - 0x5c]
xorps xmm1, xmm1
mulss xmm0, dword [0x10122b8c]
comiss xmm1, xmm0
movss dword [ebp - 0xfc], xmm0
seta al
test al, al
cmove ecx, edx
comiss xmm0, dword [0x10122d18]
seta al
test al, al
mov eax, dword [ebp - 0x78]
cmove esi, ecx
mov ecx, dword [ebp - 0x7c]
mov ecx, dword [ecx + eax*4]
mov eax, dword [0x11292ca8]
cmp eax, dword [ecx + 4]
jg 0x1003c867
movss xmm0, dword [ebp - 0xac]
sub esp, 8
subss xmm0, dword [0x11292cac]
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 [0x11292ca4]
add esp, 8
fstp dword [ebp - 0x2c]
movss xmm0, dword [ebp - 0x2c]
andps xmm0, xmmword [0x10122c00]
mov eax, dword [ecx]
movss dword [ebp - 0x3c], xmm0
movss xmm0, dword [ebp - 0xac]
movss dword [0x11292cac], xmm0
mov eax, dword [eax + 0x30]
call eax
movss xmm0, dword [ebp - 0x3c]
movss xmm1, dword [esi]
comiss xmm1, xmm0
fstp dword [ebp - 0x14]
jae 0x1003b51f
comiss xmm0, dword [0x11064b30]
jae 0x1003b51f
movss xmm0, dword [ebp - 0x2c]
comiss xmm0, dword [0x10122b40]
movss xmm0, dword [ebp - 0x14]
jbe 0x1003bb87
xorps xmm0, xmmword [0x10122c10]
movss dword [edi + 0x28], xmm0
jmp 0x1003c4b3
lea eax, [ebp - 0xe0]
mov dword [ebp - 0xe0], 0
push eax
lea eax, [ebp - 0x114]
mov dword [ebp - 0xdc], 0
push eax
mov dword [ebp - 0xd8], 0
call fcn.100517c0
movss xmm0, dword [ebp - 0xac]
subss xmm0, dword [ebp - 0xdc]
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 [0x11064b30]
add esp, 8
divss xmm0, dword [ebp - 0x18]
mov dword [ebp - 0x54], 0x42b40000
mov dword [ebp - 0x3c], 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 ecx, [ebp - 0x2c]
lea edx, [ebp - 0x3c]
xorps xmm1, xmm1
movss xmm3, dword [ebp - 0x44]
mulss xmm0, dword [0x10122b8c]
movss xmm2, dword [ebp - 0x18]
movss xmm4, dword [0x11064b1c]
comiss xmm1, xmm0
movss dword [ebp - 0x2c], xmm0
seta al
test al, al
cmove edx, ecx
lea ecx, [ebp - 0x54]
comiss xmm0, dword [0x10122d18]
seta al
test al, al
cmove ecx, edx
movss xmm1, dword [ecx]
addss xmm1, xmm1
comiss xmm1, xmm3
jae 0x1003b615
comiss xmm4, xmm2
jae 0x1003b615
addss xmm1, dword [ebp - 0xdc]
movss xmm0, dword [ebp - 0x14]
xorps xmm0, xmmword [0x10122c10]
movss dword [ebp - 0xac], xmm1
jmp 0x1003b66d
movaps xmm0, xmm1
xorps xmm0, xmmword [0x10122c10]
comiss xmm3, xmm0
jae 0x1003b644
comiss xmm4, xmm2
jae 0x1003b644
movss xmm0, dword [ebp - 0xdc]
subss xmm0, xmm1
movss dword [ebp - 0xac], xmm0
movss xmm0, dword [ebp - 0x14]
jmp 0x1003b66d
movss xmm0, dword [0x11101688]
mulss xmm0, dword [esi]
addss xmm0, dword [ebp - 0xac]
movss dword [ebp - 0xac], xmm0
movss xmm0, dword [ebp - 0x14]
mulss xmm0, dword [0x11101688]
movss dword [edi + 0x28], xmm0
sub esp, 0xc
movq xmm0, qword [edi + 0xc]
mov ecx, esp
mov eax, dword [edi + 0x14]
movq qword [ecx], xmm0
movq xmm0, qword [ebp - 0xb0]
mov dword [ecx + 8], eax
mov ecx, dword [ebp - 0x24]
jmp 0x1003c260
cmp ecx, 5
jne 0x1003c4b3
movss xmm0, dword [0x1110168c]
or eax, 4
xorps xmm0, xmmword [0x10122c10]
mov dword [edi + 0x30], eax
mov eax, dword [0x1128fed4]
movss dword [0x1110168c], xmm0
mov ecx, dword [eax]
call fcn.1001ab40
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 - 0xbc], 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 - 0x5c], eax
addss xmm1, xmm0
cvtps2pd xmm0, xmm1
xorps xmm1, xmm1
ucomisd xmm1, xmm0
ja 0x1003b71d
sqrtsd xmm0, xmm0
jmp 0x1003b722
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 [0x11064b1c]
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 - 0x44]
lea edx, [ebp - 0x24]
xorps xmm1, xmm1
mulss xmm0, dword [0x10122b8c]
comiss xmm1, xmm0
movss dword [ebp - 0x44], xmm0
seta al
test al, al
cmove edx, ecx
lea ecx, [ebp - 0x54]
comiss xmm0, dword [0x10122d18]
seta al
test al, al
mov eax, dword [ebp - 0x78]
cmove ecx, edx
movss xmm0, dword [ecx]
mov ecx, dword [ebp - 0x7c]
movss dword [ebp - 0x1c], xmm0
mov ecx, dword [ecx + eax*4]
mov eax, dword [0x11292cb4]
cmp eax, dword [ecx + 4]
jg 0x1003c8b8
movss xmm0, dword [ebp - 0xb8]
sub esp, 8
subss xmm0, dword [0x11292cb8]
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 [0x11292cb0]
add esp, 8
fstp dword [ebp - 0x2c]
movss xmm0, dword [ebp - 0x2c]
andps xmm0, xmmword [0x10122c00]
mov eax, dword [ecx]
movss dword [ebp - 0x24], xmm0
movss xmm0, dword [ebp - 0xb8]
movss dword [0x11292cb8], 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 0x1003b830
comiss xmm1, dword [0x11064b30]
jae 0x1003b830
movss xmm0, dword [ebp - 0x2c]
jmp 0x1003bb72
lea eax, [ebp - 0xec]
mov dword [ebp - 0xec], 0
push eax
lea eax, [ebp - 0x120]
mov dword [ebp - 0xe8], 0
push eax
mov dword [ebp - 0xe4], 0
call fcn.100517c0
movss xmm0, dword [ebp - 0xb8]
subss xmm0, dword [ebp - 0xe8]
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 [0x11064b30]
add esp, 8
divss xmm0, dword [ebp - 0x18]
mov dword [ebp - 0x54], 0x42b40000
mov dword [ebp - 0x24], 0
fstp dword [ebp - 0x3c]
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 - 0x3c]
mulss xmm0, dword [0x10122b8c]
movss xmm2, dword [ebp - 0x18]
movss xmm4, dword [0x11064b1c]
comiss xmm1, xmm0
movss dword [ebp - 0x44], xmm0
cmovbe ecx, eax
lea eax, [ebp - 0x54]
comiss xmm0, dword [0x10122d18]
cmovbe eax, ecx
movss xmm1, dword [eax]
addss xmm1, xmm1
comiss xmm1, xmm3
jae 0x1003b91c
comiss xmm4, xmm2
jae 0x1003b91c
addss xmm1, dword [ebp - 0xe8]
movss dword [ebp - 0xb8], xmm1
movss xmm1, dword [ebp - 0x14]
xorps xmm1, xmmword [0x10122c10]
jmp 0x1003b975
movaps xmm0, xmm1
xorps xmm0, xmmword [0x10122c10]
comiss xmm3, xmm0
jae 0x1003b94b
comiss xmm4, xmm2
jae 0x1003b94b
movss xmm0, dword [ebp - 0xe8]
subss xmm0, xmm1
movss xmm1, dword [ebp - 0x14]
movss dword [ebp - 0xb8], xmm0
jmp 0x1003b975
movss xmm1, dword [ebp - 0x1c]
mulss xmm1, dword [0x1110168c]
addss xmm1, dword [ebp - 0xb8]
movss dword [ebp - 0xb8], xmm1
movss xmm1, dword [ebp - 0x14]
mulss xmm1, dword [0x1110168c]
sub esp, 0xc
movss dword [edi + 0x28], xmm1
movq xmm0, qword [esi]
mov ecx, esp
movq qword [ecx], xmm0
movq xmm0, qword [ebp - 0xbc]
jmp 0x1003c257
test ecx, ecx
jne 0x1003b9af
and dword [edi + 0x30], 0xfffffffb
mov dword [edi + 0x24], 0
mov dword [edi + 0x28], 0
jmp 0x1003c4b3
mov eax, dword [edi + 0x30]
cmp ecx, 1
jne 0x1003b9d0
or eax, 4
mov dword [edi + 0x24], 0
mov dword [edi + 0x30], eax
mov dword [edi + 0x28], 0
jmp 0x1003c4b3
cmp ecx, 2
jne 0x1003bf51
and eax, 0xfffffffb
mov dword [edi + 0x30], eax
cmp byte [0x1129002d], 0
je 0x1003bcff
mov eax, dword [0x1128fed4]
movss xmm0, dword [0x11101690]
xorps xmm0, xmmword [0x10122c10]
movss dword [0x11101690], xmm0
mov ecx, dword [eax]
call fcn.1001ab40
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 - 0xc8], 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 - 0x5c], eax
addss xmm1, xmm0
cvtps2pd xmm0, xmm1
xorps xmm1, xmm1
ucomisd xmm1, xmm0
ja 0x1003ba64
sqrtsd xmm0, xmm0
jmp 0x1003ba69
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 [0x11064b1c]
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 - 0x44]
lea edx, [ebp - 0x24]
xorps xmm1, xmm1
mulss xmm0, dword [0x10122b8c]
comiss xmm1, xmm0
movss dword [ebp - 0x44], xmm0
seta al
test al, al
cmove edx, ecx
lea ecx, [ebp - 0x54]
comiss xmm0, dword [0x10122d18]
seta al
test al, al
mov eax, dword [ebp - 0x78]
cmove ecx, edx
movss xmm0, dword [ecx]
mov ecx, dword [ebp - 0x7c]
movss dword [ebp - 0x2c], xmm0
mov ecx, dword [ecx + eax*4]
mov eax, dword [0x11292cc0]
cmp eax, dword [ecx + 4]
jg 0x1003c909
movss xmm0, dword [ebp - 0xc4]
sub esp, 8
subss xmm0, dword [0x11292cc4]
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 [0x11292cbc]
add esp, 8
fstp dword [ebp - 0x1c]
movss xmm0, dword [ebp - 0x1c]
andps xmm0, xmmword [0x10122c00]
mov eax, dword [ecx]
movss dword [ebp - 0x24], xmm0
movss xmm0, dword [ebp - 0xc4]
movss dword [0x11292cc4], xmm0
mov eax, dword [eax + 0x30]
call eax
movss xmm0, dword [ebp - 0x2c]
movss xmm1, dword [ebp - 0x24]
comiss xmm0, xmm1
fstp dword [ebp - 0x14]
jae 0x1003bb91
comiss xmm1, dword [0x11064b30]
jae 0x1003bb91
movss xmm0, dword [ebp - 0x1c]
comiss xmm0, dword [0x10122b40]
movss xmm0, dword [ebp - 0x14]
jbe 0x1003bb87
xorps xmm0, xmmword [0x10122c10]
movss dword [edi + 0x28], xmm0
jmp 0x1003c4b3
lea eax, [ebp - 0xf8]
mov dword [ebp - 0xf8], 0
push eax
lea eax, [ebp - 0x12c]
mov dword [ebp - 0xf4], 0
push eax
mov dword [ebp - 0xf0], 0
call fcn.100517c0
movss xmm0, dword [ebp - 0xc4]
subss xmm0, dword [ebp - 0xf4]
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 [0x11064b30]
add esp, 8
divss xmm0, dword [ebp - 0x18]
mov dword [ebp - 0x54], 0x42b40000
mov dword [ebp - 0x24], 0
fstp dword [ebp - 0x3c]
cvtps2pd xmm0, xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_atan_precise
cvtsd2ss xmm0, xmm0
lea ecx, [ebp - 0x44]
lea edx, [ebp - 0x24]
xorps xmm1, xmm1
movss xmm3, dword [ebp - 0x3c]
mulss xmm0, dword [0x10122b8c]
movss xmm2, dword [ebp - 0x18]
movss xmm4, dword [0x11064b1c]
comiss xmm1, xmm0
movss dword [ebp - 0x44], xmm0
seta al
test al, al
cmove edx, ecx
lea ecx, [ebp - 0x54]
comiss xmm0, dword [0x10122d18]
seta al
test al, al
cmove ecx, edx
movss xmm1, dword [ecx]
addss xmm1, xmm1
comiss xmm1, xmm3
jae 0x1003bc87
comiss xmm4, xmm2
jae 0x1003bc87
addss xmm1, dword [ebp - 0xf4]
movss dword [ebp - 0xc4], xmm1
movss xmm1, dword [ebp - 0x14]
xorps xmm1, xmmword [0x10122c10]
jmp 0x1003bce0
movaps xmm0, xmm1
xorps xmm0, xmmword [0x10122c10]
comiss xmm3, xmm0
jae 0x1003bcb6
comiss xmm4, xmm2
jae 0x1003bcb6
movss xmm0, dword [ebp - 0xf4]
subss xmm0, xmm1
movss xmm1, dword [ebp - 0x14]
movss dword [ebp - 0xc4], xmm0
jmp 0x1003bce0
movss xmm1, dword [ebp - 0x2c]
mulss xmm1, dword [0x11101690]
addss xmm1, dword [ebp - 0xc4]
movss dword [ebp - 0xc4], xmm1
movss xmm1, dword [ebp - 0x14]
mulss xmm1, dword [0x11101690]
sub esp, 0xc
movss dword [edi + 0x28], xmm1
movq xmm0, qword [esi]
mov ecx, esp
movq qword [ecx], xmm0
movq xmm0, qword [ebp - 0xc8]
jmp 0x1003c257
movss xmm2, dword [ebp - 0x4c]
movss xmm5, dword [ebp - 0x38]
movaps xmm1, xmm2
movss xmm0, dword [ebp - 0x60]
subss xmm1, xmm5
movss xmm4, dword [0x10122c00]
movss dword [edi + 0x24], xmm0
movss xmm0, dword [ebp - 0x70]
movss dword [edi + 0x28], xmm0
andps xmm1, xmm4
comiss xmm1, dword [0x10122b94]
jbe 0x1003bd47
movss xmm0, dword [0x11064c1c]
subss xmm0, xmm1
movaps xmm1, xmm0
comiss xmm1, dword [0x11290024]
jae 0x1003bdd7
movss xmm0, dword [ebp - 0x84]
lea ecx, [ebp - 0x150]
movss xmm1, dword [ebp - 0x30]
addss xmm0, xmm2
movss xmm2, dword [ebp - 0x34]
addss xmm1, dword [ebp - 0x80]
addss xmm2, dword [ebp - 0x88]
movss dword [ebp - 0x14c], xmm0
movss dword [ebp - 0x150], xmm1
movss dword [ebp - 0x148], xmm2
call fcn.1000c650
lea ecx, [ebp - 0x180]
push ecx
mov ecx, eax
call fcn.1000be80
movss xmm4, dword [0x10122c00]
xorps xmm3, xmm3
movss xmm5, dword [ebp - 0x38]
movss xmm0, dword [eax]
movss xmm2, dword [eax + 4]
movss xmm1, dword [eax + 8]
movss dword [ebp - 0x30], xmm0
movss dword [ebp - 0x4c], xmm2
movss dword [ebp - 0x34], xmm1
jmp 0x1003bde1
movss xmm0, dword [ebp - 0x30]
movss xmm1, dword [ebp - 0x34]
movss dword [esi], xmm0
movss dword [esi + 4], xmm2
movss dword [esi + 8], xmm1
cmp byte [0x1129002e], 0
je 0x1003c4b3
movss xmm2, dword [0x11064c1c]
movss dword [0x111013d0], xmm0
movss xmm0, dword [edi + 0x10]
movss dword [0x111013d4], xmm0
movss xmm0, dword [edi + 0x14]
movss dword [0x111013d8], xmm0
movss xmm0, dword [edi + 0x24]
movss dword [0x11292c7c], xmm0
movss xmm0, dword [edi + 0x28]
movss dword [0x11292c80], xmm0
movss xmm0, dword [ebp - 0x64]
movss dword [esi], xmm0
movss xmm0, dword [ebp - 0x68]
movss dword [esi + 4], xmm5
movss dword [esi + 8], xmm0
movss xmm1, dword [0x111013d4]
comiss xmm3, xmm1
jbe 0x1003be69
addss xmm1, xmm2
movss xmm0, dword [edi + 0x10]
comiss xmm3, xmm0
jbe 0x1003be77
addss xmm0, xmm2
comiss xmm1, xmm0
jbe 0x1003be85
subss xmm0, xmm1
andps xmm0, xmm4
jmp 0x1003be93
subss xmm1, xmm0
movaps xmm0, xmm2
andps xmm1, xmm4
subss xmm0, xmm1
movaps xmm1, xmm2
subss xmm1, xmm0
movaps xmm0, xmm1
movss dword [ebp - 0x18], xmm1
mulss xmm0, dword [0x10122b60]
cvtps2pd xmm0, xmm0
movsd qword [ebp - 0x48], xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_cos_precise
cvtsd2ss xmm0, xmm0
movss dword [ebp - 0x24], xmm0
movss xmm0, dword [ebp - 0x18]
addss xmm0, dword [0x10122d18]
mulss xmm0, dword [0x10122b60]
movss dword [ebp - 0x18], xmm0
cvtps2pd xmm0, xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_cos_precise
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm0
movss xmm0, dword [ebp - 0x24]
mulss xmm0, dword [0x11292c7c]
mulss xmm1, dword [0x11292c80]
addss xmm1, xmm0
movsd xmm0, qword [ebp - 0x48]
movss dword [edi + 0x24], xmm1
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_sin_precise
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm0
movss dword [ebp - 0x24], xmm1
movss xmm1, dword [ebp - 0x18]
cvtps2pd xmm0, xmm1
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_sin_precise
movss xmm1, dword [ebp - 0x24]
mulss xmm1, dword [0x11292c7c]
cvtsd2ss xmm0, xmm0
mulss xmm0, dword [0x11292c80]
addss xmm0, xmm1
movss dword [edi + 0x28], xmm0
jmp 0x1003c4b3
cmp ecx, 3
jne 0x1003c4b3
or eax, 4
mov dword [edi + 0x30], eax
cmp byte [0x1129002d], 0
je 0x1003c27a
mov eax, dword [0x1128fed4]
movss xmm0, dword [0x11101694]
xorps xmm0, xmmword [0x10122c10]
movss dword [0x11101694], xmm0
mov ecx, dword [eax]
call fcn.1001ab40
movq xmm0, qword [eax]
movq qword [ebp - 0xa4], xmm0
movq xmm0, qword [esi]
movss xmm1, dword [ebp - 0xa4]
mov eax, dword [eax + 8]
movq qword [ebp - 0xd4], xmm0
movss xmm0, dword [ebp - 0xa0]
mulss xmm1, xmm1
mov dword [ebp - 0x9c], eax
mov eax, dword [esi + 8]
mulss xmm0, xmm0
mov dword [ebp - 0x5c], eax
addss xmm1, xmm0
cvtps2pd xmm0, xmm1
xorps xmm1, xmm1
ucomisd xmm1, xmm0
ja 0x1003bfe5
sqrtsd xmm0, xmm0
jmp 0x1003bfea
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 [0x11064b1c]
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 - 0x44]
lea edx, [ebp - 0x24]
xorps xmm1, xmm1
mulss xmm0, dword [0x10122b8c]
comiss xmm1, xmm0
movss dword [ebp - 0x44], xmm0
seta al
test al, al
cmove edx, ecx
lea ecx, [ebp - 0x54]
comiss xmm0, dword [0x10122d18]
seta al
test al, al
mov eax, dword [ebp - 0x78]
cmove ecx, edx
movss xmm0, dword [ecx]
mov ecx, dword [ebp - 0x7c]
movss dword [ebp - 0x2c], xmm0
mov ecx, dword [ecx + eax*4]
mov eax, dword [0x11292ccc]
cmp eax, dword [ecx + 4]
jg 0x1003c95a
movss xmm0, dword [ebp - 0xd0]
sub esp, 8
subss xmm0, dword [0x11292cd0]
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 [0x11292cc8]
add esp, 8
fstp dword [ebp - 0x1c]
movss xmm0, dword [ebp - 0x1c]
andps xmm0, xmmword [0x10122c00]
mov eax, dword [ecx]
movss dword [ebp - 0x24], xmm0
movss xmm0, dword [ebp - 0xd0]
movss dword [0x11292cd0], xmm0
mov eax, dword [eax + 0x30]
call eax
movss xmm0, dword [ebp - 0x2c]
movss xmm1, dword [ebp - 0x24]
comiss xmm0, xmm1
fstp dword [ebp - 0x14]
jae 0x1003c0f8
comiss xmm1, dword [0x11064b30]
jae 0x1003c0f8
movss xmm0, dword [ebp - 0x1c]
jmp 0x1003b4fc
lea eax, [ebp - 0x98]
mov dword [ebp - 0x98], 0
push eax
lea eax, [ebp - 0xa4]
mov dword [ebp - 0x94], 0
push eax
mov dword [ebp - 0x90], 0
call fcn.100517c0
movss xmm0, dword [ebp - 0xd0]
subss xmm0, dword [ebp - 0x94]
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 [0x11064b30]
add esp, 8
divss xmm0, dword [ebp - 0x18]
mov dword [ebp - 0x54], 0x42b40000
mov dword [ebp - 0x24], 0
fstp dword [ebp - 0x3c]
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 - 0x3c]
mulss xmm0, dword [0x10122b8c]
movss xmm2, dword [ebp - 0x18]
movss xmm4, dword [0x11064b1c]
comiss xmm1, xmm0
movss dword [ebp - 0x44], xmm0
cmovbe ecx, eax
lea eax, [ebp - 0x54]
comiss xmm0, dword [0x10122d18]
cmovbe eax, ecx
movss xmm1, dword [eax]
addss xmm1, xmm1
comiss xmm1, xmm3
jae 0x1003c1e4
comiss xmm4, xmm2
jae 0x1003c1e4
addss xmm1, dword [ebp - 0x94]
movss dword [ebp - 0xd0], xmm1
movss xmm1, dword [ebp - 0x14]
xorps xmm1, xmmword [0x10122c10]
jmp 0x1003c23d
movaps xmm0, xmm1
xorps xmm0, xmmword [0x10122c10]
comiss xmm3, xmm0
jae 0x1003c213
comiss xmm4, xmm2
jae 0x1003c213
movss xmm0, dword [ebp - 0x94]
subss xmm0, xmm1
movss xmm1, dword [ebp - 0x14]
movss dword [ebp - 0xd0], xmm0
jmp 0x1003c23d
movss xmm1, dword [ebp - 0x2c]
mulss xmm1, dword [0x11101694]
addss xmm1, dword [ebp - 0xd0]
movss dword [ebp - 0xd0], xmm1
movss xmm1, dword [ebp - 0x14]
mulss xmm1, dword [0x11101694]
sub esp, 0xc
movss dword [edi + 0x28], xmm1
movq xmm0, qword [esi]
mov ecx, esp
movq qword [ecx], xmm0
movq xmm0, qword [ebp - 0xd4]
mov eax, dword [esi + 8]
mov dword [ecx + 8], eax
mov ecx, dword [ebp - 0x5c]
sub esp, 0xc
mov eax, esp
push edi
movq qword [eax], xmm0
mov dword [eax + 8], ecx
call fcn.10051010
add esp, 0x1c
jmp 0x1003c4b3
movss xmm2, dword [ebp - 0x4c]
movss xmm5, dword [ebp - 0x38]
movaps xmm1, xmm2
movss xmm0, dword [ebp - 0x60]
subss xmm1, xmm5
movss xmm4, dword [0x10122c00]
movss dword [edi + 0x24], xmm0
movss xmm0, dword [ebp - 0x70]
movss dword [edi + 0x28], xmm0
andps xmm1, xmm4
comiss xmm1, dword [0x10122b94]
jbe 0x1003c2c2
movss xmm0, dword [0x11064c1c]
subss xmm0, xmm1
movaps xmm1, xmm0
comiss xmm1, dword [0x11290024]
movss xmm0, dword [ebp - 0x30]
jae 0x1003c34e
addss xmm0, dword [ebp - 0x80]
lea ecx, [ebp - 0x15c]
movss dword [ebp - 0x15c], xmm0
movss xmm0, dword [ebp - 0x84]
addss xmm0, xmm2
movss dword [ebp - 0x158], xmm0
movss xmm0, dword [ebp - 0x34]
addss xmm0, dword [ebp - 0x88]
movss dword [ebp - 0x154], xmm0
call fcn.1000c650
lea ecx, [ebp - 0x18c]
push ecx
mov ecx, eax
call fcn.1000be80
movss xmm4, dword [0x10122c00]
xorps xmm3, xmm3
movss xmm5, dword [ebp - 0x38]
movss xmm0, dword [eax]
movss xmm2, dword [eax + 4]
movss xmm1, dword [eax + 8]
movss dword [ebp - 0x30], xmm0
movss dword [ebp - 0x4c], xmm2
movss dword [ebp - 0x34], xmm1
jmp 0x1003c353
movss xmm1, dword [ebp - 0x34]
movss dword [esi], xmm0
movss dword [esi + 4], xmm2
movss dword [esi + 8], xmm1
cmp byte [0x1129002e], 0
je 0x1003c4b3
movss xmm2, dword [0x11064c1c]
movss dword [0x111013d0], xmm0
movss xmm0, dword [edi + 0x10]
movss dword [0x111013d4], xmm0
movss xmm0, dword [edi + 0x14]
movss dword [0x111013d8], xmm0
movss xmm0, dword [edi + 0x24]
movss dword [0x11292c7c], xmm0
movss xmm0, dword [edi + 0x28]
movss dword [0x11292c80], xmm0
movss xmm0, dword [ebp - 0x64]
movss dword [esi], xmm0
movss xmm0, dword [ebp - 0x68]
movss dword [esi + 4], xmm5
movss dword [esi + 8], xmm0
movss xmm1, dword [0x111013d4]
comiss xmm3, xmm1
jbe 0x1003c3db
addss xmm1, xmm2
movss xmm0, dword [edi + 0x10]
comiss xmm3, xmm0
jbe 0x1003c3e9
addss xmm0, xmm2
comiss xmm1, xmm0
jbe 0x1003c3f7
subss xmm0, xmm1
andps xmm0, xmm4
jmp 0x1003c405
subss xmm1, xmm0
movaps xmm0, xmm2
andps xmm1, xmm4
subss xmm0, xmm1
movaps xmm1, xmm2
subss xmm1, xmm0
movaps xmm0, xmm1
mulss xmm1, dword [0x10122b60]
addss xmm0, dword [0x10122d18]
mulss xmm0, dword [0x10122b60]
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 [0x11292c7c]
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 [0x11292c80]
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 [0x11292c7c]
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 [0x11292c80]
addss xmm1, xmm0
movss dword [edi + 0x28], xmm1
mov eax, dword [ebp - 0x8c]
lea esi, [eax + eax*8]
mov eax, dword [edi + 0x24]
mov dword [esi*4 + 0x11291a74], eax
mov eax, dword [edi + 0x28]
mov dword [esi*4 + 0x11291a78], eax
mov eax, dword [edi + 0x30]
mov dword [esi*4 + 0x11291a7c], eax
mov eax, dword [edi + 0xc]
mov dword [esi*4 + 0x11291a68], eax
mov eax, dword [edi + 0x10]
mov dword [esi*4 + 0x11291a6c], eax
mov eax, dword [edi + 0x14]
mov dword [esi*4 + 0x11291a70], eax
mov eax, dword [0x1128fed4]
mov ecx, dword [eax]
call fcn.1001a9a0
cmp byte [0x11292c74], 0
mov ecx, dword [eax]
mov dword [esi*4 + 0x11291a80], ecx
mov ecx, dword [eax + 4]
mov dword [esi*4 + 0x11291a84], ecx
mov eax, dword [eax + 8]
mov dword [esi*4 + 0x11291a88], eax
jne 0x1003c614
mov eax, dword [0x1128fed4]
mov ecx, dword [eax]
call fcn.1001a820
test byte [eax], 1
jne 0x1003c614
mov eax, dword [0x1128fed4]
mov ecx, dword [eax]
call fcn.1001ab40
movss xmm0, dword [eax + 8]
comiss xmm0, dword [0x10122b40]
ja 0x1003c614
mov ecx, dword [0x11291a50]
push edi
call fcn.10051da0
push edi
call fcn.1003a8a0
mov byte [0x11292c74], al
add esp, 4
mov eax, dword [0x1128fed4]
mov ecx, dword [eax]
call fcn.1001ab40
mov esi, dword [ebp - 0x8c]
movss xmm0, dword [eax]
movss dword [0x1110167c], xmm0
movss xmm0, dword [eax + 4]
movss dword [0x11101680], xmm0
movss xmm0, dword [eax + 8]
mov al, byte [0x11292c74]
movss dword [0x11101684], xmm0
test al, al
je 0x1003c5fc
mov ecx, dword [0x11290b50]
mov eax, dword [ebp - 0x6c]
mov dword [0x11292c94], eax
mov dword [0x11292c78], esi
mov eax, dword [ecx + 0x1c]
inc eax
mov dword [0x11291a44], esi
add eax, esi
mov dword [0x11291a40], eax
mov eax, dword [ecx + 0x1c]
mov dword [0x11291a48], eax
movsx eax, word [edi + 0x44]
cdq
xor eax, edx
sub eax, edx
mov dword [0x11291a4c], eax
mov al, byte [0x11292c74]
inc esi
cmp esi, dword [0x11290014]
mov dword [ebp - 0x8c], esi
lea esi, [edi + 0xc]
jl 0x1003ae70
jmp 0x1003c617
lea esi, [edi + 0xc]
movss xmm1, dword [ebp - 0x38]
movss xmm2, dword [ebp - 0x60]
movss xmm3, dword [ebp - 0x70]
movss xmm4, dword [ebp - 0x64]
movss xmm5, dword [ebp - 0x68]
mov edx, dword [ebp - 0x74]
mov ecx, dword [ebp - 0x6c]
movss dword [esi], xmm4
inc ecx
movss dword [esi + 4], xmm1
movss dword [esi + 8], xmm5
movss dword [edi + 0x24], xmm2
movss dword [edi + 0x28], xmm3
mov dword [edi + 0x30], edx
mov dword [ebp - 0x6c], ecx
cmp ecx, dword [0x11290018]
jl 0x1003ad82
cmp byte [0x11292c74], 0
je 0x1003c854
mov eax, dword [0x11290d6c]
mov eax, dword [eax + 0x1c]
dec eax
push eax
mov eax, dword [0x111013cc]
push 0
mov eax, dword [eax]
call eax
mov eax, dword [0x1128fed4]
mov ecx, dword [eax]
call fcn.1001a9a0
mov ecx, dword [0x11292cd4]
mov dword [ebp - 0x18], ecx
movq xmm0, qword [eax]
mov eax, dword [eax + 8]
mov dword [ebp - 0x9c], eax
lea eax, [ecx + ecx*8]
movss xmm2, dword [ebp - 0x9c]
shl eax, 2
movq qword [ebp - 0xa4], xmm0
movss xmm1, dword [ebp - 0xa4]
movss xmm0, dword [ebp - 0xa0]
subss xmm1, dword [eax + 0x11291a80]
subss xmm0, dword [eax + 0x11291a84]
subss xmm2, dword [eax + 0x11291a88]
mov dword [ebp - 0x74], eax
cmp ecx, dword [0x11292c78]
jg 0x1003c7f4
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 0x1003c718
sqrtsd xmm0, xmm0
jmp 0x1003c71d
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_sqrt_precise
cvtsd2ss xmm0, xmm0
comiss xmm0, dword [0x10122b78]
ja 0x1003c7f4
mov eax, dword [ebp - 0x74]
mov edx, dword [edi + 0x30]
test byte [eax + 0x11291a7c], 4
je 0x1003c749
mov byte [0x11292c68], 1
or edx, 4
jmp 0x1003c74c
and edx, 0xfffffffb
mov ecx, dword [ebp - 0x74]
mov eax, edx
mov dword [edi + 0x30], edx
and eax, 0xfffffffd
or edx, 2
test byte [0x11290d54], 1
cmove edx, eax
mov dword [edi + 0x30], edx
mov eax, dword [ecx + 0x11291a74]
mov dword [edi + 0x24], eax
mov eax, dword [ecx + 0x11291a78]
mov dword [edi + 0x28], eax
mov eax, dword [ecx + 0x11291a68]
mov dword [esi], eax
mov eax, dword [ecx + 0x11291a6c]
mov dword [esi + 4], eax
mov eax, dword [ecx + 0x11291a70]
mov dword [esi + 8], eax
cmp byte [0x1129002e], 0
jne 0x1003c7d8
cmp dword [0x11292c94], 2
jle 0x1003c7d8
cmp byte [0x1129002d], 0
jne 0x1003c7d8
mov ecx, dword [0x11290b48]
push esi
mov eax, dword [ecx]
call dword [eax + 0x4c]
mov eax, dword [0x11292cd4]
inc eax
mov dword [0x11292cd4], 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 [0x11292cd4], 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 [0x11292cd4], 0
mov byte [0x11292c74], 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 byte [0x11292c74], 0
mov dword [0x11292c78], 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 byte [0x11292c74], 0
mov dword [0x11292c78], 0
mov byte [0x11292c68], 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 0x11292ca8
call fcn.10118384
add esp, 4
cmp dword [0x11292ca8], 0xffffffff
jne 0x1003b483
mov ecx, dword [0x11290b54]
push 0x11066d48
mov dword [ebp - 4], 0
mov eax, dword [ecx]
mov eax, dword [eax + 0x44]
call eax
push 0x11292ca8
mov dword [0x11292ca4], eax
mov dword [ebp - 4], 0xffffffff
call fcn.1011833a
add esp, 4
jmp 0x1003b483
push 0x11292cb4
call fcn.10118384
add esp, 4
cmp dword [0x11292cb4], 0xffffffff
jne 0x1003b7b1
mov ecx, dword [0x11290b54]
push 0x11066d58
mov dword [ebp - 4], 1
mov eax, dword [ecx]
mov eax, dword [eax + 0x44]
call eax
push 0x11292cb4
mov dword [0x11292cb0], eax
mov dword [ebp - 4], 0xffffffff
call fcn.1011833a
add esp, 4
jmp 0x1003b7b1
push 0x11292cc0
call fcn.10118384
add esp, 4
cmp dword [0x11292cc0], 0xffffffff
jne 0x1003baf8
mov ecx, dword [0x11290b54]
push 0x11066d68
mov dword [ebp - 4], 2
mov eax, dword [ecx]
mov eax, dword [eax + 0x44]
call eax
push 0x11292cc0
mov dword [0x11292cbc], eax
mov dword [ebp - 4], 0xffffffff
call fcn.1011833a
add esp, 4
jmp 0x1003baf8
push 0x11292ccc
call fcn.10118384
add esp, 4
cmp dword [0x11292ccc], 0xffffffff
jne 0x1003c079
mov ecx, dword [0x11290b54]
push 0x11066d78
mov dword [ebp - 4], 3
mov eax, dword [ecx]
mov eax, dword [eax + 0x44]
call eax
push 0x11292ccc
mov dword [0x11292cc8], eax
mov dword [ebp - 4], 0xffffffff
call fcn.1011833a
add esp, 4
jmp 0x1003c079