Function at 0x10017f80
Capabilities:
Check os version
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x404
cmp byte [0x102815ca], 0
push ebx
push esi
mov ebx, ecx
push edi
mov dword [esp + 0x1c], ebx
je 0x10018fd5
mov edi, dword [0x10281360]
test edi, edi
je 0x10018fd5
mov eax, edi
mov dword [esp + 0x18], eax
test eax, eax
je 0x10018fd5
mov eax, dword [0x1028135c]
test eax, eax
jne 0x10017ffb
mov edx, 0xe80c2f78
mov ecx, 0x10219689
call fcn.10004f10
mov edx, 0xc10bf213
mov ecx, 0x102195b1
mov esi, eax
call fcn.10004f10
mov edx, esi
mov ecx, eax
call fcn.10127750
mov edi, dword [0x10281360]
mov dword [0x1028135c], eax
mov ecx, dword [esp + 0x18]
cmp dword [ecx + eax], 0
jle 0x10018fd5
mov eax, dword [0x102813b4]
test eax, eax
jne 0x10018040
mov edx, 0xe80c2f78
mov ecx, 0x102197a5
call fcn.10004f10
mov edx, 0xc10bf213
mov ecx, 0x102195b1
mov esi, eax
call fcn.10004f10
mov edx, esi
mov ecx, eax
call fcn.10127750
mov dword [0x102813b4], eax
test byte [edi + eax], 1
jne 0x10018fd5
call fcn.1000b770
cmp eax, 9
je 0x10018fd5
cmp eax, 8
je 0x10018fd5
mov ecx, dword [0x10281360]
mov eax, dword [ecx]
mov eax, dword [eax + 0x28]
call eax
mov ecx, dword [0x10281360]
movq xmm0, qword [eax]
mov eax, dword [eax + 8]
mov dword [esp + 0x38], eax
mov eax, dword [ecx]
movq qword [esp + 0x30], xmm0
mov eax, dword [eax + 0xc]
call eax
mov ecx, dword [eax]
mov edx, dword [ecx + 4]
mov ecx, eax
call edx
mov ecx, dword [0x10281360]
movq xmm0, qword [eax]
mov eax, dword [eax + 8]
mov dword [esp + 0x4c], eax
mov eax, dword [ecx]
movq qword [esp + 0x44], xmm0
mov eax, dword [eax + 0xc]
call eax
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
mov ecx, eax
call edx
xorps xmm1, xmm1
movss dword [esp + 0x18], xmm1
movq xmm0, qword [eax]
mov eax, dword [eax + 8]
movq qword [esp + 0x50], xmm0
movss xmm0, dword [esp + 0x38]
mov dword [esp + 0x58], eax
mov dword [esp + 0x78], vtable.trace_world_only.0
movss dword [esp + 0x2c], xmm0
nop word [eax + eax]
movaps xmm0, xmm1
call fcn.1018c340
lea eax, [esp + 0x50]
mov dword [esp + 0x1e8], 0
push eax
movaps xmm1, xmm0
mov dword [esp + 0x1e8], 0
shufps xmm1, xmm0, 1
lea eax, [esp + 0x48]
addss xmm1, dword [esp + 0x34]
addss xmm0, dword [esp + 0x38]
push eax
lea eax, [esp + 0x2c]
mov dword [esp + 0x1e8], 0
push eax
lea eax, [esp + 0x3c]
movss dword [esp + 0x30], xmm1
push eax
lea ecx, [esp + 0xb0]
movss dword [esp + 0x38], xmm0
mov dword [esp + 0x204], 0
mov dword [esp + 0x200], 0
mov dword [esp + 0x1fc], 0
mov dword [esp + 0x210], 0
mov dword [esp + 0x20c], 0
mov dword [esp + 0x208], 0
mov dword [esp + 0xb8], 0
mov dword [esp + 0xb4], 0
mov dword [esp + 0xb0], 0
mov dword [esp + 0xc8], 0
mov dword [esp + 0xc4], 0
mov dword [esp + 0xc0], 0
mov dword [esp + 0xd8], 0
mov dword [esp + 0xd4], 0
mov dword [esp + 0xd0], 0
mov dword [esp + 0xe8], 0
mov dword [esp + 0xe4], 0
mov dword [esp + 0xe0], 0
call fcn.100146d0
mov ecx, dword [0x102812e4]
lea edx, [esp + 0x1e0]
push edx
lea edx, [esp + 0x7c]
push edx
mov eax, dword [ecx]
lea edx, [esp + 0xa8]
push 0x201400b
push edx
call dword [eax + 0x14]
movss xmm0, dword [0x10240668]
comiss xmm0, dword [esp + 0x20c]
jbe 0x1001826b
movss xmm0, dword [esp + 0x200]
ucomiss xmm0, dword [0x102404e0]
lahf
test ah, 0x44
jnp 0x10018297
movss xmm1, dword [esp + 0x18]
addss xmm1, dword [0x102405f4]
movss xmm0, dword [0x10240774]
comiss xmm0, xmm1
movss dword [esp + 0x18], xmm1
ja 0x100180f0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
movss xmm1, dword [esp + 0x1f8]
lea eax, [esp + 0x50]
mulss xmm1, dword [0x10240920]
lea ecx, [esp + 0xf0]
push eax
movss xmm2, dword [esp + 0x200]
lea eax, [esp + 0x48]
mulss xmm2, dword [0x10240920]
push eax
movaps xmm0, xmm1
movss dword [esp + 0x44], xmm1
addss xmm0, dword [esp + 0x38]
lea eax, [esp + 0x2c]
movss dword [esp + 0x20], xmm1
push eax
lea eax, [esp + 0x3c]
movss dword [esp + 0x4c], xmm2
push eax
movss dword [esp + 0x34], xmm0
movaps xmm0, xmm2
addss xmm0, dword [esp + 0x44]
movss dword [esp + 0x30], xmm2
mov dword [esp + 0x250], 0
mov dword [esp + 0x24c], 0
mov dword [esp + 0x248], 0
movss dword [esp + 0x38], xmm0
movss xmm0, dword [esp + 0x48]
movss dword [esp + 0x3c], xmm0
mov dword [esp + 0x25c], 0
mov dword [esp + 0x258], 0
mov dword [esp + 0x254], 0
mov dword [esp + 0x268], 0
mov dword [esp + 0x264], 0
mov dword [esp + 0x260], 0
mov dword [esp + 0x108], 0
mov dword [esp + 0x104], 0
mov dword [esp + 0x100], 0
mov dword [esp + 0x118], 0
mov dword [esp + 0x114], 0
mov dword [esp + 0x110], 0
mov dword [esp + 0x128], 0
mov dword [esp + 0x124], 0
mov dword [esp + 0x120], 0
mov dword [esp + 0x138], 0
mov dword [esp + 0x134], 0
mov dword [esp + 0x130], 0
call fcn.100146d0
mov ecx, dword [0x102812e4]
lea edx, [esp + 0x238]
push edx
lea edx, [esp + 0x7c]
push edx
mov eax, dword [ecx]
lea edx, [esp + 0xf8]
push 0x201400b
push edx
call dword [eax + 0x14]
movss xmm0, dword [esp + 0x264]
ucomiss xmm0, dword [0x10240668]
lahf
test ah, 0x44
jp 0x10018c66
fld dword [0x10240908]
lea ecx, [esp + 0x30]
fld dword [esp + 0x3c]
fst dword [esp + 0x18]
movss xmm1, dword [esp + 0x18]
fld dword [esp + 0x40]
fst dword [esp + 0x18]
movss xmm0, dword [esp + 0x18]
mulss xmm0, xmm0
mov dword [esp + 0x38], 0
mulss xmm1, xmm1
addss xmm1, xmm0
xorps xmm0, xmm0
sqrtss xmm0, xmm1
movss xmm1, dword [0x102407f0]
movss dword [esp + 0x18], xmm0
fld dword [esp + 0x18]
fxch st(1)
fxch st(3)
movss dword [esp + 0x20], xmm1
fxch st(1)
fpatan
fstp dword [esp + 0x18]
movss xmm0, dword [esp + 0x18]
fpatan
mulss xmm0, xmm1
fstp dword [esp + 0x18]
movss dword [esp + 0x30], xmm0
movss xmm0, dword [esp + 0x18]
mulss xmm0, xmm1
movss dword [esp + 0x34], xmm0
call fcn.10127580
mov eax, dword [0x102813d8]
mov edi, dword [0x10281360]
test eax, eax
jne 0x1001850e
mov edx, 0xe80c2f78
mov ecx, 0x10219945
call fcn.10004f10
mov edx, 0xc10bf213
mov ecx, 0x102195d9
mov esi, eax
call fcn.10004f10
mov edx, esi
mov ecx, eax
call fcn.10127750
mov dword [0x102813d8], eax
movq xmm0, qword [edi + eax]
mov eax, dword [edi + eax + 8]
movq qword [esp + 0x24], xmm0
movss xmm1, dword [esp + 0x28]
movss xmm0, dword [esp + 0x24]
mulss xmm1, xmm1
mov dword [esp + 0x2c], eax
mulss xmm0, xmm0
mov dword [esp + 0x60], 0
addss xmm1, xmm0
movss dword [esp + 0x18], xmm1
sqrtss xmm0, dword [esp + 0x18]
movss dword [esp + 0x60], xmm0
movss xmm0, dword [esp + 0x60]
comiss xmm0, dword [0x102404e0]
movss xmm2, dword [esp + 0x34]
jbe 0x10018623
fld dword [esp + 0x24]
lea ecx, [esp + 0x24]
fst dword [esp + 0x18]
movss xmm1, dword [esp + 0x18]
fld dword [esp + 0x28]
fst dword [esp + 0x18]
movss xmm0, dword [esp + 0x18]
mulss xmm0, xmm0
mulss xmm1, xmm1
fld dword [0x10240908]
addss xmm1, xmm0
xorps xmm0, xmm0
sqrtss xmm0, xmm1
movss dword [esp + 0x18], xmm0
fld dword [esp + 0x18]
fpatan
fstp dword [esp + 0x18]
fxch st(1)
movss xmm0, dword [esp + 0x18]
fpatan
mulss xmm0, dword [esp + 0x20]
fstp dword [esp + 0x18]
subss xmm0, dword [esp + 0x30]
movss dword [esp + 0x24], xmm0
movss xmm0, dword [esp + 0x18]
mulss xmm0, dword [esp + 0x20]
subss xmm0, xmm2
movss dword [esp + 0x28], xmm0
movss xmm0, dword [esp + 0x38]
xorps xmm0, xmmword [0x10240c20]
movss dword [esp + 0x2c], xmm0
call fcn.10127580
movss xmm0, dword [esp + 0x2c]
andps xmm0, xmmword [0x10240bf0]
comiss xmm0, dword [0x10240808]
ja 0x10018fd5
movss xmm2, dword [esp + 0x34]
subss xmm2, dword [ebx + 0x10]
mulss xmm2, dword [0x10240560]
movaps xmm0, xmm2
call fcn.1018c340
movss xmm4, dword [0x10240790]
movaps xmm3, xmm0
movss xmm5, dword [0x10240980]
mov edi, 1
shufps xmm0, xmm3, 1
movups xmmword [esp + 0x90], xmm3
movups xmmword [esp + 0x80], xmm0
jmp 0x10018674
mov ebx, dword [esp + 0x1c]
movd xmm1, edi
lea ecx, [esp + 0x340]
cvtdq2ps xmm1, xmm1
push ebx
movaps xmm2, xmm1
mulss xmm1, xmm3
mulss xmm2, xmm0
mulss xmm1, xmm5
mulss xmm2, xmm4
movss dword [esp + 0x24], xmm1
movss dword [esp + 0x1c], xmm2
call fcn.10017ee0
movss dword [esp + 0x364], xmm2
movss dword [esp + 0x368], xmm1
call fcn.1002a2e0
call fcn.1002a990
mov ecx, dword [0x10281360]
mov eax, dword [ecx]
mov eax, dword [eax + 0x28]
call eax
lea ecx, [esp + 0x140]
movq xmm0, qword [eax]
mov eax, dword [eax + 8]
movq qword [esp + 0x24], xmm0
movss xmm0, dword [esp + 0x24]
addss xmm0, dword [esp + 0x3c]
mov dword [esp + 0x2c], eax
lea eax, [esp + 0x50]
push eax
lea eax, [esp + 0x48]
mov dword [esp + 0x29c], 0
push eax
movss dword [esp + 0x38], xmm0
lea eax, [esp + 0x38]
movss xmm0, dword [esp + 0x30]
addss xmm0, dword [esp + 0x48]
push eax
lea eax, [esp + 0x30]
mov dword [esp + 0x2a0], 0
push eax
mov dword [esp + 0x2a0], 0
movss dword [esp + 0x44], xmm0
movss xmm0, dword [esp + 0x3c]
movss dword [esp + 0x48], xmm0
mov dword [esp + 0x2b4], 0
mov dword [esp + 0x2b0], 0
mov dword [esp + 0x2ac], 0
mov dword [esp + 0x2c0], 0
mov dword [esp + 0x2bc], 0
mov dword [esp + 0x2b8], 0
mov dword [esp + 0x158], 0
mov dword [esp + 0x154], 0
mov dword [esp + 0x150], 0
mov dword [esp + 0x168], 0
mov dword [esp + 0x164], 0
mov dword [esp + 0x160], 0
mov dword [esp + 0x178], 0
mov dword [esp + 0x174], 0
mov dword [esp + 0x170], 0
mov dword [esp + 0x188], 0
mov dword [esp + 0x184], 0
mov dword [esp + 0x180], 0
call fcn.100146d0
mov ecx, dword [0x102812e4]
lea edx, [esp + 0x290]
push edx
lea edx, [esp + 0x7c]
push edx
mov eax, dword [ecx]
lea edx, [esp + 0x148]
push 0x201400b
push edx
call dword [eax + 0x14]
movss xmm0, dword [0x10240668]
comiss xmm0, dword [esp + 0x2bc]
mov eax, dword [0x1028159c]
mov ecx, dword fs:[0x2c]
ja 0x10018bf0
mov esi, dword [eax + 0x1c]
mov eax, dword [0x1024b2f0]
dec esi
mov ebx, dword [ecx + eax*4]
mov eax, dword [0x10286fd0]
cmp eax, dword [ebx + 4]
jle 0x100188af
push 0x10286fd0
call fcn.1018b6e4
add esp, 4
cmp dword [0x10286fd0], 0xffffffff
jne 0x100188af
mov edx, str.55_8B_EC_8B_4D___56_E8_________8B_75
mov ecx, str.client.dll
call fcn.10007f00
push 0x10286fd0
mov dword [0x10286fd4], eax
call fcn.1018b693
add esp, 4
push esi
push 0
call dword [0x10286fd4]
movups xmm0, xmmword [esp + 0x80]
inc edi
movss xmm4, dword [0x10240790]
movss xmm5, dword [0x10240980]
movups xmm3, xmmword [esp + 0x90]
cmp edi, 5
jle 0x10018670
mov edi, 1
nop word [eax + eax]
mov ecx, dword [0x10281360]
movd xmm0, edi
cvtdq2ps xmm0, xmm0
mov eax, dword [ecx]
mov eax, dword [eax + 0x28]
movaps xmm1, xmm0
mulss xmm1, dword [esp + 0x80]
mulss xmm0, dword [esp + 0x90]
mulss xmm1, dword [0x10240790]
mulss xmm0, dword [0x10240980]
movss dword [esp + 0x18], xmm1
movss dword [esp + 0x20], xmm0
call eax
mov esi, dword [esp + 0x1c]
lea ecx, [esp + 0x3a8]
push esi
movq xmm0, qword [eax]
mov eax, dword [eax + 8]
movq qword [esp + 0x64], xmm0
mov dword [esp + 0x6c], eax
call fcn.10017ee0
movss xmm0, dword [esp + 0x18]
movss dword [esp + 0x3cc], xmm0
movss xmm0, dword [esp + 0x20]
movss dword [esp + 0x3d0], xmm0
call fcn.1002a2e0
call fcn.1002a990
lea ecx, [esp + 0x3a8]
call fcn.1002a2e0
call fcn.1002a990
mov ecx, dword [0x10281360]
mov eax, dword [ecx]
mov eax, dword [eax + 0x28]
call eax
movss xmm1, dword [esp + 0x68]
lea ecx, [esp + 0x190]
movss dword [esp + 0x2c], xmm1
movss dword [esp + 0x38], xmm1
movq xmm0, qword [eax]
lea eax, [esp + 0x50]
movq qword [esp + 0x24], xmm0
movss xmm0, dword [esp + 0x24]
addss xmm0, dword [esp + 0x3c]
push eax
lea eax, [esp + 0x48]
mov dword [esp + 0x2f4], 0
push eax
lea eax, [esp + 0x38]
mov dword [esp + 0x2f4], 0
movss dword [esp + 0x38], xmm0
movss xmm0, dword [esp + 0x30]
addss xmm0, dword [esp + 0x48]
push eax
lea eax, [esp + 0x30]
mov dword [esp + 0x2f4], 0
push eax
mov dword [esp + 0x30c], 0
movss dword [esp + 0x44], xmm0
mov dword [esp + 0x308], 0
mov dword [esp + 0x304], 0
mov dword [esp + 0x318], 0
mov dword [esp + 0x314], 0
mov dword [esp + 0x310], 0
mov dword [esp + 0x1a8], 0
mov dword [esp + 0x1a4], 0
mov dword [esp + 0x1a0], 0
mov dword [esp + 0x1b8], 0
mov dword [esp + 0x1b4], 0
mov dword [esp + 0x1b0], 0
mov dword [esp + 0x1c8], 0
mov dword [esp + 0x1c4], 0
mov dword [esp + 0x1c0], 0
mov dword [esp + 0x1d8], 0
mov dword [esp + 0x1d4], 0
mov dword [esp + 0x1d0], 0
call fcn.100146d0
mov ecx, dword [0x102812e4]
lea edx, [esp + 0x2e8]
push edx
lea edx, [esp + 0x7c]
mov eax, dword [ecx]
push edx
push 0x201400b
lea edx, [esp + 0x19c]
push edx
call dword [eax + 0x14]
movss xmm0, dword [0x10240668]
comiss xmm0, dword [esp + 0x314]
mov eax, dword [0x1028159c]
ja 0x10018b82
mov esi, dword [eax + 0x1c]
mov eax, dword [0x10286fd0]
dec esi
cmp eax, dword [ebx + 4]
jle 0x10018b68
push 0x10286fd0
call fcn.1018b6e4
add esp, 4
cmp dword [0x10286fd0], 0xffffffff
jne 0x10018b68
mov edx, str.55_8B_EC_8B_4D___56_E8_________8B_75
mov ecx, str.client.dll
call fcn.10007f00
push 0x10286fd0
mov dword [0x10286fd4], eax
call fcn.1018b693
add esp, 4
push esi
push 0
call dword [0x10286fd4]
inc edi
cmp edi, 5
jle 0x100188f0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
movss xmm0, dword [esp + 0x18]
movss dword [esi + 0x24], xmm0
movss xmm0, dword [esp + 0x20]
movss dword [esi + 0x28], xmm0
mov esi, dword [eax + 0x1c]
mov eax, dword [0x10286fd0]
dec esi
cmp eax, dword [ebx + 4]
jle 0x10018be0
push 0x10286fd0
call fcn.1018b6e4
add esp, 4
cmp dword [0x10286fd0], 0xffffffff
jne 0x10018be0
mov edx, str.55_8B_EC_8B_4D___56_E8_________8B_75
mov ecx, str.client.dll
call fcn.10007f00
push 0x10286fd0
mov dword [0x10286fd4], eax
call fcn.1018b693
add esp, 4
push esi
push 0
call dword [0x10286fd4]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
movss xmm0, dword [esp + 0x18]
movss dword [ebx + 0x24], xmm0
movss xmm0, dword [esp + 0x20]
movss dword [ebx + 0x28], xmm0
mov esi, dword [eax + 0x1c]
mov eax, dword [0x1024b2f0]
dec esi
mov ecx, dword [ecx + eax*4]
mov eax, dword [0x10286fd0]
cmp eax, dword [ecx + 4]
jle 0x10018c56
push 0x10286fd0
call fcn.1018b6e4
add esp, 4
cmp dword [0x10286fd0], 0xffffffff
jne 0x10018c56
mov edx, str.55_8B_EC_8B_4D___56_E8_________8B_75
mov ecx, str.client.dll
call fcn.10007f00
push 0x10286fd0
mov dword [0x10286fd4], eax
call fcn.1018b693
add esp, 4
push esi
push 0
call dword [0x10286fd4]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
fld dword [esp + 0x20]
mov edi, 0x2d
mov edx, dword [sym.imp.USER32.dll_GetKeyState]
fld dword [esp + 0x18]
movss xmm4, dword [0x102407f0]
mov ecx, dword [ebx + 0x30]
xorps xmm3, xmm3
movd xmm1, edi
xorps xmm2, xmm2
xorps xmm0, xmm0
movups xmmword [esp + 0x60], xmm3
movups xmmword [esp + 0x50], xmm2
cvtdq2ps xmm1, xmm1
test cl, 8
je 0x10018cab
movaps xmm3, xmm1
movups xmmword [esp + 0x60], xmm3
test cl, 0x10
je 0x10018cc0
mov eax, edi
neg eax
movd xmm3, eax
cvtdq2ps xmm3, xmm3
movups xmmword [esp + 0x60], xmm3
test ecx, 0x200
je 0x10018cd8
mov eax, edi
neg eax
movd xmm2, eax
cvtdq2ps xmm2, xmm2
movups xmmword [esp + 0x50], xmm2
test ecx, 0x400
je 0x10018ce8
movaps xmm2, xmm1
movups xmmword [esp + 0x50], xmm2
ucomiss xmm3, xmm0
lahf
test ah, 0x44
jp 0x10018e43
ucomiss xmm2, xmm0
lahf
test ah, 0x44
jp 0x10018e43
cmp byte [0x1024722c], 0
je 0x10018e43
mov eax, dword [0x102472a8]
cmp eax, 3
ja case.0x10018d19.0
jmp dword [eax*4 + 0x10018fdc]
push dword [0x102815e0]
fstp st(1)
fstp st(0)
call edx
cwde
shr eax, 0x10
test eax, eax
setne al
jmp 0x10018d60
push dword [0x102815e0]
fstp st(1)
fstp st(0)
call edx
test ax, ax
setne al
jmp 0x10018d60
push dword [0x102815e0]
fstp st(1)
fstp st(0)
call edx
cwde
shr eax, 0x10
test eax, eax
sete al
test al, al
je 0x10018e37
fld dword [esp + 0x20]
fld dword [esp + 0x18]
movss xmm4, dword [0x102407f0]
fst dword [esp + 0x1c]
movss xmm1, dword [esp + 0x1c]
lea ecx, [esp + 0x44]
fxch st(1)
mulss xmm1, xmm1
mov dword [esp + 0x4c], 0
fst dword [esp + 0x1c]
movss xmm0, dword [esp + 0x1c]
mulss xmm0, xmm0
fld dword [0x10240908]
addss xmm1, xmm0
xorps xmm0, xmm0
sqrtss xmm0, xmm1
movss dword [esp + 0x1c], xmm0
fld dword [esp + 0x1c]
fpatan
fstp dword [esp + 0x1c]
fxch st(1)
movss xmm0, dword [esp + 0x1c]
fpatan
mulss xmm0, xmm4
fstp dword [esp + 0x1c]
movss dword [esp + 0x44], xmm0
movss xmm0, dword [esp + 0x1c]
mulss xmm0, xmm4
movss dword [esp + 0x48], xmm0
call fcn.10127580
movss xmm1, dword [esp + 0x48]
subss xmm1, dword [ebx + 0x10]
mulss xmm1, dword [0x10240560]
movaps xmm0, xmm1
call fcn.1018c340
xorps xmm1, xmm1
movaps xmm2, xmm0
cvtsi2ss xmm1, edi
movaps xmm3, xmm2
shufps xmm3, xmm2, 1
mulss xmm2, xmm1
mulss xmm3, xmm1
xorps xmm2, xmmword [0x10240c20]
movups xmmword [esp + 0x50], xmm2
movups xmmword [esp + 0x60], xmm3
jmp 0x10018e47
movups xmm2, xmmword [esp + 0x50]
movups xmm3, xmmword [esp + 0x60]
jmp 0x10018e47
fstp st(1)
fstp st(0)
push ebx
lea ecx, [esp + 0x344]
call fcn.10017ee0
movss dword [esp + 0x364], xmm3
movss dword [esp + 0x368], xmm2
call fcn.1002a2e0
call fcn.1002a990
mov eax, dword [0x10281360]
mov dword [esp + 0x1c], eax
mov eax, dword [0x102813d8]
test eax, eax
jne 0x10018eb0
mov edx, 0xe80c2f78
mov ecx, 0x10219945
call fcn.10004f10
mov edx, 0xc10bf213
mov ecx, 0x102195d9
mov esi, eax
call fcn.10004f10
mov edx, esi
mov ecx, eax
call fcn.10127750
mov dword [0x102813d8], eax
mov ecx, dword [esp + 0x1c]
movss xmm0, dword [ecx + eax + 8]
ucomiss xmm0, dword [0x10240974]
mov ecx, dword [0x1024b2f0]
lahf
test ah, 0x44
mov eax, dword [0x1028159c]
mov esi, dword [eax + 0x1c]
mov eax, dword fs:[0x2c]
mov ecx, dword [eax + ecx*4]
mov eax, dword [0x10286fd0]
jnp 0x10018f78
dec esi
cmp eax, dword [ecx + 4]
jle 0x10018f27
push 0x10286fd0
call fcn.1018b6e4
add esp, 4
cmp dword [0x10286fd0], 0xffffffff
jne 0x10018f27
mov edx, str.55_8B_EC_8B_4D___56_E8_________8B_75
mov ecx, str.client.dll
call fcn.10007f00
push 0x10286fd0
mov dword [0x10286fd4], eax
call fcn.1018b693
add esp, 4
push esi
push 0
call dword [0x10286fd4]
movd xmm0, edi
cvtdq2ps xmm0, xmm0
mov edx, dword [sym.imp.USER32.dll_GetKeyState]
fld dword [esp + 0x20]
subss xmm0, dword [0x10240768]
fld dword [esp + 0x18]
movss xmm4, dword [0x102407f0]
cvttss2si edi, xmm0
movd xmm0, edi
cvtdq2ps xmm0, xmm0
comiss xmm0, dword [0x102404e0]
ja 0x10018c81
fstp st(1)
fstp st(0)
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
dec esi
cmp eax, dword [ecx + 4]
jle 0x10018fb8
push 0x10286fd0
call fcn.1018b6e4
add esp, 4
cmp dword [0x10286fd0], 0xffffffff
jne 0x10018fb8
mov edx, str.55_8B_EC_8B_4D___56_E8_________8B_75
mov ecx, str.client.dll
call fcn.10007f00
push 0x10286fd0
mov dword [0x10286fd4], eax
call fcn.1018b693
add esp, 4
push esi
push 0
call dword [0x10286fd4]
movups xmm0, xmmword [esp + 0x60]
movss dword [ebx + 0x24], xmm0
movups xmm0, xmmword [esp + 0x50]
movss dword [ebx + 0x28], xmm0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret