Function at 0x10019000
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x2e4
cmp byte [0x102815ca], 0
push ebx
push esi
push edi
mov ebx, ecx
je 0x10019b02
mov edi, dword [0x10281360]
test edi, edi
je 0x10019b02
mov eax, edi
mov dword [esp + 0x10], eax
test eax, eax
je 0x10019b02
mov eax, dword [0x1028135c]
test eax, eax
jne 0x10019077
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 + 0x10]
cmp dword [ecx + eax], 0
jle 0x10019b02
mov eax, dword [0x102813b4]
test eax, eax
jne 0x100190bc
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 0x10019b02
call fcn.1000b770
cmp eax, 9
je 0x10019b02
cmp eax, 8
je 0x10019b02
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 + 0x1c], eax
mov eax, dword [ecx]
movq qword [esp + 0x14], 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 + 0x3c], eax
mov eax, dword [ecx]
movq qword [esp + 0x34], 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 + 0x10], xmm1
movq xmm0, qword [eax]
mov eax, dword [eax + 8]
movq qword [esp + 0x40], xmm0
movss xmm0, dword [esp + 0x1c]
mov dword [esp + 0x48], eax
mov dword [esp + 0x58], vtable.trace_world_only.0
movss dword [esp + 0x28], xmm0
movaps xmm0, xmm1
call fcn.1018c340
lea eax, [esp + 0x40]
mov dword [esp + 0x160], 0
push eax
movaps xmm1, xmm0
mov dword [esp + 0x160], 0
shufps xmm1, xmm0, 1
lea eax, [esp + 0x38]
addss xmm1, dword [esp + 0x18]
addss xmm0, dword [esp + 0x1c]
push eax
lea eax, [esp + 0x28]
mov dword [esp + 0x160], 0
push eax
lea eax, [esp + 0x20]
movss dword [esp + 0x2c], xmm1
push eax
lea ecx, [esp + 0x70]
movss dword [esp + 0x34], xmm0
mov dword [esp + 0x17c], 0
mov dword [esp + 0x178], 0
mov dword [esp + 0x174], 0
mov dword [esp + 0x188], 0
mov dword [esp + 0x184], 0
mov dword [esp + 0x180], 0
mov dword [esp + 0x78], 0
mov dword [esp + 0x74], 0
mov dword [esp + 0x70], 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
call fcn.100146d0
mov ecx, dword [0x102812e4]
lea edx, [esp + 0x158]
push edx
lea edx, [esp + 0x5c]
push edx
mov eax, dword [ecx]
lea edx, [esp + 0x68]
push 0x201400b
push edx
call dword [eax + 0x14]
movss xmm0, dword [0x10240668]
comiss xmm0, dword [esp + 0x184]
jbe 0x100192d1
movss xmm0, dword [esp + 0x178]
xorps xmm1, xmm1
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x100192fd
movss xmm1, dword [esp + 0x10]
addss xmm1, dword [0x102405f4]
movss xmm0, dword [0x10240774]
comiss xmm0, xmm1
movss dword [esp + 0x10], xmm1
ja 0x10019166
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
movss xmm1, dword [esp + 0x174]
lea eax, [esp + 0x40]
movss xmm0, dword [esp + 0x14]
lea ecx, [esp + 0xb0]
mulss xmm1, dword [0x10240920]
push eax
movss dword [esp + 0x24], xmm0
lea eax, [esp + 0x38]
movss xmm0, dword [esp + 0x1c]
movss dword [esp + 0x28], xmm0
movaps xmm0, xmm1
addss xmm0, dword [esp + 0x20]
push eax
lea eax, [esp + 0x28]
movss dword [esp + 0x18], xmm1
push eax
lea eax, [esp + 0x20]
mov dword [esp + 0x1c4], 0
push eax
movss dword [esp + 0x38], xmm0
mov dword [esp + 0x1c4], 0
mov dword [esp + 0x1c0], 0
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 + 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
mov dword [esp + 0xf8], 0
mov dword [esp + 0xf4], 0
mov dword [esp + 0xf0], 0
call fcn.100146d0
mov ecx, dword [0x102812e4]
lea edx, [esp + 0x1b0]
push edx
lea edx, [esp + 0x5c]
push edx
mov eax, dword [ecx]
lea edx, [esp + 0xb8]
push 0x201400b
push edx
call dword [eax + 0x14]
movss xmm0, dword [esp + 0x1dc]
ucomiss xmm0, dword [0x10240668]
lahf
test ah, 0x44
jp 0x10019799
movss xmm1, dword [esp + 0x10]
subss xmm1, dword [ebx + 0x10]
mulss xmm1, dword [0x10240560]
movaps xmm0, xmm1
call fcn.1018c340
movaps xmm3, xmm0
mov edi, 1
shufps xmm0, xmm3, 1
movups xmmword [esp + 0x270], xmm3
movups xmmword [esp + 0x260], xmm0
nop dword [eax + eax]
movd xmm1, edi
lea ecx, [esp + 0x288]
cvtdq2ps xmm1, xmm1
push ebx
movaps xmm2, xmm1
mulss xmm1, xmm3
mulss xmm2, xmm0
mulss xmm1, dword [0x10240980]
mulss xmm2, dword [0x10240790]
movss dword [esp + 0x10], xmm1
movss dword [esp + 0x58], xmm2
call fcn.10017ee0
movss dword [esp + 0x2ac], xmm2
movss dword [esp + 0x2b0], 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 + 0x100]
movq xmm0, qword [eax]
mov eax, dword [eax + 8]
movq qword [esp + 0x14], xmm0
movss xmm0, dword [esp + 0x14]
mov dword [esp + 0x1c], eax
lea eax, [esp + 0x40]
push eax
movss dword [esp + 0x24], xmm0
lea eax, [esp + 0x38]
movss xmm0, dword [esp + 0x1c]
movss dword [esp + 0x28], xmm0
movss xmm0, dword [esp + 0x20]
addss xmm0, dword [esp + 0x14]
push eax
lea eax, [esp + 0x28]
mov dword [esp + 0x218], 0
push eax
lea eax, [esp + 0x20]
mov dword [esp + 0x218], 0
push eax
movss dword [esp + 0x38], xmm0
mov dword [esp + 0x218], 0
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 + 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
mov dword [esp + 0x148], 0
mov dword [esp + 0x144], 0
mov dword [esp + 0x140], 0
call fcn.100146d0
mov ecx, dword [0x102812e4]
lea edx, [esp + 0x208]
push edx
lea edx, [esp + 0x5c]
push edx
mov eax, dword [ecx]
lea edx, [esp + 0x108]
push 0x201400b
push edx
call dword [eax + 0x14]
movss xmm0, dword [0x10240668]
comiss xmm0, dword [esp + 0x234]
mov eax, dword [0x1028159c]
mov ecx, dword fs:[0x2c]
ja 0x10019723
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 0x100196f9
push 0x10286fd0
call fcn.1018b6e4
add esp, 4
cmp dword [0x10286fd0], 0xffffffff
jne 0x100196f9
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 + 0x260]
inc edi
movups xmm3, xmmword [esp + 0x270]
cmp edi, 5
jle 0x100194c0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
movss xmm0, dword [esp + 0x54]
movss dword [ebx + 0x24], xmm0
movss xmm0, dword [esp + 0xc]
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 0x10019789
push 0x10286fd0
call fcn.1018b6e4
add esp, 4
cmp dword [0x10286fd0], 0xffffffff
jne 0x10019789
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
mov edx, dword [sym.imp.USER32.dll_GetKeyState]
mov edi, 0x2d
movss xmm4, dword [0x102407f0]
fldz
mov ecx, dword [ebx + 0x30]
xorps xmm3, xmm3
movd xmm1, edi
xorps xmm2, xmm2
xorps xmm0, xmm0
movups xmmword [esp + 0x20], xmm3
movups xmmword [esp + 0x40], xmm2
cvtdq2ps xmm1, xmm1
test cl, 8
je 0x100197d8
movaps xmm3, xmm1
movups xmmword [esp + 0x20], xmm3
test cl, 0x10
je 0x100197ed
mov eax, edi
neg eax
movd xmm3, eax
cvtdq2ps xmm3, xmm3
movups xmmword [esp + 0x20], xmm3
test ecx, 0x200
je 0x10019805
mov eax, edi
neg eax
movd xmm2, eax
cvtdq2ps xmm2, xmm2
movups xmmword [esp + 0x40], xmm2
test ecx, 0x400
je 0x10019815
movaps xmm2, xmm1
movups xmmword [esp + 0x40], xmm2
ucomiss xmm3, xmm0
lahf
test ah, 0x44
jp 0x1001997b
ucomiss xmm2, xmm0
lahf
test ah, 0x44
jp 0x1001997b
cmp byte [0x1024722c], 0
je 0x1001997b
mov eax, dword [0x102472a8]
cmp eax, 3
ja case.0x10019846.0
jmp dword [eax*4 + 0x10019b0c]
push dword [0x102815e0]
fstp st(0)
call edx
cwde
shr eax, 0x10
test eax, eax
setne al
jmp 0x10019887
push dword [0x102815e0]
fstp st(0)
call edx
test ax, ax
setne al
jmp 0x10019887
push dword [0x102815e0]
fstp st(0)
call edx
cwde
shr eax, 0x10
test eax, eax
sete al
test al, al
je 0x1001996f
movss xmm4, dword [0x102407f0]
fldz
movss xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x34]
xorps xmm0, xmmword [0x10240c20]
movss dword [esp + 0xc], xmm0
fld dword [esp + 0xc]
fxch st(1)
fst dword [esp + 0xc]
movss xmm1, dword [esp + 0xc]
fst dword [esp + 0xc]
movss xmm0, dword [esp + 0xc]
mulss xmm0, xmm0
mov dword [esp + 0x3c], 0
mulss xmm1, xmm1
addss xmm1, xmm0
xorps xmm0, xmm0
sqrtss xmm0, xmm1
movss dword [esp + 0xc], xmm0
fld dword [esp + 0xc]
fxch st(1)
fxch st(2)
fxch st(1)
fpatan
fstp dword [esp + 0xc]
movss xmm0, dword [esp + 0xc]
fld st(0)
mulss xmm0, xmm4
fpatan
movss dword [esp + 0x34], xmm0
fstp dword [esp + 0xc]
movss xmm0, dword [esp + 0xc]
mulss xmm0, xmm4
movss dword [esp + 0x38], xmm0
call fcn.10127580
movss xmm1, dword [esp + 0x38]
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 + 0x40], xmm2
movups xmmword [esp + 0x20], xmm3
jmp 0x1001997d
movups xmm2, xmmword [esp + 0x40]
movups xmm3, xmmword [esp + 0x20]
jmp 0x1001997d
fstp st(0)
push ebx
lea ecx, [esp + 0x28c]
call fcn.10017ee0
movss dword [esp + 0x2ac], xmm3
movss dword [esp + 0x2b0], xmm2
call fcn.1002a2e0
call fcn.1002a990
mov eax, dword [0x10281360]
mov dword [esp + 0xc], eax
mov eax, dword [0x102813d8]
test eax, eax
jne 0x100199e6
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 + 0xc]
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 0x10019aa5
dec esi
cmp eax, dword [ecx + 4]
jle 0x10019a5d
push 0x10286fd0
call fcn.1018b6e4
add esp, 4
cmp dword [0x10286fd0], 0xffffffff
jne 0x10019a5d
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
xorps xmm1, xmm1
cvtdq2ps xmm0, xmm0
mov edx, dword [sym.imp.USER32.dll_GetKeyState]
movss xmm4, dword [0x102407f0]
subss xmm0, dword [0x10240768]
fldz
cvttss2si edi, xmm0
movd xmm0, edi
cvtdq2ps xmm0, xmm0
comiss xmm0, xmm1
ja 0x100197ae
fstp st(0)
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
dec esi
cmp eax, dword [ecx + 4]
jle 0x10019ae5
push 0x10286fd0
call fcn.1018b6e4
add esp, 4
cmp dword [0x10286fd0], 0xffffffff
jne 0x10019ae5
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 + 0x20]
movss dword [ebx + 0x24], xmm0
movups xmm0, xmmword [esp + 0x40]
movss dword [ebx + 0x28], xmm0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret