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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x3d4
cmp byte [0x101f58c1], 0
push ebx
push esi
mov ebx, ecx
push edi
mov dword [esp + 0x48], ebx
je 0x10016034
mov edi, dword [0x101f565c]
test edi, edi
je 0x10016034
mov eax, edi
mov dword [esp + 0xc], eax
test eax, eax
je 0x10016034
mov eax, dword [0x101f5658]
test eax, eax
jne 0x1001504b
mov edx, 0xe80c2f78
mov ecx, 0x1014a9e5
call fcn.10003700
mov edx, 0xc10bf213
mov ecx, 0x1014a90d
mov esi, eax
call fcn.10003700
mov edx, esi
mov ecx, eax
call fcn.100aa660
mov edi, dword [0x101f565c]
mov dword [0x101f5658], eax
mov ecx, dword [esp + 0xc]
cmp dword [ecx + eax], 0
jle 0x10016034
mov eax, dword [0x101f5690]
test eax, eax
jne 0x10015090
mov edx, 0xe80c2f78
mov ecx, 0x1019659d
call fcn.10003700
mov edx, 0xc10bf213
mov ecx, 0x1014a90d
mov esi, eax
call fcn.10003700
mov edx, esi
mov ecx, eax
call fcn.100aa660
mov dword [0x101f5690], eax
test byte [edi + eax], 1
jne 0x10016034
call fcn.10009f10
cmp eax, 9
je 0x10016034
cmp eax, 8
je 0x10016034
mov ecx, dword [0x101f565c]
mov eax, dword [ecx]
mov eax, dword [eax + 0x28]
call eax
mov ecx, dword [0x101f565c]
movq xmm0, qword [eax]
mov eax, dword [eax + 8]
mov dword [esp + 0x2c], eax
mov eax, dword [ecx]
movq qword [esp + 0x24], 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 [0x101f565c]
movq xmm0, qword [eax]
mov eax, dword [eax + 8]
mov dword [esp + 0x44], eax
mov eax, dword [ecx]
movq qword [esp + 0x3c], xmm0
mov eax, dword [eax + 0xc]
call eax
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
mov ecx, eax
call edx
movss xmm1, dword [esp + 0x2c]
movss dword [esp + 0x20], xmm1
movq xmm0, qword [eax]
mov eax, dword [eax + 8]
movq qword [esp + 0x54], xmm0
xorps xmm0, xmm0
mov dword [esp + 0x5c], eax
mov dword [esp + 0x4c], vtable.trace_world_only.0
movss dword [esp + 0x10], xmm0
nop word [eax + eax]
call fcn.10009260
addss xmm0, dword [esp + 0x24]
movss dword [esp + 0x18], xmm0
movss xmm0, dword [esp + 0x10]
call fcn.10009270
addss xmm0, dword [esp + 0x28]
lea eax, [esp + 0x54]
mov dword [esp + 0x1b8], 0
push eax
lea eax, [esp + 0x40]
mov dword [esp + 0x1b8], 0
push eax
lea eax, [esp + 0x20]
movss dword [esp + 0x24], xmm0
push eax
lea eax, [esp + 0x30]
mov dword [esp + 0x1bc], 0
push eax
lea ecx, [esp + 0x80]
mov dword [esp + 0x1d4], 0
mov dword [esp + 0x1d0], 0
mov dword [esp + 0x1cc], 0
mov dword [esp + 0x1e0], 0
mov dword [esp + 0x1dc], 0
mov dword [esp + 0x1d8], 0
mov dword [esp + 0x88], 0
mov dword [esp + 0x84], 0
mov dword [esp + 0x80], 0
mov dword [esp + 0x98], 0
mov dword [esp + 0x94], 0
mov dword [esp + 0x90], 0
mov dword [esp + 0xa8], 0
mov dword [esp + 0xa4], 0
mov dword [esp + 0xa0], 0
mov dword [esp + 0xb8], 0
mov dword [esp + 0xb4], 0
mov dword [esp + 0xb0], 0
call fcn.10012600
mov ecx, dword [0x101f55e4]
lea edx, [esp + 0x1b0]
push edx
lea edx, [esp + 0x50]
push edx
mov eax, dword [ecx]
lea edx, [esp + 0x78]
push 0x201400b
push edx
call dword [eax + 0x14]
movss xmm0, dword [0x101b63d0]
comiss xmm0, dword [esp + 0x1dc]
jbe 0x100152b9
movss xmm0, dword [esp + 0x1d0]
ucomiss xmm0, dword [0x101b626c]
lahf
test ah, 0x44
jnp 0x100152e5
movss xmm0, dword [esp + 0x10]
addss xmm0, dword [0x101b6374]
movss xmm1, dword [0x101b64a0]
comiss xmm1, xmm0
movss dword [esp + 0x10], xmm0
ja 0x10015140
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
movss xmm1, dword [esp + 0x1c8]
lea eax, [esp + 0x54]
mulss xmm1, dword [0x101b6624]
lea ecx, [esp + 0xc0]
push eax
movss xmm2, dword [esp + 0x1d0]
lea eax, [esp + 0x40]
mulss xmm2, dword [0x101b6624]
push eax
movaps xmm0, xmm1
movss dword [esp + 0x18], xmm1
addss xmm0, dword [esp + 0x2c]
lea eax, [esp + 0x20]
movss dword [esp + 0x38], xmm1
push eax
lea eax, [esp + 0x30]
movss dword [esp + 0x20], xmm2
push eax
movss dword [esp + 0x28], xmm0
movaps xmm0, xmm2
addss xmm0, dword [esp + 0x38]
movss dword [esp + 0x44], xmm2
mov dword [esp + 0x220], 0
mov dword [esp + 0x21c], 0
mov dword [esp + 0x218], 0
movss dword [esp + 0x2c], xmm0
movss xmm0, dword [esp + 0x3c]
movss dword [esp + 0x30], xmm0
mov dword [esp + 0x22c], 0
mov dword [esp + 0x228], 0
mov dword [esp + 0x224], 0
mov dword [esp + 0x238], 0
mov dword [esp + 0x234], 0
mov dword [esp + 0x230], 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
mov dword [esp + 0xf8], 0
mov dword [esp + 0xf4], 0
mov dword [esp + 0xf0], 0
mov dword [esp + 0x108], 0
mov dword [esp + 0x104], 0
mov dword [esp + 0x100], 0
call fcn.10012600
mov ecx, dword [0x101f55e4]
lea edx, [esp + 0x208]
push edx
lea edx, [esp + 0x50]
push edx
mov eax, dword [ecx]
lea edx, [esp + 0xc8]
push 0x201400b
push edx
call dword [eax + 0x14]
movss xmm0, dword [esp + 0x234]
ucomiss xmm0, dword [0x101b63d0]
lahf
test ah, 0x44
jp 0x10015ca0
fld dword [0x101b6618]
lea ecx, [esp + 0x24]
fld dword [esp + 0x10]
fst dword [esp + 0xc]
movss xmm1, dword [esp + 0xc]
fld dword [esp + 0x14]
fst dword [esp + 0xc]
movss xmm0, dword [esp + 0xc]
mulss xmm0, xmm0
mov dword [esp + 0x2c], 0
mulss xmm1, xmm1
addss xmm1, xmm0
xorps xmm0, xmm0
sqrtss xmm0, xmm1
movss xmm1, dword [0x101b6518]
movss dword [esp + 0xc], xmm0
fld dword [esp + 0xc]
fxch st(1)
fxch st(3)
movss dword [esp + 0x38], xmm1
fxch st(1)
fpatan
fstp dword [esp + 0xc]
movss xmm0, dword [esp + 0xc]
fpatan
mulss xmm0, xmm1
fstp dword [esp + 0xc]
movss dword [esp + 0x24], xmm0
movss xmm0, dword [esp + 0xc]
mulss xmm0, xmm1
movss dword [esp + 0x28], xmm0
call fcn.100aa490
mov eax, dword [0x101f56d0]
mov edi, dword [0x101f565c]
test eax, eax
jne 0x1001555c
mov edx, 0xe80c2f78
mov ecx, 0x10196741
call fcn.10003700
mov edx, 0xc10bf213
mov ecx, 0x1014a935
mov esi, eax
call fcn.10003700
mov edx, esi
mov ecx, eax
call fcn.100aa660
mov dword [0x101f56d0], eax
movq xmm0, qword [edi + eax]
mov eax, dword [edi + eax + 8]
movq qword [esp + 0x18], xmm0
movss xmm1, dword [esp + 0x1c]
movss xmm0, dword [esp + 0x18]
mulss xmm1, xmm1
mov dword [esp + 0x20], eax
mulss xmm0, xmm0
mov dword [esp + 0x60], 0
addss xmm1, xmm0
movss dword [esp + 0xc], xmm1
sqrtss xmm0, dword [esp + 0xc]
movss dword [esp + 0x60], xmm0
movss xmm0, dword [esp + 0x60]
comiss xmm0, dword [0x101b626c]
movss xmm2, dword [esp + 0x28]
jbe 0x10015671
fld dword [esp + 0x18]
lea ecx, [esp + 0x18]
fst dword [esp + 0xc]
movss xmm1, dword [esp + 0xc]
fld dword [esp + 0x1c]
fst dword [esp + 0xc]
movss xmm0, dword [esp + 0xc]
mulss xmm0, xmm0
mulss xmm1, xmm1
fld dword [0x101b6618]
addss xmm1, xmm0
xorps xmm0, xmm0
sqrtss xmm0, xmm1
movss dword [esp + 0xc], xmm0
fld dword [esp + 0xc]
fpatan
fstp dword [esp + 0xc]
fxch st(1)
movss xmm0, dword [esp + 0xc]
fpatan
mulss xmm0, dword [esp + 0x38]
fstp dword [esp + 0xc]
subss xmm0, dword [esp + 0x24]
movss dword [esp + 0x18], xmm0
movss xmm0, dword [esp + 0xc]
mulss xmm0, dword [esp + 0x38]
subss xmm0, xmm2
movss dword [esp + 0x1c], xmm0
movss xmm0, dword [esp + 0x2c]
xorps xmm0, xmmword [0x101b6920]
movss dword [esp + 0x20], xmm0
call fcn.100aa490
movss xmm0, dword [esp + 0x20]
andps xmm0, xmmword [0x101b68f0]
comiss xmm0, dword [0x101b6530]
ja 0x10016034
movss xmm2, dword [esp + 0x28]
subss xmm2, dword [ebx + 0x10]
mulss xmm2, dword [0x101b62e8]
movaps xmm0, xmm2
movss dword [esp + 0xc], xmm2
call fcn.10009260
movss dword [esp + 0x34], xmm0
movss xmm0, dword [esp + 0xc]
call fcn.10009270
movss xmm3, dword [0x101b64bc]
mov edi, 1
movss xmm4, dword [0x101b6674]
movss dword [esp + 0x30], xmm0
jmp 0x100156c4
mov ebx, dword [esp + 0x48]
movd xmm1, edi
lea ecx, [esp + 0x310]
cvtdq2ps xmm1, xmm1
push ebx
movaps xmm2, xmm1
mulss xmm1, xmm0
mulss xmm2, dword [esp + 0x38]
mulss xmm1, xmm4
mulss xmm2, xmm3
movss dword [esp + 0x3c], xmm1
movss dword [esp + 0x10], xmm2
call fcn.10014f30
movss dword [esp + 0x334], xmm2
movss dword [esp + 0x338], xmm1
call fcn.100245f0
call fcn.10024ca0
mov ecx, dword [0x101f565c]
mov eax, dword [ecx]
mov eax, dword [eax + 0x28]
call eax
lea ecx, [esp + 0x110]
movq xmm0, qword [eax]
mov eax, dword [eax + 8]
movq qword [esp + 0x18], xmm0
movss xmm0, dword [esp + 0x10]
addss xmm0, dword [esp + 0x18]
mov dword [esp + 0x20], eax
lea eax, [esp + 0x54]
push eax
lea eax, [esp + 0x40]
mov dword [esp + 0x26c], 0
push eax
movss dword [esp + 0x2c], xmm0
lea eax, [esp + 0x2c]
movss xmm0, dword [esp + 0x1c]
addss xmm0, dword [esp + 0x24]
push eax
lea eax, [esp + 0x24]
mov dword [esp + 0x270], 0
push eax
mov dword [esp + 0x270], 0
movss dword [esp + 0x38], xmm0
movss xmm0, dword [esp + 0x30]
movss dword [esp + 0x3c], xmm0
mov dword [esp + 0x284], 0
mov dword [esp + 0x280], 0
mov dword [esp + 0x27c], 0
mov dword [esp + 0x290], 0
mov dword [esp + 0x28c], 0
mov dword [esp + 0x288], 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
mov dword [esp + 0x148], 0
mov dword [esp + 0x144], 0
mov dword [esp + 0x140], 0
mov dword [esp + 0x158], 0
mov dword [esp + 0x154], 0
mov dword [esp + 0x150], 0
call fcn.10012600
mov ecx, dword [0x101f55e4]
lea edx, [esp + 0x260]
push edx
lea edx, [esp + 0x50]
push edx
mov eax, dword [ecx]
lea edx, [esp + 0x118]
push 0x201400b
push edx
call dword [eax + 0x14]
movss xmm0, dword [0x101b63d0]
comiss xmm0, dword [esp + 0x28c]
mov eax, dword [0x101f5894]
mov ecx, dword fs:[0x2c]
ja 0x10015c2a
mov esi, dword [eax + 0x1c]
mov eax, dword [0x101bf740]
dec esi
mov ebx, dword [ecx + eax*4]
mov eax, dword [0x101fae18]
cmp eax, dword [ebx + 4]
jle 0x10015901
push 0x101fae18
call fcn.1010e5e4
add esp, 4
cmp dword [0x101fae18], 0xffffffff
jne 0x10015901
mov edx, str.55_8B_EC_8B_4D___56_E8_________8B_75
mov ecx, str.client.dll
call fcn.10006670
push 0x101fae18
mov dword [0x101fae1c], eax
call fcn.1010e593
add esp, 4
push esi
push 0
call dword [0x101fae1c]
movss xmm0, dword [esp + 0x30]
inc edi
movss xmm3, dword [0x101b64bc]
movss xmm4, dword [0x101b6674]
cmp edi, 5
jle 0x100156c0
mov edi, 1
nop
mov ecx, dword [0x101f565c]
movd xmm0, edi
cvtdq2ps xmm0, xmm0
mov eax, dword [ecx]
mov eax, dword [eax + 0x28]
movaps xmm1, xmm0
mulss xmm1, dword [esp + 0x34]
mulss xmm0, dword [esp + 0x30]
mulss xmm1, dword [0x101b64bc]
mulss xmm0, dword [0x101b6674]
movss dword [esp + 0x38], xmm1
movss dword [esp + 0xc], xmm0
call eax
mov esi, dword [esp + 0x48]
lea ecx, [esp + 0x378]
push esi
movq xmm0, qword [eax]
mov eax, dword [eax + 8]
movq qword [esp + 0x64], xmm0
mov dword [esp + 0x6c], eax
call fcn.10014f30
movss xmm0, dword [esp + 0x38]
movss dword [esp + 0x39c], xmm0
movss xmm0, dword [esp + 0xc]
movss dword [esp + 0x3a0], xmm0
call fcn.100245f0
call fcn.10024ca0
lea ecx, [esp + 0x378]
call fcn.100245f0
call fcn.10024ca0
mov ecx, dword [0x101f565c]
mov eax, dword [ecx]
mov eax, dword [eax + 0x28]
call eax
movss xmm1, dword [esp + 0x68]
lea ecx, [esp + 0x160]
movss dword [esp + 0x20], xmm1
movss dword [esp + 0x2c], xmm1
movq xmm0, qword [eax]
lea eax, [esp + 0x54]
movq qword [esp + 0x18], xmm0
movss xmm0, dword [esp + 0x10]
addss xmm0, dword [esp + 0x18]
push eax
lea eax, [esp + 0x40]
mov dword [esp + 0x2c4], 0
push eax
lea eax, [esp + 0x2c]
mov dword [esp + 0x2c4], 0
movss dword [esp + 0x2c], xmm0
movss xmm0, dword [esp + 0x1c]
addss xmm0, dword [esp + 0x24]
push eax
lea eax, [esp + 0x24]
mov dword [esp + 0x2c4], 0
push eax
mov dword [esp + 0x2dc], 0
movss dword [esp + 0x38], xmm0
mov dword [esp + 0x2d8], 0
mov dword [esp + 0x2d4], 0
mov dword [esp + 0x2e8], 0
mov dword [esp + 0x2e4], 0
mov dword [esp + 0x2e0], 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
mov dword [esp + 0x198], 0
mov dword [esp + 0x194], 0
mov dword [esp + 0x190], 0
mov dword [esp + 0x1a8], 0
mov dword [esp + 0x1a4], 0
mov dword [esp + 0x1a0], 0
call fcn.10012600
mov ecx, dword [0x101f55e4]
lea edx, [esp + 0x2b8]
push edx
lea edx, [esp + 0x50]
mov eax, dword [ecx]
push edx
push 0x201400b
lea edx, [esp + 0x16c]
push edx
call dword [eax + 0x14]
movss xmm0, dword [0x101b63d0]
comiss xmm0, dword [esp + 0x2e4]
mov eax, dword [0x101f5894]
ja 0x10015bbc
mov esi, dword [eax + 0x1c]
mov eax, dword [0x101fae18]
dec esi
cmp eax, dword [ebx + 4]
jle 0x10015ba2
push 0x101fae18
call fcn.1010e5e4
add esp, 4
cmp dword [0x101fae18], 0xffffffff
jne 0x10015ba2
mov edx, str.55_8B_EC_8B_4D___56_E8_________8B_75
mov ecx, str.client.dll
call fcn.10006670
push 0x101fae18
mov dword [0x101fae1c], eax
call fcn.1010e593
add esp, 4
push esi
push 0
call dword [0x101fae1c]
inc edi
cmp edi, 5
jle 0x10015930
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
movss xmm0, dword [esp + 0x38]
movss dword [esi + 0x24], xmm0
movss xmm0, dword [esp + 0xc]
movss dword [esi + 0x28], xmm0
mov esi, dword [eax + 0x1c]
mov eax, dword [0x101fae18]
dec esi
cmp eax, dword [ebx + 4]
jle 0x10015c1a
push 0x101fae18
call fcn.1010e5e4
add esp, 4
cmp dword [0x101fae18], 0xffffffff
jne 0x10015c1a
mov edx, str.55_8B_EC_8B_4D___56_E8_________8B_75
mov ecx, str.client.dll
call fcn.10006670
push 0x101fae18
mov dword [0x101fae1c], eax
call fcn.1010e593
add esp, 4
push esi
push 0
call dword [0x101fae1c]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
movss xmm0, dword [esp + 0xc]
movss dword [ebx + 0x24], xmm0
movss xmm0, dword [esp + 0x38]
movss dword [ebx + 0x28], xmm0
mov esi, dword [eax + 0x1c]
mov eax, dword [0x101bf740]
dec esi
mov ecx, dword [ecx + eax*4]
mov eax, dword [0x101fae18]
cmp eax, dword [ecx + 4]
jle 0x10015c90
push 0x101fae18
call fcn.1010e5e4
add esp, 4
cmp dword [0x101fae18], 0xffffffff
jne 0x10015c90
mov edx, str.55_8B_EC_8B_4D___56_E8_________8B_75
mov ecx, str.client.dll
call fcn.10006670
push 0x101fae18
mov dword [0x101fae1c], eax
call fcn.1010e593
add esp, 4
push esi
push 0
call dword [0x101fae1c]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
fld dword [esp + 0x30]
mov edi, 0x2d
mov edx, dword [sym.imp.USER32.dll_GetKeyState]
fld dword [esp + 0x34]
movss xmm4, dword [0x101b6518]
mov ecx, dword [ebx + 0x30]
xorps xmm2, xmm2
movd xmm3, edi
xorps xmm1, xmm1
movss dword [esp + 0x14], xmm2
xorps xmm0, xmm0
movss dword [esp + 0x10], xmm1
cvtdq2ps xmm3, xmm3
test cl, 8
je 0x10015ce8
movaps xmm2, xmm3
movss dword [esp + 0x14], xmm3
test cl, 0x10
je 0x10015cfe
mov eax, edi
neg eax
movd xmm2, eax
cvtdq2ps xmm2, xmm2
movss dword [esp + 0x14], xmm2
test ecx, 0x200
je 0x10015d17
mov eax, edi
neg eax
movd xmm1, eax
cvtdq2ps xmm1, xmm1
movss dword [esp + 0x10], xmm1
test ecx, 0x400
je 0x10015d28
movaps xmm1, xmm3
movss dword [esp + 0x10], xmm1
ucomiss xmm2, xmm0
lahf
test ah, 0x44
jp 0x10015ea0
ucomiss xmm1, xmm0
lahf
test ah, 0x44
jp 0x10015ea0
cmp byte [0x101bc228], 0
je 0x10015ea0
mov eax, dword [0x101bc294]
cmp eax, 3
ja case.0x10015d59.0
jmp dword [eax*4 + 0x1001603c]
push dword [0x101f58d0]
fstp st(1)
fstp st(0)
call edx
cwde
shr eax, 0x10
test eax, eax
setne al
jmp 0x10015da0
push dword [0x101f58d0]
fstp st(1)
fstp st(0)
call edx
test ax, ax
setne al
jmp 0x10015da0
push dword [0x101f58d0]
fstp st(1)
fstp st(0)
call edx
cwde
shr eax, 0x10
test eax, eax
sete al
test al, al
je 0x10015e92
fld dword [esp + 0x30]
fld dword [esp + 0x34]
movss xmm4, dword [0x101b6518]
fxch st(1)
mov dword [esp + 0x44], 0
fst dword [esp + 0xc]
movss xmm1, dword [esp + 0xc]
lea ecx, [esp + 0x3c]
fxch st(1)
mulss xmm1, xmm1
fst dword [esp + 0xc]
movss xmm0, dword [esp + 0xc]
mulss xmm0, xmm0
fld dword [0x101b6618]
addss xmm1, xmm0
xorps xmm0, xmm0
sqrtss xmm0, xmm1
movss dword [esp + 0xc], xmm0
fld dword [esp + 0xc]
fpatan
fstp dword [esp + 0xc]
fxch st(1)
movss xmm0, dword [esp + 0xc]
fpatan
mulss xmm0, xmm4
fstp dword [esp + 0xc]
movss dword [esp + 0x3c], xmm0
movss xmm0, dword [esp + 0xc]
mulss xmm0, xmm4
movss dword [esp + 0x40], xmm0
call fcn.100aa490
movss xmm1, dword [esp + 0x40]
subss xmm1, dword [ebx + 0x10]
mulss xmm1, dword [0x101b62e8]
movaps xmm0, xmm1
movss dword [esp + 0xc], xmm1
call fcn.10009260
xorps xmm1, xmm1
cvtsi2ss xmm1, edi
mulss xmm0, xmm1
movss dword [esp + 0x14], xmm0
movss xmm0, dword [esp + 0xc]
call fcn.10009270
movss xmm2, dword [esp + 0x14]
movaps xmm1, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, edi
mulss xmm1, xmm0
xorps xmm1, xmmword [0x101b6920]
movss dword [esp + 0x10], xmm1
jmp 0x10015ea4
movss xmm1, dword [esp + 0x10]
movss xmm2, dword [esp + 0x14]
jmp 0x10015ea4
fstp st(1)
fstp st(0)
push ebx
lea ecx, [esp + 0x314]
call fcn.10014f30
movss dword [esp + 0x334], xmm2
movss dword [esp + 0x338], xmm1
call fcn.100245f0
call fcn.10024ca0
mov eax, dword [0x101f565c]
mov dword [esp + 0xc], eax
mov eax, dword [0x101f56d0]
test eax, eax
jne 0x10015f0d
mov edx, 0xe80c2f78
mov ecx, 0x10196741
call fcn.10003700
mov edx, 0xc10bf213
mov ecx, 0x1014a935
mov esi, eax
call fcn.10003700
mov edx, esi
mov ecx, eax
call fcn.100aa660
mov dword [0x101f56d0], eax
mov ecx, dword [esp + 0xc]
movss xmm0, dword [ecx + eax + 8]
ucomiss xmm0, dword [0x101b6670]
mov ecx, dword [0x101bf740]
lahf
test ah, 0x44
mov eax, dword [0x101f5894]
mov esi, dword [eax + 0x1c]
mov eax, dword fs:[0x2c]
mov ecx, dword [eax + ecx*4]
mov eax, dword [0x101fae18]
jnp 0x10015fd5
dec esi
cmp eax, dword [ecx + 4]
jle 0x10015f84
push 0x101fae18
call fcn.1010e5e4
add esp, 4
cmp dword [0x101fae18], 0xffffffff
jne 0x10015f84
mov edx, str.55_8B_EC_8B_4D___56_E8_________8B_75
mov ecx, str.client.dll
call fcn.10006670
push 0x101fae18
mov dword [0x101fae1c], eax
call fcn.1010e593
add esp, 4
push esi
push 0
call dword [0x101fae1c]
movd xmm0, edi
cvtdq2ps xmm0, xmm0
mov edx, dword [sym.imp.USER32.dll_GetKeyState]
fld dword [esp + 0x30]
subss xmm0, dword [0x101b6494]
fld dword [esp + 0x34]
movss xmm4, dword [0x101b6518]
cvttss2si edi, xmm0
movd xmm0, edi
cvtdq2ps xmm0, xmm0
comiss xmm0, dword [0x101b626c]
ja 0x10015cbb
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 0x10016015
push 0x101fae18
call fcn.1010e5e4
add esp, 4
cmp dword [0x101fae18], 0xffffffff
jne 0x10016015
mov edx, str.55_8B_EC_8B_4D___56_E8_________8B_75
mov ecx, str.client.dll
call fcn.10006670
push 0x101fae18
mov dword [0x101fae1c], eax
call fcn.1010e593
add esp, 4
push esi
push 0
call dword [0x101fae1c]
movss xmm0, dword [esp + 0x14]
movss dword [ebx + 0x24], xmm0
movss xmm0, dword [esp + 0x10]
movss dword [ebx + 0x28], xmm0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret