Function at 0x10012a90
Capabilities:
Access peb ldr_data
Log keystrokes via polling

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10038f40
mov eax, dword fs:[0]
push eax
push ebx
mov eax, 0x1c58
call fcn.10036d80
mov eax, dword [0x10045008]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [0x10091620]
push dword [ebx + 0x10]
movss xmm0, dword [ebx + 0xc]
mov edi, dword [ebx + 8]
mov eax, dword [eax + 4]
push ecx
movss dword [esp], xmm0
mov ecx, edx
push edi
mov eax, dword [eax + 0x48]
call eax
mov ecx, dword [0x10091590]
mov eax, dword [ecx]
mov eax, dword [eax + 0x30]
call eax
mov ecx, dword [0x100915ac]
push eax
mov edx, dword [ecx]
mov eax, dword [edx + 0xc]
call eax
mov ecx, dword [0x100915ac]
mov esi, eax
mov dword [ebp - 0x1c24], esi
mov edx, dword [ecx]
push dword [esi + 0xb38]
mov edx, dword [edx + 0x10]
call edx
mov ecx, eax
test ecx, ecx
jne 0x10012b3a
mov dword [ebp - 0x1c28], eax
jmp 0x10012b47
mov eax, dword [ecx]
mov eax, dword [eax + 0x1c]
call eax
mov dword [ebp - 0x1c28], eax
mov ecx, dword [0x10091564]
test ecx, ecx
je 0x10013b26
mov byte [0x1009139d], 1
mov eax, dword [ecx]
push edi
mov eax, dword [eax + 0x20]
call eax
cmp byte [0x1009156d], 0
mov edi, eax
je 0x10012b90
push 1
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jne 0x10012b89
push 2
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x10012b90
and dword [edi + 0x24], 0xfffff1e6
movss xmm0, dword [edi + 0x1c]
mov ecx, dword [0x10091590]
movss dword [0x11d90b08], xmm0
movss xmm0, dword [edi + 0x18]
movss dword [0x11d90b0c], xmm0
mov eax, dword [ecx]
push 0x11d90b1c
mov eax, dword [eax + 0x4c]
call eax
movss xmm0, dword [edi + 0xc]
movss dword [0x11d90b10], xmm0
movss xmm0, dword [edi + 0x10]
movss dword [0x11d90b14], xmm0
movss xmm0, dword [edi + 0x14]
movss dword [0x11d90b18], xmm0
call fcn.100328c0
inc dword [0x10091560]
cmp byte [0x10fb2cbc], 0
mov eax, dword [edi + 8]
mov dword [0x1009161c], eax
je 0x10012cd8
push 0x75
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
mov ecx, dword [0x10090e24]
test ax, ax
mov eax, 1
cmovne ecx, eax
push 0x76
mov dword [0x10090e24], ecx
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x10012c40
lea eax, [ebp - 0x1c]
mov word [0x10092284], 1
mov dword [0x10092280], eax
push 0x77
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x10012c5e
lea eax, [ebp - 0x1c]
mov word [0x10092284], 0x100
mov dword [0x10092280], eax
push 0x78
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
mov ecx, dword [0x10090e24]
test ax, ax
mov edx, 2
cmovne ecx, edx
push 0x79
mov dword [0x10090e24], ecx
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
mov ecx, dword [0x10090e24]
xor edx, edx
test ax, ax
push 0x7a
cmovne ecx, edx
mov dword [0x10090e24], ecx
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
mov ecx, dword [0x10090e24]
test ax, ax
mov edx, 3
cmovne ecx, edx
sub esp, 0xc
mov dword [0x10090e24], ecx
mov ecx, esp
movq xmm0, qword [edi + 0xc]
mov eax, dword [edi + 0x14]
push esi
movq qword [ecx], xmm0
mov dword [ecx + 8], eax
mov ecx, 0x10090e18
push edi
call fcn.1002e8c0
mov ecx, esi
call fcn.100031d0
cmp dword [eax], 0
jne 0x10013b26
cmp byte [0x10fb2624], 0
je 0x10012d61
mov ecx, esi
call fcn.10002f00
mov ecx, dword [eax]
mov dword [0x11d90b68], ecx
not cl
and cl, 1
cmp byte [0x11dff3fe], 0
mov byte [0x11dff3ff], cl
jne 0x10012d23
cmp byte [0x11dff3fd], 0
je 0x10012d23
or dword [edi + 0x24], 2
jmp 0x10012d5a
mov eax, dword [edi + 0x24]
test al, 2
je 0x10012d53
test cl, cl
jne 0x10012d3e
mov al, 1
mov byte [0x11dff3fd], 1
mov byte [0x11dff3fe], al
jmp 0x10012d61
and eax, 0xfffffffd
or eax, 2
and eax, 0xfffffffd
mov dword [edi + 0x24], eax
xor al, al
mov byte [0x11dff3fe], al
jmp 0x10012d61
mov byte [0x11dff3fe], 0
mov byte [0x11dff3fd], 0
cmp dword [0x10fb26e0], 1
mov eax, dword [esi + 0x134]
jne 0x10012e20
cmp eax, 8
je 0x10012e20
cmp eax, 9
je 0x10012e20
mov ecx, esi
call fcn.10002f00
test byte [eax], 1
jne 0x10012e11
movzx ecx, word [edi + 0x38]
lea eax, [ecx + 1]
cmp ax, 2
ja 0x10012de9
lea ecx, [esi + 0xe0]
call fcn.10002c80
test byte [edi + 4], 1
movss xmm1, dword [0x10040b78]
divss xmm1, xmm0
movss dword [edi + 0x18], xmm1
movss xmm0, dword [esi + 0xda0]
jne 0x10012dd0
xorps xmm0, xmmword [0x10040c80]
movss dword [edi + 0x1c], xmm0
movss xmm0, dword [esi + 0xda0]
comiss xmm1, xmm0
jbe 0x10012e20
movss dword [edi + 0x18], xmm0
jmp 0x10012e20
movss xmm1, dword [esi + 0xda0]
xorps xmm2, xmm2
movsx eax, cx
movd xmm0, eax
cvtdq2ps xmm0, xmm0
comiss xmm2, xmm0
jbe 0x10012e0a
xorps xmm1, xmmword [0x10040c80]
movss dword [edi + 0x1c], xmm1
jmp 0x10012e20
test byte [edi + 0x24], 2
je 0x10012e20
mov eax, dword [esi + 0xda0]
mov dword [edi + 0x18], eax
mov ecx, edi
call fcn.100071b0
cmp byte [0x10fb2628], 0
je 0x10013018
cmp dword [esi + 0x134], 9
je 0x10013018
movss xmm4, dword [esi + 0x2a4]
movaps xmm0, xmm4
movss xmm5, dword [esi + 0x1d10]
subss xmm0, dword [0x10040a80]
movss xmm6, dword [esi + 0x1d14]
movss xmm7, dword [esi + 0x1d18]
mov dword [ebp - 0x1c5c], 0
mov dword [ebp - 0x1c58], 0
subss xmm0, xmm4
mov byte [ebp - 0x1c37], 1
movss dword [ebp - 0x1c54], xmm0
mulss xmm0, xmm0
ucomiss xmm0, dword [0x100408a8]
lahf
test ah, 0x44
jp 0x10012eab
mov byte [ebp - 0x1c37], 0
movss xmm2, dword [esi + 0x1c20]
lea edx, [ebp - 0x78]
movss xmm3, dword [esi + 0x1c24]
subss xmm2, xmm5
movss xmm1, dword [esi + 0x1c28]
subss xmm3, xmm6
addss xmm5, dword [esi + 0x1c20]
subss xmm1, xmm7
mov ecx, dword [0x10091598]
addss xmm6, dword [esi + 0x1c24]
movaps xmm0, xmm2
mov dword [ebp - method.Valve::TraceFilterSkipTwoEntities.virtual_0], vtable.Valve::TraceFilterSkipTwoEntities.0
mulss xmm0, dword [0x10040970]
mov eax, dword [ecx]
addss xmm7, dword [esi + 0x1c28]
mulss xmm2, xmm2
push edx
movss dword [ebp - 0x1c44], xmm0
movaps xmm0, xmm3
mulss xmm0, dword [0x10040970]
lea edx, [ebp - 0x1c34]
push edx
mulss xmm3, xmm3
lea edx, [ebp - 0x1c68]
push 0x1400b
movss dword [ebp - 0x1c40], xmm0
movaps xmm0, xmm1
mulss xmm0, dword [0x10040970]
mov dword [ebp - 0x1c30], esi
addss xmm3, xmm2
mulss xmm1, xmm1
mov dword [ebp - 0x1c2c], 0
movss dword [ebp - 0x1c3c], xmm0
movsd xmm0, qword [0x10040958]
push edx
addss xmm3, xmm1
mulss xmm3, dword [0x10040948]
cvtps2pd xmm1, xmm3
comisd xmm0, xmm1
movss xmm0, dword [0x10040970]
mulss xmm5, xmm0
mulss xmm6, xmm0
seta byte [ebp - 0x1c38]
mulss xmm7, xmm0
movaps xmm0, xmm5
addss xmm0, dword [esi + 0x29c]
movss dword [ebp - 0x1c68], xmm0
movaps xmm0, xmm6
addss xmm0, dword [esi + 0x2a0]
movss dword [ebp - 0x1c64], xmm0
movaps xmm0, xmm7
addss xmm0, xmm4
movss dword [ebp - 0x1c60], xmm0
movss xmm0, dword [0x10040c80]
xorps xmm5, xmm0
xorps xmm6, xmm0
xorps xmm7, xmm0
movss dword [ebp - 0x1c50], xmm5
movss dword [ebp - 0x1c4c], xmm6
movss dword [ebp - 0x1c48], xmm7
mov eax, dword [eax + 0x10]
call eax
movss xmm0, dword [ebp - 0x4c]
ucomiss xmm0, dword [0x100409a4]
lahf
test ah, 0x44
jp 0x10013018
or dword [edi + 0x24], 2
cmp byte [0x10fb2653], 0
movss xmm0, dword [esi + 0xdc]
movss dword [ebp - 0x1c20], xmm0
je 0x100130b6
mov ecx, dword [0x10091590]
mov eax, dword [ecx]
mov eax, dword [eax + 0x30]
call eax
mov ecx, dword [0x100915ac]
push eax
mov edx, dword [ecx]
mov eax, dword [edx + 0xc]
call eax
test byte [edi + 0x24], 4
je 0x100130af
mov ecx, eax
call fcn.10002f00
test byte [eax], 1
je 0x100130af
cmp byte [0x11dff644], 0
movss xmm1, dword [ebp - 0x1c20]
jne 0x10013089
ucomiss xmm1, dword [0x10040aa8]
lahf
test ah, 0x44
jp 0x100130b6
mov byte [0x11dff644], 1
jmp 0x100130b6
ucomiss xmm1, dword [0x10040ac0]
lahf
test ah, 0x44
jp 0x1001309c
or dword [edi + 0x24], 4
jmp 0x100130b6
movss xmm0, dword [0x10040abc]
comiss xmm0, xmm1
jb 0x100130b6
and dword [edi + 0x24], 0xfffffffb
jmp 0x100130b6
mov byte [0x11dff644], 0
push esi
push edi
mov ecx, 0x10f403b8
call fcn.1002e360
mov eax, dword [esi]
mov ecx, esi
mov eax, dword [eax + 0x24]
call eax
movss xmm4, dword [esi + 0xd8]
movss xmm3, dword [esi + 0xdc]
movss xmm0, dword [esi + 0xd4]
movss xmm2, dword [eax + 4]
movss xmm1, dword [eax + 8]
addss xmm4, xmm2
addss xmm0, dword [eax]
mov ecx, dword [ebp - 0x1c28]
addss xmm3, xmm1
movss dword [0x10093198], xmm4
movss dword [0x10093194], xmm0
movss dword [0x1009319c], xmm3
test ecx, ecx
je case.0x100132ea.0
cmp byte [0x10fb262c], 0
je 0x100132c3
mov eax, dword [ecx]
mov eax, dword [eax + 0x4a4]
call eax
test eax, eax
js 0x100132bd
cmp eax, 0x1d
jg 0x100132bd
cmp eax, 0x1c
jne 0x100132bd
mov eax, dword [0x1009159c]
mov eax, dword [eax + 0x14]
mov dword [ebp - 0x1c20], eax
cmp eax, 1
jl 0x100132bd
nop word [eax + eax]
mov ecx, dword [0x10091590]
mov eax, dword [ecx]
mov eax, dword [eax + 0x30]
call eax
mov edx, dword [ebp - 0x1c20]
cmp edx, eax
je 0x100132ad
mov ecx, dword [0x100915ac]
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
mov dword [ebp - 0x1c], eax
test eax, eax
je 0x100132a7
mov edx, dword [eax + 8]
lea ecx, [eax + 8]
mov edx, dword [edx + 0x20]
call edx
test al, al
jne 0x100132a7
mov ecx, dword [ebp - 0x1c]
call fcn.10002db0
mov ecx, dword [ebp - 0x1c24]
mov esi, dword [eax]
call fcn.10002db0
mov edx, dword [ebp - 0x1c20]
cmp esi, dword [eax]
je 0x1001329f
mov esi, dword [ebp - 0x1c]
cmp dword [esi + 0x87], 0
jne 0x1001329f
cmp byte [edx + 0x10fb28ec], 0
jne 0x1001329f
mov eax, dword [ebp - 0x1c28]
mov ecx, esi
movss xmm1, dword [eax + 0x6b8]
mov eax, dword [0x1009159c]
cvtps2pd xmm1, xmm1
movss xmm0, dword [eax + 0xc]
addsd xmm1, qword [0x100409e0]
cvtps2pd xmm0, xmm0
comisd xmm0, xmm1
seta byte [ebp - 0x1c19]
call fcn.100032c0
cmp dword [eax], 0x14
jg 0x1001323d
cmp byte [ebp - 0x1c19], 0
jne 0x10013252
mov ecx, esi
call fcn.100032c0
cmp dword [eax], 0xf
jg 0x10013277
cmp byte [ebp - 0x1c19], 0
jne 0x10013277
push esi
mov esi, dword [ebp - 0x1c24]
mov ecx, 0x11d90b64
push esi
push edi
push 0
call fcn.10034620
mov edx, dword [ebp - 0x1c20]
test al, al
je 0x100132ad
or dword [edi + 0x24], 1
jmp 0x100132ad
push esi
mov esi, dword [ebp - 0x1c24]
mov ecx, 0x11d90b64
push esi
push edi
push 1
call fcn.10034620
mov edx, dword [ebp - 0x1c20]
test al, al
je 0x100132ad
or dword [edi + 0x24], 0x800
jmp 0x100132ad
mov esi, dword [ebp - 0x1c24]
jmp 0x100132ad
mov edx, dword [ebp - 0x1c20]
dec edx
mov dword [ebp - 0x1c20], edx
cmp edx, 1
jge 0x10013170
mov ecx, dword [ebp - 0x1c28]
mov eax, dword [ecx]
mov eax, dword [eax + 0x4a4]
call eax
test eax, eax
js case.0x100132ea.0
cmp eax, 0x1d
jg case.0x100132ea.0
cmp eax, 0x1c
ja case.0x100132ea.1
movzx eax, byte [eax + 0x10013b50]
jmp dword [eax*4 + 0x10013b48]
cmp byte [0x1009156c], 0
jne 0x1001351e
cmp byte [0x10fb2560], 0
je 0x10013314
push dword [ebp - 0x1c28]
push esi
push edi
call fcn.10033dc0
cmp byte [0x10fb235c], 0
je 0x1001351e
movq xmm0, qword [edi + 0xc]
mov ecx, 0x100923e8
mov eax, dword [edi + 0x14]
push esi
push edi
movq qword [ebp - 0x1c34], xmm0
mov dword [ebp - 0x1c2c], eax
call fcn.10004e80
cmp byte [0x10fb236f], 0
je 0x1001351e
movss xmm0, dword [0x10fb24a8]
comiss xmm0, dword [0x10040a7c]
jb 0x1001351e
cmp byte [0x10fb236c], 0
jne 0x1001351e
movss xmm2, dword [edi + 0xc]
subss xmm2, dword [ebp - 0x1c34]
comiss xmm2, dword [0x10040b04]
movaps xmm0, xmm2
movss dword [ebp - 0x1c20], xmm2
mulss xmm0, dword [0x100408bc]
movss dword [ebp - 0x1c24], xmm0
ja 0x100133b5
movss xmm3, dword [0x10040bd4]
comiss xmm3, xmm2
ja 0x100133b5
xorps xmm5, xmm5
jmp 0x10013426
xorps xmm1, xmm1
comiss xmm1, xmm0
jbe 0x100133cc
xorps xmm0, xmmword [0x10040c80]
movss dword [ebp - 0x1c24], xmm0
fld dword [ebp - 0x1c24]
push ecx
fstp dword [esp]
call sub.api_ms_win_crt_math_l1_1_0.dll_roundf
movss xmm2, dword [ebp - 0x1c20]
xorps xmm5, xmm5
movss xmm3, dword [0x10040bd4]
add esp, 4
comiss xmm5, xmm2
fstp dword [ebp - 0x1c24]
movss xmm0, dword [ebp - 0x1c24]
mulss xmm0, dword [0x10040b38]
jbe 0x1001341a
addss xmm0, xmm2
movss dword [ebp - 0x1c20], xmm0
jmp 0x10013426
subss xmm2, xmm0
movss dword [ebp - 0x1c20], xmm2
movss xmm1, dword [edi + 0x10]
movss xmm4, dword [ebp - 0x1c30]
subss xmm1, xmm4
comiss xmm1, dword [0x10040b04]
movaps xmm0, xmm1
movss dword [ebp - 0x1c], xmm1
mulss xmm0, dword [0x100408bc]
movss dword [ebp - 0x1c24], xmm0
ja 0x1001345d
comiss xmm3, xmm1
jbe 0x100134b8
comiss xmm5, xmm0
jbe 0x10013471
xorps xmm0, xmmword [0x10040c80]
movss dword [ebp - 0x1c24], xmm0
fld dword [ebp - 0x1c24]
push ecx
fstp dword [esp]
call sub.api_ms_win_crt_math_l1_1_0.dll_roundf
movss xmm1, dword [ebp - 0x1c]
xorps xmm0, xmm0
movss xmm4, dword [ebp - 0x1c30]
add esp, 4
fstp dword [ebp - 0x1c24]
comiss xmm0, xmm1
movss xmm0, dword [ebp - 0x1c24]
mulss xmm0, dword [0x10040b38]
jbe 0x100134b4
addss xmm1, xmm0
jmp 0x100134b8
subss xmm1, xmm0
movss xmm0, dword [0x10040b04]
movss xmm2, dword [0x10fb24a8]
comiss xmm2, xmm0
jb 0x100134d2
movaps xmm2, xmm0
jmp 0x100134d7
movss xmm2, dword [ebp - 0x1c]
movss xmm0, dword [ebp - 0x1c20]
comiss xmm2, xmm0
jbe 0x100134fd
movaps xmm3, xmm2
xorps xmm3, xmmword [0x10040c80]
comiss xmm0, xmm3
jbe 0x100134fd
comiss xmm2, xmm1
jbe 0x100134fd
comiss xmm1, xmm3
ja 0x1001351e
movss xmm0, dword [ebp - 0x1c34]
lea eax, [edi + 0xc]
movss dword [eax], xmm0
movss xmm0, dword [ebp - 0x1c2c]
movss dword [eax + 4], xmm4
movss dword [eax + 8], xmm0
test byte [edi + 0x24], 1
je 0x1001387f
push dword [ebp - 0x1c28]
push esi
call fcn.10034410
test al, al
je 0x10013846
mov ecx, dword [0x10092884]
cmp ecx, 0xffffffff
je 0x10013557
cmp byte [ecx + 0x10092240], 0
je 0x10013557
inc dword [ecx*4 + 0x10091640]
mov dl, byte [0x10fb2560]
mov byte [0x11dff3fc], 1
mov dword [0x100913a8], 0
test dl, dl
je 0x1001357f
cmp byte [0x10fb2562], 0
jne 0x1001357f
mov al, 1
jmp 0x10013581
xor al, al
test dl, dl
je 0x1001358d
test al, al
je 0x100136dd
cmp byte [0x10fb2558], 0
je 0x100135cd
mov ecx, dword [edi + 4]
call fcn.100308a0
and eax, 0x7fffffff
mov dword [edi + 0x34], eax
cmp al, 0x8d
je 0x100135c7
nop word [eax + eax]
inc dword [edi + 4]
mov ecx, dword [edi + 4]
call fcn.100308a0
and eax, 0x7fffffff
mov dword [edi + 0x34], eax
cmp al, 0x8d
jne 0x100135b0
mov ecx, dword [0x10092884]
cmp byte [0x10fb2559], 0
je 0x100136dd
mov eax, dword [0x10fb255c]
sub eax, 1
je 0x10013624
sub eax, 1
je 0x10013609
sub eax, 1
movzx eax, byte [0x10fb2649]
push eax
push dword [ebp - 0x1c28]
lea eax, [edi + 0xc]
push ecx
push eax
push edi
jne 0x10013638
call fcn.10026510
jmp 0x1001363d
movzx eax, byte [0x10fb2649]
push eax
push dword [ebp - 0x1c28]
lea eax, [edi + 0xc]
push ecx
push eax
push edi
call fcn.10027590
jmp 0x1001363d
movzx eax, byte [0x10fb2649]
push eax
push dword [ebp - 0x1c28]
lea eax, [edi + 0xc]
push ecx
push eax
push edi
call fcn.10026f40
cmp byte [0x10fb2648], 0
movss xmm1, dword [esi + 0xbb0]
addss xmm1, xmm1
je 0x10013695
cmp byte [0x10fb2649], 0
je 0x10013695
movss xmm0, dword [0x10040b04]
subss xmm0, dword [edi + 0xc]
subss xmm0, xmm1
movss dword [edi + 0xc], xmm0
movss xmm1, dword [esi + 0xbb4]
movss xmm0, dword [edi + 0x10]
addss xmm1, xmm1
subss xmm0, dword [0x10040b04]
subss xmm0, xmm1
movss dword [edi + 0x10], xmm0
jmp 0x100136d7
movss xmm0, dword [edi + 0xc]
movss xmm2, dword [esi + 0xbb4]
subss xmm0, xmm1
movss xmm3, dword [esi + 0xbb8]
addss xmm2, xmm2
addss xmm3, xmm3
movss dword [edi + 0xc], xmm0
movss xmm0, dword [edi + 0x10]
subss xmm0, xmm2
movss dword [edi + 0x10], xmm0
movss xmm0, dword [edi + 0x14]
subss xmm0, xmm3
movss dword [edi + 0x14], xmm0
mov ecx, dword [0x10092884]
cmp dword [0x10fb254c], 0
je 0x1001382d
cmp ecx, 0xffffffff
je 0x1001382d
mov eax, ecx
shl eax, 5
add eax, dword [ecx*4 + 0x10f40240]
imul eax, eax, 0x1ba0
mov dword [ebp - 0x1c], eax
lea edx, [eax + 0x10fb2cc8]
imul eax, ecx, 0x1ba0
lea ecx, [ebp - 0x1c18]
mov dword [ebp - 0x1c24], edx
add eax, 0x11d90b78
push eax
call fcn.100038c0
mov eax, dword [ebp - 0x1c24]
mov dword [ebp - 4], 0
cmp dword [0x10fb254c], 2
mov byte [ebp - 0x1c19], 0
jne 0x100137a0
mov ecx, dword [ebp - 0x1c]
movss xmm1, dword [eax + 4]
movss xmm2, dword [eax + 8]
movss xmm0, dword [eax + 0xc]
subss xmm2, dword [ecx + 0x10fb4870]
subss xmm1, dword [ecx + 0x10fb486c]
subss xmm0, dword [ecx + 0x10fb4874]
mulss xmm2, xmm2
mulss xmm1, xmm1
mulss xmm0, xmm0
addss xmm2, xmm1
addss xmm2, xmm0
comiss xmm2, dword [0x10040b74]
jbe 0x100137a0
movss xmm0, dword [ebp - 0x1be4]
mov byte [ebp - 0x1c19], 1
jmp 0x100137a5
movss xmm0, dword [eax + 0x34]
mov eax, dword [0x1009159c]
movss dword [ebp - 0x1c], xmm0
movss xmm0, dword [0x100409a4]
divss xmm0, dword [eax + 0x1c]
movss dword [ebp - 0x1c20], xmm0
call fcn.10023d70
movss xmm1, dword [ebp - 0x1c20]
mulss xmm0, xmm1
mulss xmm1, dword [ebp - 0x1c]
addss xmm0, dword [0x10040970]
addss xmm1, dword [0x10040970]
cvttss2si ecx, xmm0
cvttss2si eax, xmm1
add ecx, eax
cmp byte [ebp - 0x1c19], 0
lea eax, [ebp - 0x1c18]
mov dword [ebp - 0x1c], ecx
cmove eax, dword [ebp - 0x1c24]
push eax
call fcn.100245b0
test al, al
je 0x1001381b
mov eax, dword [ebp - 0x1c]
mov dword [edi + 8], eax
lea ecx, [ebp - 0x1c18]
mov dword [ebp - 4], 0xffffffff
call fcn.10003490
mov ecx, edi
call fcn.10012040
cmp byte [0x10fb236b], 0
je case.0x100132ea.0
mov byte [0x1009139d], 0
jmp case.0x100132ea.0
cmp byte [0x10fb236c], 0
jne 0x10013870
cmp dword [0x10fb26d0], 0
mov ecx, 1
mov eax, dword [0x10fb26c4]
mov edx, edi
cmovne eax, ecx
mov ecx, esi
push eax
call fcn.10011410
add esp, 4
cmp byte [0x10fb2364], 0
je case.0x100132ea.0
and dword [edi + 0x24], 0xfffffffe
jmp case.0x100132ea.0
cmp byte [0x10fb236c], 0
jne case.0x100132ea.0
push dword [0x10fb26c4]
mov edx, edi
mov ecx, esi
call fcn.10011410
add esp, 4
mov eax, dword [0x10fb26e0]
cmp eax, 1
jne 0x100138dd
push 0x41
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jne 0x100138d3
push 0x57
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jne 0x100138d3
push 0x53
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jne 0x100138d3
push 0x44
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
push 0x20
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
jmp 0x1001392b
cmp eax, 2
jne 0x1001392b
mov ecx, dword [0x10091590]
mov eax, dword [ecx]
mov eax, dword [eax + 0x30]
call eax
mov ecx, dword [0x100915ac]
push eax
mov edx, dword [ecx]
mov eax, dword [edx + 0xc]
call eax
mov ecx, eax
call fcn.10002f00
test byte [eax], 1
jne 0x1001392b
movzx eax, word [edi + 0x38]
mov dword [edi + 0x18], 0
test ax, ax
jns 0x10013922
mov dword [edi + 0x1c], 0xc3e10000
jmp 0x1001392b
jle 0x1001392b
mov dword [edi + 0x1c], 0x43e10000
push edi
mov ecx, 0x11d90b38
call fcn.10031550
push esi
push edi
mov ecx, 0x10f403b8
call fcn.1002e5a0
cmp byte [0x10fb2631], 0
mov esi, dword [sym.imp.USER32.dll_GetAsyncKeyState]
je 0x10013980
push 0x46
call esi
test al, 1
je 0x1001396a
cmp byte [0x10fb2632], 0
sete al
mov byte [0x10fb2632], al
jmp 0x1001396f
mov al, byte [0x10fb2632]
test al, al
je 0x10013980
test byte [edi + 0x24], 1
jne 0x10013980
mov dword [edi + 8], 0x7fffffff
cmp byte [0x10fb2633], 0
je 0x100139a5
push 0x5a
call esi
test ax, ax
je 0x100139a5
add dword [edi + 4], 0x1c2
mov eax, dword [0x20390990]
add dword [eax + 8], 0x1c2
cmp byte [0x10fb2626], 0
je 0x10013a03
push 0x43
call esi
test ax, ax
je 0x10013a03
mov eax, dword [0x11dff568]
cmp eax, 7
jle 0x100139cd
xor eax, eax
mov dword [0x11dff568], eax
lea ecx, [eax - 2]
jmp 0x100139db
inc eax
mov dword [0x11dff568], eax
lea ecx, [eax - 2]
cmp ecx, 3
jbe 0x100139e7
mov dword [edi + 0x18], 0
cmp ecx, 3
ja 0x100139ee
movss xmm0, dword [edi + 0x1c]
jmp 0x100139f1
xorps xmm0, xmm0
cmp eax, 1
movss dword [edi + 0x1c], xmm0
setl al
mov byte [0x1009139d], al
jmp 0x10013a08
mov al, byte [0x1009139d]
movss xmm0, dword [edi + 0xc]
test al, al
je 0x10013a35
movss dword [0x10093090], xmm0
movss xmm0, dword [edi + 0x10]
movss dword [0x10093094], xmm0
movss xmm0, dword [edi + 0x14]
movss dword [0x10093098], xmm0
jmp 0x10013a57
movss dword [0x100931a0], xmm0
movss xmm0, dword [edi + 0x10]
movss dword [0x100931a4], xmm0
movss xmm0, dword [edi + 0x14]
movss dword [0x100931a8], xmm0
cmp byte [0x10fb236c], 0
je 0x10013a67
mov ecx, edi
call fcn.100126e0
movss xmm0, dword [edi + 0x18]
maxss xmm0, dword [0x10040bdc]
mov ecx, dword [0x1009134c]
minss xmm0, dword [0x10040b3c]
movss dword [edi + 0x18], xmm0
movss xmm0, dword [edi + 0x1c]
maxss xmm0, dword [0x10040bdc]
minss xmm0, dword [0x10040b3c]
movss dword [edi + 0x1c], xmm0
movss xmm0, dword [edi + 0x20]
maxss xmm0, dword [0x10040bd8]
minss xmm0, dword [0x10040b2c]
movss dword [edi + 0x20], xmm0
mov eax, dword fs:[0x2c]
mov ecx, dword [eax + ecx*4]
mov eax, dword [0x11dff69c]
cmp eax, dword [ecx + 4]
jle 0x10013af4
push 0x11dff69c
call fcn.10035ec7
add esp, 4
cmp dword [0x11dff69c], 0xffffffff
jne 0x10013af4
push 0x11dff69c
call fcn.10035e7d
add esp, 4
mov al, byte [0x1009156d]
cmp al, byte [0x11dff688]
je 0x10013b26
mov ecx, dword [0x10091590]
test al, al
mov eax, dword [ecx]
je 0x10013b12
mov eax, dword [eax + 0x4c]
jmp 0x10013b15
mov eax, dword [eax + 0x50]
push 0x11dff668
call eax
mov al, byte [0x1009156d]
mov byte [0x11dff688], al
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.10035a5e
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 0xc