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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x404
cmp byte [0x102733c9], 0
push ebx
push esi
mov ebx, ecx
push edi
mov dword [esp + 0x1c], ebx
je 0x10019f25
mov edi, dword [0x1023d288]
test edi, edi
je 0x10019f25
mov eax, edi
mov dword [esp + 0x18], eax
test eax, eax
je 0x10019f25
mov eax, dword [0x1023d284]
test eax, eax
jne 0x10018f4b
mov edx, 0xe80c2f78
mov ecx, 0x1021170d
call fcn.100050d0
mov edx, 0xc10bf213
mov ecx, 0x10211635
mov esi, eax
call fcn.100050d0
mov edx, esi
mov ecx, eax
call fcn.1011f760
mov edi, dword [0x1023d288]
mov dword [0x1023d284], eax
mov ecx, dword [esp + 0x18]
cmp dword [ecx + eax], 0
jle 0x10019f25
mov eax, dword [0x1023d2c0]
test eax, eax
jne 0x10018f90
mov edx, 0xe80c2f78
mov ecx, 0x10211851
call fcn.100050d0
mov edx, 0xc10bf213
mov ecx, 0x10211635
mov esi, eax
call fcn.100050d0
mov edx, esi
mov ecx, eax
call fcn.1011f760
mov dword [0x1023d2c0], eax
test byte [edi + eax], 1
jne 0x10019f25
call fcn.1000c050
cmp eax, 9
je 0x10019f25
cmp eax, 8
je 0x10019f25
mov ecx, dword [0x1023d288]
mov eax, dword [ecx]
mov eax, dword [eax + 0x28]
call eax
mov ecx, dword [0x1023d288]
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 [0x1023d288]
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.10184cd0
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.1000c3a0
mov ecx, dword [0x1023d210]
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 [0x1022f9c8]
comiss xmm0, dword [esp + 0x20c]
jbe 0x100191bb
movss xmm0, dword [esp + 0x200]
ucomiss xmm0, dword [0x1022f858]
lahf
test ah, 0x44
jnp 0x100191e7
movss xmm1, dword [esp + 0x18]
addss xmm1, dword [0x1022fb80]
movss xmm0, dword [0x1022fc00]
comiss xmm0, xmm1
movss dword [esp + 0x18], xmm1
ja 0x10019040
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
movss xmm1, dword [esp + 0x1f8]
lea eax, [esp + 0x50]
mulss xmm1, dword [0x1022fc50]
lea ecx, [esp + 0xf0]
push eax
movss xmm2, dword [esp + 0x200]
lea eax, [esp + 0x48]
mulss xmm2, dword [0x1022fc50]
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.1000c3a0
mov ecx, dword [0x1023d210]
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 [0x1022f9c8]
lahf
test ah, 0x44
jp 0x10019bb6
fld dword [0x1022fc38]
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 [0x1022fb40]
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.1011f590
mov eax, dword [0x1023d310]
mov edi, dword [0x1023d288]
test eax, eax
jne 0x1001945e
mov edx, 0xe80c2f78
mov ecx, 0x102119f5
call fcn.100050d0
mov edx, 0xc10bf213
mov ecx, 0x1021165d
mov esi, eax
call fcn.100050d0
mov edx, esi
mov ecx, eax
call fcn.1011f760
mov dword [0x1023d310], 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 [0x1022f858]
movss xmm2, dword [esp + 0x34]
jbe 0x10019573
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 [0x1022fc38]
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 [0x1022fee0]
movss dword [esp + 0x2c], xmm0
call fcn.1011f590
movss xmm0, dword [esp + 0x2c]
andps xmm0, xmmword [0x1022feb0]
comiss xmm0, dword [0x1022fb6c]
ja 0x10019f25
movss xmm2, dword [esp + 0x34]
subss xmm2, dword [ebx + 0x10]
mulss xmm2, dword [0x1022f8d4]
movaps xmm0, xmm2
call fcn.10184cd0
movss xmm4, dword [0x1022fadc]
movaps xmm3, xmm0
movss xmm5, dword [0x1022fca4]
mov edi, 1
shufps xmm0, xmm3, 1
movups xmmword [esp + 0x90], xmm3
movups xmmword [esp + 0x80], xmm0
jmp 0x100195c4
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.10018e30
movss dword [esp + 0x364], xmm2
movss dword [esp + 0x368], xmm1
call fcn.100273c0
call fcn.10027ab0
mov ecx, dword [0x1023d288]
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.1000c3a0
mov ecx, dword [0x1023d210]
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 [0x1022f9c8]
comiss xmm0, dword [esp + 0x2bc]
mov eax, dword [0x102733ac]
mov ecx, dword fs:[0x2c]
ja 0x10019b40
mov esi, dword [eax + 0x1c]
mov eax, dword [0x1023d190]
dec esi
mov ebx, dword [ecx + eax*4]
mov eax, dword [0x1027b74c]
cmp eax, dword [ebx + 4]
jle 0x100197ff
push 0x1027b74c
call fcn.1018369a
add esp, 4
cmp dword [0x1027b74c], 0xffffffff
jne 0x100197ff
mov edx, str.55_8B_EC_8B_4D___56_E8_________8B_75
mov ecx, str.client.dll
call fcn.10007fd0
push 0x1027b74c
mov dword [0x1027b750], eax
call fcn.10183649
add esp, 4
push esi
push 0
call dword [0x1027b750]
movups xmm0, xmmword [esp + 0x80]
inc edi
movss xmm4, dword [0x1022fadc]
movss xmm5, dword [0x1022fca4]
movups xmm3, xmmword [esp + 0x90]
cmp edi, 5
jle 0x100195c0
mov edi, 1
nop word [eax + eax]
mov ecx, dword [0x1023d288]
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 [0x1022fadc]
mulss xmm0, dword [0x1022fca4]
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.10018e30
movss xmm0, dword [esp + 0x18]
movss dword [esp + 0x3cc], xmm0
movss xmm0, dword [esp + 0x20]
movss dword [esp + 0x3d0], xmm0
call fcn.100273c0
call fcn.10027ab0
lea ecx, [esp + 0x3a8]
call fcn.100273c0
call fcn.10027ab0
mov ecx, dword [0x1023d288]
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.1000c3a0
mov ecx, dword [0x1023d210]
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 [0x1022f9c8]
comiss xmm0, dword [esp + 0x314]
mov eax, dword [0x102733ac]
ja 0x10019ad2
mov esi, dword [eax + 0x1c]
mov eax, dword [0x1027b74c]
dec esi
cmp eax, dword [ebx + 4]
jle 0x10019ab8
push 0x1027b74c
call fcn.1018369a
add esp, 4
cmp dword [0x1027b74c], 0xffffffff
jne 0x10019ab8
mov edx, str.55_8B_EC_8B_4D___56_E8_________8B_75
mov ecx, str.client.dll
call fcn.10007fd0
push 0x1027b74c
mov dword [0x1027b750], eax
call fcn.10183649
add esp, 4
push esi
push 0
call dword [0x1027b750]
inc edi
cmp edi, 5
jle 0x10019840
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 [0x1027b74c]
dec esi
cmp eax, dword [ebx + 4]
jle 0x10019b30
push 0x1027b74c
call fcn.1018369a
add esp, 4
cmp dword [0x1027b74c], 0xffffffff
jne 0x10019b30
mov edx, str.55_8B_EC_8B_4D___56_E8_________8B_75
mov ecx, str.client.dll
call fcn.10007fd0
push 0x1027b74c
mov dword [0x1027b750], eax
call fcn.10183649
add esp, 4
push esi
push 0
call dword [0x1027b750]
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 [0x1023d190]
dec esi
mov ecx, dword [ecx + eax*4]
mov eax, dword [0x1027b74c]
cmp eax, dword [ecx + 4]
jle 0x10019ba6
push 0x1027b74c
call fcn.1018369a
add esp, 4
cmp dword [0x1027b74c], 0xffffffff
jne 0x10019ba6
mov edx, str.55_8B_EC_8B_4D___56_E8_________8B_75
mov ecx, str.client.dll
call fcn.10007fd0
push 0x1027b74c
mov dword [0x1027b750], eax
call fcn.10183649
add esp, 4
push esi
push 0
call dword [0x1027b750]
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 [0x1022fb40]
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 0x10019bfb
movaps xmm3, xmm1
movups xmmword [esp + 0x60], xmm3
test cl, 0x10
je 0x10019c10
mov eax, edi
neg eax
movd xmm3, eax
cvtdq2ps xmm3, xmm3
movups xmmword [esp + 0x60], xmm3
test ecx, 0x200
je 0x10019c28
mov eax, edi
neg eax
movd xmm2, eax
cvtdq2ps xmm2, xmm2
movups xmmword [esp + 0x50], xmm2
test ecx, 0x400
je 0x10019c38
movaps xmm2, xmm1
movups xmmword [esp + 0x50], xmm2
ucomiss xmm3, xmm0
lahf
test ah, 0x44
jp 0x10019d93
ucomiss xmm2, xmm0
lahf
test ah, 0x44
jp 0x10019d93
cmp byte [0x10237328], 0
je 0x10019d93
mov eax, dword [0x10237398]
cmp eax, 3
ja case.0x10019c69.0
jmp dword [eax*4 + 0x10019f2c]
push dword [0x102733e0]
fstp st(1)
fstp st(0)
call edx
cwde
shr eax, 0x10
test eax, eax
setne al
jmp 0x10019cb0
push dword [0x102733e0]
fstp st(1)
fstp st(0)
call edx
test ax, ax
setne al
jmp 0x10019cb0
push dword [0x102733e0]
fstp st(1)
fstp st(0)
call edx
cwde
shr eax, 0x10
test eax, eax
sete al
test al, al
je 0x10019d87
fld dword [esp + 0x20]
fld dword [esp + 0x18]
movss xmm4, dword [0x1022fb40]
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 [0x1022fc38]
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.1011f590
movss xmm1, dword [esp + 0x48]
subss xmm1, dword [ebx + 0x10]
mulss xmm1, dword [0x1022f8d4]
movaps xmm0, xmm1
call fcn.10184cd0
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 [0x1022fee0]
movups xmmword [esp + 0x50], xmm2
movups xmmword [esp + 0x60], xmm3
jmp 0x10019d97
movups xmm2, xmmword [esp + 0x50]
movups xmm3, xmmword [esp + 0x60]
jmp 0x10019d97
fstp st(1)
fstp st(0)
push ebx
lea ecx, [esp + 0x344]
call fcn.10018e30
movss dword [esp + 0x364], xmm3
movss dword [esp + 0x368], xmm2
call fcn.100273c0
call fcn.10027ab0
mov eax, dword [0x1023d288]
mov dword [esp + 0x1c], eax
mov eax, dword [0x1023d310]
test eax, eax
jne 0x10019e00
mov edx, 0xe80c2f78
mov ecx, 0x102119f5
call fcn.100050d0
mov edx, 0xc10bf213
mov ecx, 0x1021165d
mov esi, eax
call fcn.100050d0
mov edx, esi
mov ecx, eax
call fcn.1011f760
mov dword [0x1023d310], eax
mov ecx, dword [esp + 0x1c]
movss xmm0, dword [ecx + eax + 8]
ucomiss xmm0, dword [0x1022fca0]
mov ecx, dword [0x1023d190]
lahf
test ah, 0x44
mov eax, dword [0x102733ac]
mov esi, dword [eax + 0x1c]
mov eax, dword fs:[0x2c]
mov ecx, dword [eax + ecx*4]
mov eax, dword [0x1027b74c]
jnp 0x10019ec8
dec esi
cmp eax, dword [ecx + 4]
jle 0x10019e77
push 0x1027b74c
call fcn.1018369a
add esp, 4
cmp dword [0x1027b74c], 0xffffffff
jne 0x10019e77
mov edx, str.55_8B_EC_8B_4D___56_E8_________8B_75
mov ecx, str.client.dll
call fcn.10007fd0
push 0x1027b74c
mov dword [0x1027b750], eax
call fcn.10183649
add esp, 4
push esi
push 0
call dword [0x1027b750]
movd xmm0, edi
cvtdq2ps xmm0, xmm0
mov edx, dword [sym.imp.USER32.dll_GetKeyState]
fld dword [esp + 0x20]
subss xmm0, dword [0x1022faac]
fld dword [esp + 0x18]
movss xmm4, dword [0x1022fb40]
cvttss2si edi, xmm0
movd xmm0, edi
cvtdq2ps xmm0, xmm0
comiss xmm0, dword [0x1022f858]
ja 0x10019bd1
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 0x10019f08
push 0x1027b74c
call fcn.1018369a
add esp, 4
cmp dword [0x1027b74c], 0xffffffff
jne 0x10019f08
mov edx, str.55_8B_EC_8B_4D___56_E8_________8B_75
mov ecx, str.client.dll
call fcn.10007fd0
push 0x1027b74c
mov dword [0x1027b750], eax
call fcn.10183649
add esp, 4
push esi
push 0
call dword [0x1027b750]
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