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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x3d4
cmp byte [0x101f78b9], 0
push ebx
push esi
mov ebx, ecx
push edi
mov dword [esp + 0x48], ebx
je 0x10016104
mov edi, dword [0x101f764c]
test edi, edi
je 0x10016104
mov eax, edi
mov dword [esp + 0xc], eax
test eax, eax
je 0x10016104
mov eax, dword [0x101f7648]
test eax, eax
jne 0x1001511b
mov edx, 0xe80c2f78
mov ecx, 0x1014c9ed
call fcn.10003ad0
mov edx, 0xc10bf213
mov ecx, 0x1014c915
mov esi, eax
call fcn.10003ad0
mov edx, esi
mov ecx, eax
call fcn.100abe50
mov edi, dword [0x101f764c]
mov dword [0x101f7648], eax
mov ecx, dword [esp + 0xc]
cmp dword [ecx + eax], 0
jle 0x10016104
mov eax, dword [0x101f7680]
test eax, eax
jne 0x10015160
mov edx, 0xe80c2f78
mov ecx, 0x101985a5
call fcn.10003ad0
mov edx, 0xc10bf213
mov ecx, 0x1014c915
mov esi, eax
call fcn.10003ad0
mov edx, esi
mov ecx, eax
call fcn.100abe50
mov dword [0x101f7680], eax
test byte [edi + eax], 1
jne 0x10016104
call fcn.1000a2e0
cmp eax, 9
je 0x10016104
cmp eax, 8
je 0x10016104
mov ecx, dword [0x101f764c]
mov eax, dword [ecx]
mov eax, dword [eax + 0x28]
call eax
mov ecx, dword [0x101f764c]
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 [0x101f764c]
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.10009630
addss xmm0, dword [esp + 0x24]
movss dword [esp + 0x18], xmm0
movss xmm0, dword [esp + 0x10]
call fcn.10009640
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.100126c0
mov ecx, dword [0x101f75d4]
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 [0x101b8358]
comiss xmm0, dword [esp + 0x1dc]
jbe 0x10015389
movss xmm0, dword [esp + 0x1d0]
ucomiss xmm0, dword [0x101b81e8]
lahf
test ah, 0x44
jnp 0x100153b5
movss xmm0, dword [esp + 0x10]
addss xmm0, dword [0x101b82fc]
movss xmm1, dword [0x101b8428]
comiss xmm1, xmm0
movss dword [esp + 0x10], xmm0
ja 0x10015210
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
movss xmm1, dword [esp + 0x1c8]
lea eax, [esp + 0x54]
mulss xmm1, dword [0x101b85ac]
lea ecx, [esp + 0xc0]
push eax
movss xmm2, dword [esp + 0x1d0]
lea eax, [esp + 0x40]
mulss xmm2, dword [0x101b85ac]
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.100126c0
mov ecx, dword [0x101f75d4]
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 [0x101b8358]
lahf
test ah, 0x44
jp 0x10015d70
fld dword [0x101b85a0]
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 [0x101b84a0]
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.100abc80
mov eax, dword [0x101f76c0]
mov edi, dword [0x101f764c]
test eax, eax
jne 0x1001562c
mov edx, 0xe80c2f78
mov ecx, 0x10198749
call fcn.10003ad0
mov edx, 0xc10bf213
mov ecx, 0x1014c93d
mov esi, eax
call fcn.10003ad0
mov edx, esi
mov ecx, eax
call fcn.100abe50
mov dword [0x101f76c0], 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 [0x101b81e8]
movss xmm2, dword [esp + 0x28]
jbe 0x10015741
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 [0x101b85a0]
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 [0x101b88a0]
movss dword [esp + 0x20], xmm0
call fcn.100abc80
movss xmm0, dword [esp + 0x20]
andps xmm0, xmmword [0x101b8870]
comiss xmm0, dword [0x101b84b8]
ja 0x10016104
movss xmm2, dword [esp + 0x28]
subss xmm2, dword [ebx + 0x10]
mulss xmm2, dword [0x101b8268]
movaps xmm0, xmm2
movss dword [esp + 0xc], xmm2
call fcn.10009630
movss dword [esp + 0x34], xmm0
movss xmm0, dword [esp + 0xc]
call fcn.10009640
movss xmm3, dword [0x101b8444]
mov edi, 1
movss xmm4, dword [0x101b85fc]
movss dword [esp + 0x30], xmm0
jmp 0x10015794
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.10015000
movss dword [esp + 0x334], xmm2
movss dword [esp + 0x338], xmm1
call fcn.100246e0
call fcn.10024d90
mov ecx, dword [0x101f764c]
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.100126c0
mov ecx, dword [0x101f75d4]
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 [0x101b8358]
comiss xmm0, dword [esp + 0x28c]
mov eax, dword [0x101f7890]
mov ecx, dword fs:[0x2c]
ja 0x10015cfa
mov esi, dword [eax + 0x1c]
mov eax, dword [0x101c1730]
dec esi
mov ebx, dword [ecx + eax*4]
mov eax, dword [0x101fce10]
cmp eax, dword [ebx + 4]
jle 0x100159d1
push 0x101fce10
call fcn.1010fdd4
add esp, 4
cmp dword [0x101fce10], 0xffffffff
jne 0x100159d1
mov edx, str.55_8B_EC_8B_4D___56_E8_________8B_75
mov ecx, str.client.dll
call fcn.10006a40
push 0x101fce10
mov dword [0x101fce14], eax
call fcn.1010fd83
add esp, 4
push esi
push 0
call dword [0x101fce14]
movss xmm0, dword [esp + 0x30]
inc edi
movss xmm3, dword [0x101b8444]
movss xmm4, dword [0x101b85fc]
cmp edi, 5
jle 0x10015790
mov edi, 1
nop
mov ecx, dword [0x101f764c]
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 [0x101b8444]
mulss xmm0, dword [0x101b85fc]
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.10015000
movss xmm0, dword [esp + 0x38]
movss dword [esp + 0x39c], xmm0
movss xmm0, dword [esp + 0xc]
movss dword [esp + 0x3a0], xmm0
call fcn.100246e0
call fcn.10024d90
lea ecx, [esp + 0x378]
call fcn.100246e0
call fcn.10024d90
mov ecx, dword [0x101f764c]
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.100126c0
mov ecx, dword [0x101f75d4]
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 [0x101b8358]
comiss xmm0, dword [esp + 0x2e4]
mov eax, dword [0x101f7890]
ja 0x10015c8c
mov esi, dword [eax + 0x1c]
mov eax, dword [0x101fce10]
dec esi
cmp eax, dword [ebx + 4]
jle 0x10015c72
push 0x101fce10
call fcn.1010fdd4
add esp, 4
cmp dword [0x101fce10], 0xffffffff
jne 0x10015c72
mov edx, str.55_8B_EC_8B_4D___56_E8_________8B_75
mov ecx, str.client.dll
call fcn.10006a40
push 0x101fce10
mov dword [0x101fce14], eax
call fcn.1010fd83
add esp, 4
push esi
push 0
call dword [0x101fce14]
inc edi
cmp edi, 5
jle 0x10015a00
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 [0x101fce10]
dec esi
cmp eax, dword [ebx + 4]
jle 0x10015cea
push 0x101fce10
call fcn.1010fdd4
add esp, 4
cmp dword [0x101fce10], 0xffffffff
jne 0x10015cea
mov edx, str.55_8B_EC_8B_4D___56_E8_________8B_75
mov ecx, str.client.dll
call fcn.10006a40
push 0x101fce10
mov dword [0x101fce14], eax
call fcn.1010fd83
add esp, 4
push esi
push 0
call dword [0x101fce14]
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 [0x101c1730]
dec esi
mov ecx, dword [ecx + eax*4]
mov eax, dword [0x101fce10]
cmp eax, dword [ecx + 4]
jle 0x10015d60
push 0x101fce10
call fcn.1010fdd4
add esp, 4
cmp dword [0x101fce10], 0xffffffff
jne 0x10015d60
mov edx, str.55_8B_EC_8B_4D___56_E8_________8B_75
mov ecx, str.client.dll
call fcn.10006a40
push 0x101fce10
mov dword [0x101fce14], eax
call fcn.1010fd83
add esp, 4
push esi
push 0
call dword [0x101fce14]
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 [0x101b84a0]
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 0x10015db8
movaps xmm2, xmm3
movss dword [esp + 0x14], xmm3
test cl, 0x10
je 0x10015dce
mov eax, edi
neg eax
movd xmm2, eax
cvtdq2ps xmm2, xmm2
movss dword [esp + 0x14], xmm2
test ecx, 0x200
je 0x10015de7
mov eax, edi
neg eax
movd xmm1, eax
cvtdq2ps xmm1, xmm1
movss dword [esp + 0x10], xmm1
test ecx, 0x400
je 0x10015df8
movaps xmm1, xmm3
movss dword [esp + 0x10], xmm1
ucomiss xmm2, xmm0
lahf
test ah, 0x44
jp 0x10015f70
ucomiss xmm1, xmm0
lahf
test ah, 0x44
jp 0x10015f70
cmp byte [0x101be224], 0
je 0x10015f70
mov eax, dword [0x101be290]
cmp eax, 3
ja case.0x10015e29.0
jmp dword [eax*4 + 0x1001610c]
push dword [0x101f78c8]
fstp st(1)
fstp st(0)
call edx
cwde
shr eax, 0x10
test eax, eax
setne al
jmp 0x10015e70
push dword [0x101f78c8]
fstp st(1)
fstp st(0)
call edx
test ax, ax
setne al
jmp 0x10015e70
push dword [0x101f78c8]
fstp st(1)
fstp st(0)
call edx
cwde
shr eax, 0x10
test eax, eax
sete al
test al, al
je 0x10015f62
fld dword [esp + 0x30]
fld dword [esp + 0x34]
movss xmm4, dword [0x101b84a0]
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 [0x101b85a0]
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.100abc80
movss xmm1, dword [esp + 0x40]
subss xmm1, dword [ebx + 0x10]
mulss xmm1, dword [0x101b8268]
movaps xmm0, xmm1
movss dword [esp + 0xc], xmm1
call fcn.10009630
xorps xmm1, xmm1
cvtsi2ss xmm1, edi
mulss xmm0, xmm1
movss dword [esp + 0x14], xmm0
movss xmm0, dword [esp + 0xc]
call fcn.10009640
movss xmm2, dword [esp + 0x14]
movaps xmm1, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, edi
mulss xmm1, xmm0
xorps xmm1, xmmword [0x101b88a0]
movss dword [esp + 0x10], xmm1
jmp 0x10015f74
movss xmm1, dword [esp + 0x10]
movss xmm2, dword [esp + 0x14]
jmp 0x10015f74
fstp st(1)
fstp st(0)
push ebx
lea ecx, [esp + 0x314]
call fcn.10015000
movss dword [esp + 0x334], xmm2
movss dword [esp + 0x338], xmm1
call fcn.100246e0
call fcn.10024d90
mov eax, dword [0x101f764c]
mov dword [esp + 0xc], eax
mov eax, dword [0x101f76c0]
test eax, eax
jne 0x10015fdd
mov edx, 0xe80c2f78
mov ecx, 0x10198749
call fcn.10003ad0
mov edx, 0xc10bf213
mov ecx, 0x1014c93d
mov esi, eax
call fcn.10003ad0
mov edx, esi
mov ecx, eax
call fcn.100abe50
mov dword [0x101f76c0], eax
mov ecx, dword [esp + 0xc]
movss xmm0, dword [ecx + eax + 8]
ucomiss xmm0, dword [0x101b85f8]
mov ecx, dword [0x101c1730]
lahf
test ah, 0x44
mov eax, dword [0x101f7890]
mov esi, dword [eax + 0x1c]
mov eax, dword fs:[0x2c]
mov ecx, dword [eax + ecx*4]
mov eax, dword [0x101fce10]
jnp 0x100160a5
dec esi
cmp eax, dword [ecx + 4]
jle 0x10016054
push 0x101fce10
call fcn.1010fdd4
add esp, 4
cmp dword [0x101fce10], 0xffffffff
jne 0x10016054
mov edx, str.55_8B_EC_8B_4D___56_E8_________8B_75
mov ecx, str.client.dll
call fcn.10006a40
push 0x101fce10
mov dword [0x101fce14], eax
call fcn.1010fd83
add esp, 4
push esi
push 0
call dword [0x101fce14]
movd xmm0, edi
cvtdq2ps xmm0, xmm0
mov edx, dword [sym.imp.USER32.dll_GetKeyState]
fld dword [esp + 0x30]
subss xmm0, dword [0x101b841c]
fld dword [esp + 0x34]
movss xmm4, dword [0x101b84a0]
cvttss2si edi, xmm0
movd xmm0, edi
cvtdq2ps xmm0, xmm0
comiss xmm0, dword [0x101b81e8]
ja 0x10015d8b
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 0x100160e5
push 0x101fce10
call fcn.1010fdd4
add esp, 4
cmp dword [0x101fce10], 0xffffffff
jne 0x100160e5
mov edx, str.55_8B_EC_8B_4D___56_E8_________8B_75
mov ecx, str.client.dll
call fcn.10006a40
push 0x101fce10
mov dword [0x101fce14], eax
call fcn.1010fd83
add esp, 4
push esi
push 0
call dword [0x101fce14]
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