Function at 0x1009aa60
Capabilities:
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x368
mov eax, dword [0x10269840]
xor eax, esp
mov dword [esp + 0x364], eax
push esi
push edi
mov edi, ecx
mov dword [esp + 0x4c], 0
mov ecx, dword [0x10269974]
mov dword [esp + 0x7c], edi
mov eax, dword [ecx]
mov eax, dword [eax + 0x68]
call eax
test al, al
je 0x1009c5b4
mov ecx, edi
call fcn.1009f620
mov ecx, edi
call fcn.1009e5d0
call fcn.10021970
vmovss xmm1, dword [0x101252a8]
vmulss xmm0, xmm1, dword [eax + 8]
mov ecx, dword [0x1026a17c]
add eax, 8
mov dword [esp + 0x80], eax
vmovss dword [esp + 0x1ec], xmm0
vmulss xmm0, xmm1, dword [eax + 4]
mov eax, dword [0x1026997c]
vmovss dword [esp + 0x48], xmm0
test cl, 1
jne 0x1009ab04
or ecx, 1
mov dword [0x1026a17c], ecx
mov ecx, dword [eax + 0x16c]
mov dword [0x1026a178], ecx
jmp 0x1009ab0a
mov ecx, dword [0x1026a178]
cmp byte [edi + 0x1ab], 0
je 0x1009ab1b
cmp dword [eax + 0x16c], ecx
je 0x1009ab2b
lea ecx, [edi + 0x308]
call fcn.10093460
mov eax, dword [0x1026997c]
mov ecx, dword [0x10269978]
xor esi, esi
mov eax, dword [eax + 0x16c]
mov dword [0x1026a178], eax
mov dword [esp + 0x40], 0
mov eax, dword [ecx]
mov dword [esp + 0xc], esi
mov eax, dword [eax + 0x18]
call eax
test eax, eax
js 0x1009ac0e
nop dword [eax]
mov ecx, dword [0x10269978]
push esi
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
mov esi, eax
test esi, esi
je 0x1009abf0
mov ecx, dword [esi]
mov edx, dword [ecx + 0x278]
mov ecx, esi
call edx
test al, al
je 0x1009ab8e
push esi
mov ecx, edi
call fcn.100945b0
jmp 0x1009abf0
mov eax, dword [esi + 8]
lea ecx, [esi + 8]
mov eax, dword [eax + 8]
call eax
mov dword [esp + 0x1f0], eax
test eax, eax
je 0x1009abf0
mov ecx, dword [esi + 8]
mov edx, dword [ecx + 0x24]
lea ecx, [esi + 8]
call edx
test al, al
jne 0x1009abf0
mov eax, dword [esi]
mov ecx, esi
mov eax, dword [eax + 0x298]
call eax
test al, al
je 0x1009abcd
push esi
mov ecx, edi
call fcn.10096e50
jmp 0x1009abf0
mov eax, dword [esp + 0x1f0]
mov ecx, dword [esp + 0x40]
mov eax, dword [eax + 0x14]
cmp eax, 0x81
push eax
cmove ecx, esi
mov dword [esp + 0x44], ecx
mov ecx, edi
push esi
call fcn.10096340
mov ecx, dword [0x10269978]
mov esi, dword [esp + 0xc]
inc esi
mov dword [esp + 0xc], esi
mov eax, dword [ecx]
mov eax, dword [eax + 0x18]
call eax
cmp esi, eax
jle 0x1009ab60
cmp byte [edi + 0x18], 0
je 0x1009adac
mov eax, dword [0x10269970]
vmovss xmm1, dword [0x101252a8]
vmovss xmm0, dword [eax + 0x10]
vsubss xmm0, xmm0, dword [edi + 0x348]
vandps xmm0, xmm0, xmmword [0x101253d0]
vcomiss xmm1, xmm0
jb 0x1009adac
vmovss xmm1, dword [0x10107b88]
mov ecx, dword [0x102699b8]
vaddss xmm0, xmm0, xmm0
vsubss xmm0, xmm1, xmm0
vmulss xmm0, xmm0, dword [0x10173cd8]
vcvttss2si eax, xmm0
movzx edx, al
mov eax, dword [ecx]
shl edx, 0x18
or edx, 0xc8c8c8
push edx
mov eax, dword [eax + 0x38]
mov dword [esp + 0x10], edx
call eax
vmovss xmm2, dword [esp + 0x48]
vsubss xmm0, xmm2, dword [0x101252f0]
vmovss xmm3, dword [esp + 0x1ec]
mov ecx, dword [0x102699b8]
vcvttss2si edx, xmm0
vsubss xmm0, xmm3, dword [0x101252f0]
mov dword [esp + 0x1f0], edx
push dword [esp + 0x1f0]
mov eax, dword [ecx]
vcvttss2si edx, xmm0
vsubss xmm0, xmm2, dword [0x10125300]
vcvttss2si edi, xmm0
vsubss xmm0, xmm3, dword [0x10125300]
mov eax, dword [eax + 0x4c]
push edx
vcvttss2si esi, xmm0
push edi
push esi
mov dword [esp + 0x94], edx
mov dword [esp + 0x20], edi
call eax
mov ecx, dword [0x102699b8]
push dword [esp + 0xc]
mov eax, dword [ecx]
mov eax, dword [eax + 0x38]
call eax
vmovss xmm1, dword [esp + 0x48]
vaddss xmm0, xmm1, dword [0x101252f0]
mov ecx, dword [0x102699b8]
vcvttss2si edi, xmm0
vaddss xmm0, xmm1, dword [0x10125300]
push edi
push dword [esp + 0x88]
mov eax, dword [ecx]
vcvttss2si edx, xmm0
push edx
push esi
mov eax, dword [eax + 0x4c]
mov dword [esp + 0x54], edi
mov dword [esp + 0x48], edx
call eax
mov ecx, dword [0x102699b8]
push dword [esp + 0xc]
mov eax, dword [ecx]
mov eax, dword [eax + 0x38]
call eax
vmovss xmm1, dword [esp + 0x1ec]
mov ecx, dword [0x102699b8]
vaddss xmm0, xmm1, dword [0x101252f0]
push dword [esp + 0x44]
vcvttss2si edi, xmm0
mov eax, dword [ecx]
vaddss xmm0, xmm1, dword [0x10125300]
push edi
push dword [esp + 0x40]
mov eax, dword [eax + 0x4c]
vcvttss2si esi, xmm0
push esi
call eax
mov ecx, dword [0x102699b8]
push dword [esp + 0xc]
mov eax, dword [ecx]
mov eax, dword [eax + 0x38]
call eax
mov ecx, dword [0x102699b8]
mov eax, dword [ecx]
mov eax, dword [eax + 0x4c]
push dword [esp + 0x1f0]
push edi
push dword [esp + 0x18]
push esi
call eax
mov edi, dword [esp + 0x7c]
cmp byte [edi + 0x1d], 0
je 0x1009b07b
mov eax, dword [0x10269970]
mov edx, 1
mov dword [esp + 0x1f0], edx
cmp dword [eax + 0x18], edx
jb 0x1009b07b
mov ecx, dword [0x10269978]
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
mov esi, eax
mov dword [esp + 0xc], esi
test esi, esi
je 0x1009b05e
mov edx, dword [esi + 8]
lea ecx, [esi + 8]
mov edx, dword [edx + 0x24]
call edx
test al, al
jne 0x1009b05e
mov eax, dword [0x10269a24]
test al, 1
jne 0x1009ae8e
or dword [0x10269a24], 1
lea ecx, [esp + 0x10]
mov esi, dword [0x10269968]
push 0x16
vpxor xmm0, xmm0, xmm0
push str.CBasePlayer__m_iHealth
vmovdqu xmmword [esp + 0x18], xmm0
mov dword [esp + 0x28], 0
mov dword [esp + 0x2c], 0
call fcn.10002ab0
lea eax, [esp + 0x10]
mov ecx, esi
push eax
call fcn.10006660
mov ecx, dword [esp + 0x24]
mov dword [0x10269a20], eax
cmp ecx, 0xf
jbe 0x1009ae8a
mov edx, dword [esp + 0x10]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1009ae80
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1009b6b1
push ecx
push edx
call fcn.101042db
add esp, 8
mov esi, dword [esp + 0xc]
mov eax, dword [0x10269a20]
mov eax, dword [eax + 4]
cmp dword [esi + eax], 0
jle 0x1009b05e
mov eax, dword [0x10269a1c]
test al, 1
jne 0x1009af2f
or dword [0x10269a1c], 1
lea ecx, [esp + 0x10]
mov esi, dword [0x10269968]
push 0x18
vpxor xmm0, xmm0, xmm0
push str.CBasePlayer__m_lifeState
vmovdqu xmmword [esp + 0x18], xmm0
mov dword [esp + 0x28], 0
mov dword [esp + 0x2c], 0
call fcn.10002ab0
lea eax, [esp + 0x10]
mov ecx, esi
push eax
call fcn.10006660
mov ecx, dword [esp + 0x24]
mov dword [0x10269a18], eax
cmp ecx, 0xf
jbe 0x1009af2b
mov edx, dword [esp + 0x10]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1009af21
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1009b6b1
push ecx
push edx
call fcn.101042db
add esp, 8
mov esi, dword [esp + 0xc]
mov eax, dword [0x10269a18]
mov eax, dword [eax + 4]
cmp byte [esi + eax], 0
jne 0x1009b05e
mov eax, dword [0x102699d4]
cmp esi, dword [eax]
je 0x1009b05e
mov ecx, dword [0x10269df0]
test cl, 1
jne 0x1009afb6
mov esi, dword [0x10269968]
or ecx, 1
push 0x17
mov dword [0x10269df0], ecx
lea ecx, [esp + 0x14]
vpxor xmm0, xmm0, xmm0
push str.CBaseEntity__m_iTeamNum
vmovdqu xmmword [esp + 0x18], xmm0
mov dword [esp + 0x28], 0
mov dword [esp + 0x2c], 0
call fcn.10002ab0
lea eax, [esp + 0x10]
mov ecx, esi
push eax
call fcn.10006660
lea ecx, [esp + 0x10]
mov dword [0x10269dec], eax
call fcn.100054d0
mov ecx, dword [0x10269df0]
mov esi, dword [esp + 0xc]
mov edx, dword [0x10269dec]
mov eax, dword [edx + 4]
add eax, esi
mov dword [esp + 0x10], eax
mov eax, dword [0x102699d4]
mov eax, dword [eax]
mov dword [esp + 0x38], eax
test cl, 1
jne 0x1009b032
mov esi, dword [0x10269968]
or ecx, 1
push 0x17
mov dword [0x10269df0], ecx
lea ecx, [esp + 0x54]
vpxor xmm0, xmm0, xmm0
push str.CBaseEntity__m_iTeamNum
vmovdqu xmmword [esp + 0x58], xmm0
mov dword [esp + 0x68], 0
mov dword [esp + 0x6c], 0
call fcn.10002ab0
lea eax, [esp + 0x50]
mov ecx, esi
push eax
call fcn.10006660
lea ecx, [esp + 0x50]
mov dword [0x10269dec], eax
call fcn.100054d0
mov edx, dword [0x10269dec]
mov esi, dword [esp + 0xc]
mov ecx, dword [edx + 4]
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x38]
mov eax, dword [eax]
cmp eax, dword [edx + ecx]
jne 0x1009b04a
cmp byte [edi + 0xc], 0
je 0x1009b05e
mov eax, dword [esi]
mov ecx, esi
mov eax, dword [eax + 0x13c]
call eax
push eax
mov ecx, edi
call fcn.1009cf40
mov edx, dword [esp + 0x1f0]
mov eax, dword [0x10269970]
inc edx
mov dword [esp + 0x1f0], edx
cmp edx, dword [eax + 0x18]
jbe 0x1009add0
mov eax, dword [0x102699d4]
mov eax, dword [eax]
mov dword [esp + 0xc], eax
mov eax, dword [0x10269a24]
test al, 1
jne 0x1009b10d
or dword [0x10269a24], 1
lea ecx, [esp + 0x10]
mov esi, dword [0x10269968]
push 0x16
vpxor xmm0, xmm0, xmm0
push str.CBasePlayer__m_iHealth
vmovdqu xmmword [esp + 0x18], xmm0
mov dword [esp + 0x28], 0
mov dword [esp + 0x2c], 0
call fcn.10002ab0
lea eax, [esp + 0x10]
mov ecx, esi
push eax
call fcn.10006660
mov ecx, dword [esp + 0x24]
mov dword [0x10269a20], eax
cmp ecx, 0xf
jbe 0x1009b10d
mov edx, dword [esp + 0x10]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1009b103
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1009b6b1
push ecx
push edx
call fcn.101042db
add esp, 8
mov eax, dword [0x10269a20]
mov ecx, dword [esp + 0xc]
mov eax, dword [eax + 4]
cmp dword [eax + ecx], 0
jle 0x1009c5b4
mov eax, dword [0x10269a1c]
test al, 1
jne 0x1009b1b2
or dword [0x10269a1c], 1
lea ecx, [esp + 0x10]
mov esi, dword [0x10269968]
push 0x18
vpxor xmm0, xmm0, xmm0
push str.CBasePlayer__m_lifeState
vmovdqu xmmword [esp + 0x18], xmm0
mov dword [esp + 0x28], 0
mov dword [esp + 0x2c], 0
call fcn.10002ab0
lea eax, [esp + 0x10]
mov ecx, esi
push eax
call fcn.10006660
mov ecx, dword [esp + 0x24]
mov dword [0x10269a18], eax
cmp ecx, 0xf
jbe 0x1009b1ae
mov edx, dword [esp + 0x10]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1009b1a4
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1009b6b1
push ecx
push edx
call fcn.101042db
add esp, 8
mov ecx, dword [esp + 0xc]
mov eax, dword [0x10269a18]
mov eax, dword [eax + 4]
cmp byte [eax + ecx], 0
jne 0x1009c5b4
cmp byte [edi + 0x1aa], 0
je 0x1009b1dd
push 0
lea eax, [edi + 0x2b4]
mov ecx, edi
push eax
call fcn.10090f40
cmp byte [edi + 0x1a6], 0
je 0x1009b4f9
mov eax, dword [0x10269964]
mov eax, dword [eax + 0x190]
test eax, eax
je 0x1009b4f9
mov eax, dword [eax + 0xc8]
test eax, eax
je 0x1009b4f9
cmp eax, 7
jge 0x1009b4f9
mov eax, dword [0x10269a40]
vmovss xmm0, dword [eax + 0xd8]
vaddss xmm0, xmm0, dword [eax + 0xd4]
mov eax, dword [0x102699d4]
vmulss xmm0, xmm0, dword [0x1016f97c]
vmovss dword [esp + 0x38], xmm0
mov ecx, dword [eax]
mov eax, dword [ecx]
mov eax, dword [eax + 0x530]
mov dword [esp + 0x10], eax
call dword [esp + 0x10]
fstp dword [esp + 0x10]
call fcn.10021970
vmovss xmm0, dword [eax + 0xc]
vmulss xmm0, xmm0, dword [0x10173c9c]
vmovss dword [esp + 0x44], xmm0
vmovss xmm0, dword [esp + 0x10]
vmulss xmm0, xmm0, dword [0x1016f158]
vmulss xmm0, xmm0, dword [0x101252a8]
vcvtss2sd xmm0, xmm0, xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_tan_precise
cmp byte [edi + 0x1a7], 0
vmovss xmm1, dword [esp + 0x38]
vcvtsd2ss xmm0, xmm0, xmm0
vaddss xmm0, xmm0, dword [0x10173c98]
vdivss xmm0, xmm1, xmm0
vmulss xmm3, xmm0, dword [esp + 0x44]
vmovss xmm0, dword [esp + 0x1ec]
vmovss dword [esp + 0x1f0], xmm0
vmovss xmm0, dword [esp + 0x48]
vmovss dword [esp + 0x84], xmm3
vmovss dword [esp + 0x1f4], xmm0
je 0x1009b454
mov eax, dword [0x102699d4]
mov ecx, dword [eax]
mov eax, dword [ecx]
mov eax, dword [eax + 0x530]
mov dword [esp + 0x10], eax
call dword [esp + 0x10]
mov eax, dword [esp + 0x80]
mov edx, dword [0x10269e38]
fstp dword [esp + 0x10]
vmovss xmm0, dword [eax]
vdivss xmm0, xmm0, dword [esp + 0x10]
vmovss dword [esp + 0x38], xmm0
vmovss xmm0, dword [eax + 4]
mov eax, dword [0x102699d4]
vdivss xmm0, xmm0, dword [esp + 0x10]
vmovss dword [esp + 0x44], xmm0
mov ecx, dword [eax]
mov dword [esp + 0x10], ecx
test dl, 1
jne 0x1009b393
mov esi, dword [0x10269968]
lea ecx, [esp + 0x50]
push 0x1c
or edx, 1
mov dword [esp + 0x64], 0
vpxor xmm0, xmm0, xmm0
push str.CBasePlayer__m_aimPunchAngle
mov dword [0x10269e38], edx
vmovdqu xmmword [esp + 0x58], xmm0
mov dword [esp + 0x6c], 0
call fcn.10002ab0
lea eax, [esp + 0x50]
mov ecx, esi
push eax
call fcn.10006660
lea ecx, [esp + 0x50]
mov dword [0x10269e34], eax
call fcn.100054d0
mov eax, dword [0x102699d4]
mov edx, dword [0x10269e38]
mov esi, dword [0x10269e34]
mov edi, dword [esp + 0x10]
mov eax, dword [eax]
mov dword [esp + 0x10], eax
mov ecx, dword [esi + 4]
vmovss xmm1, dword [esp + 0x1ec]
vmovss xmm0, dword [ecx + edi + 4]
mov edi, dword [esp + 0x7c]
vmulss xmm0, xmm0, dword [esp + 0x38]
vsubss xmm0, xmm1, xmm0
vmovss dword [esp + 0x1f0], xmm0
test dl, 1
jne 0x1009b42a
mov esi, dword [0x10269968]
lea ecx, [esp + 0x50]
push 0x1c
or edx, 1
mov dword [esp + 0x64], 0
vpxor xmm0, xmm0, xmm0
push str.CBasePlayer__m_aimPunchAngle
mov dword [0x10269e38], edx
vmovdqu xmmword [esp + 0x58], xmm0
mov dword [esp + 0x6c], 0
call fcn.10002ab0
lea eax, [esp + 0x50]
mov ecx, esi
push eax
call fcn.10006660
lea ecx, [esp + 0x50]
mov dword [0x10269e34], eax
call fcn.100054d0
mov esi, dword [0x10269e34]
mov eax, dword [esi + 4]
mov ecx, dword [esp + 0x10]
vmovss xmm3, dword [esp + 0x84]
vmovss xmm0, dword [eax + ecx]
vmulss xmm0, xmm0, dword [esp + 0x44]
vaddss xmm0, xmm0, dword [esp + 0x48]
vmovss dword [esp + 0x1f4], xmm0
vmovss xmm1, dword [0x1012532c]
vmulss xmm0, xmm1, dword [edi + 0x1d8]
vmovss xmm2, dword [0x101253e0]
vcvttss2si eax, xmm0
vmulss xmm0, xmm1, dword [edi + 0x1d4]
movzx edx, al
mov ecx, 0x10
vcvttss2si eax, xmm0
vmulss xmm0, xmm1, dword [edi + 0x1d0]
vmulss xmm1, xmm3, dword [0x101252c0]
or edx, 0xffffb400
movzx eax, al
shl edx, 8
or edx, eax
vcvttss2si eax, xmm0
vandnps xmm0, xmm2, xmm1
vandps xmm2, xmm2, xmm1
vroundps xmm1, xmm0, 0
vsubss xmm0, xmm0, xmm1
vcmpeqss xmm0, xmm0, dword [0x10128f40]
vandps xmm0, xmm0, xmmword [0x10125380]
movzx eax, al
shl edx, 8
or edx, eax
vaddss xmm0, xmm0, xmm1
vorps xmm0, xmm0, xmm2
vcvttss2si eax, xmm0
cmp eax, ecx
push edx
cmovg ecx, eax
lea eax, [esp + 0x1f4]
push ecx
push ecx
vmovss dword [esp], xmm3
push eax
mov ecx, edi
call fcn.100909b0
mov eax, dword [0x10269964]
vmovss xmm1, dword [0x1016f980]
vmovq xmm0, qword [eax + 0x134]
mov eax, dword [eax + 0x13c]
vmovq qword [esp + 0x10], xmm0
vmovss xmm2, dword [esp + 0x10]
vcomiss xmm2, xmm1
mov dword [esp + 0x18], eax
jbe 0x1009b560
vmovss xmm0, dword [0x10125278]
vcomiss xmm0, xmm2
jbe 0x1009b560
vmovss xmm2, dword [esp + 0x14]
vcomiss xmm2, xmm1
jbe 0x1009b560
vcomiss xmm0, xmm2
jbe 0x1009b560
vmovss xmm2, dword [esp + 0x18]
vcomiss xmm2, xmm1
jbe 0x1009b560
vcomiss xmm0, xmm2
ja 0x1009b610
mov eax, dword [0x10269a58]
vmovss xmm0, dword [eax + 0x1ec]
vmovss xmm2, dword [eax + 0x1f4]
vmovss xmm1, dword [eax + 0x1f0]
vmovss dword [esp + 0x10], xmm0
vmovss xmm0, dword [0x1012532c]
lea eax, [esp + 0x10]
push eax
vmovss dword [esp + 0x18], xmm1
vmovss dword [esp + 0x1c], xmm2
vmovss dword [esp + 0x20], xmm0
call fcn.1001f340
mov ecx, dword [0x10269964]
add esp, 4
vmovss xmm0, dword [0x10128f2c]
add ecx, 0x134
push eax
push ecx
vmovss dword [esp], xmm0
push ecx
mov ecx, edi
call fcn.10090230
mov eax, dword [0x10269a58]
vmovups xmm0, xmmword [eax + 0x1ec]
lea eax, [esp + 0x10]
push eax
vmovups xmmword [esp + 0x14], xmm0
call fcn.1001f340
mov ecx, dword [0x10269964]
add esp, 4
vmovss xmm0, dword [0x10128f2c]
add ecx, 0x134
push eax
push ecx
vmovss dword [esp], xmm0
push ecx
mov ecx, edi
call fcn.10090b80
cmp dword [esp + 0x40], 0
vmovss xmm1, dword [esp + 0x48]
vdivss xmm0, xmm1, dword [0x101252f0]
vaddss xmm0, xmm0, xmm1
vmovss dword [esp + 0xc], xmm0
je 0x1009bd6c
mov eax, dword [0x1026a0b0]
test al, 1
jne 0x1009b6c7
mov esi, dword [0x10269968]
lea ecx, [esp + 0x10]
push 0x1a
or eax, 1
mov dword [esp + 0x24], 0
vpxor xmm0, xmm0, xmm0
push str.CPlantedC4__m_bBombTicking
mov dword [0x1026a0b0], eax
vmovdqu xmmword [esp + 0x18], xmm0
mov dword [esp + 0x2c], 0
call fcn.10002ab0
lea eax, [esp + 0x10]
mov ecx, esi
push eax
call fcn.10006660
mov ecx, dword [esp + 0x24]
mov dword [0x1026a0ac], eax
cmp ecx, 0xf
jbe 0x1009b6c1
mov edx, dword [esp + 0x10]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1009b6b7
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x1009b6b7
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.101042db
add esp, 8
vmovss xmm0, dword [esp + 0xc]
mov eax, dword [0x1026a0ac]
mov eax, dword [eax + 4]
add eax, dword [esp + 0x40]
cmp byte [eax], 0
je 0x1009bd6c
cmp byte [edi + 0x1a9], 0
je 0x1009bd6c
mov eax, dword [0x102699d4]
mov ecx, dword [0x10269de0]
mov eax, dword [eax]
mov dword [esp + 0x10], eax
test cl, 1
jne 0x1009b79e
mov esi, dword [0x10269968]
or ecx, 1
push 0x18
mov dword [0x10269de0], ecx
lea ecx, [esp + 0x1f4]
vpxor xmm0, xmm0, xmm0
push str.CBaseEntity__m_vecOrigin
vmovdqu xmmword [esp + 0x1f8], xmm0
mov dword [esp + 0x208], 0
mov dword [esp + 0x20c], 0
call fcn.10002ab0
lea eax, [esp + 0x1f0]
mov ecx, esi
push eax
call fcn.10006660
mov ecx, dword [esp + 0x204]
mov dword [0x10269ddc], eax
cmp ecx, 0xf
jbe 0x1009b798
mov edx, dword [esp + 0x1f0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1009b78e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1009b9a0
push ecx
push edx
call fcn.101042db
add esp, 8
mov ecx, dword [0x10269de0]
mov eax, dword [0x10269ddc]
mov edx, dword [eax + 4]
add edx, dword [esp + 0x10]
mov dword [esp + 0x1f0], edx
test cl, 1
jne 0x1009b841
mov esi, dword [0x10269968]
or ecx, 1
push 0x18
mov dword [0x10269de0], ecx
lea ecx, [esp + 0x14]
vpxor xmm0, xmm0, xmm0
push str.CBaseEntity__m_vecOrigin
vmovdqu xmmword [esp + 0x18], xmm0
mov dword [esp + 0x28], 0
mov dword [esp + 0x2c], 0
call fcn.10002ab0
lea eax, [esp + 0x10]
mov ecx, esi
push eax
call fcn.10006660
mov ecx, dword [esp + 0x24]
mov dword [0x10269ddc], eax
cmp ecx, 0xf
jbe 0x1009b83a
mov edx, dword [esp + 0x10]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1009b830
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1009b9a0
push ecx
push edx
call fcn.101042db
add esp, 8
mov edx, dword [esp + 0x1f0]
mov eax, dword [0x10269ddc]
mov eax, dword [eax + 4]
add eax, dword [esp + 0x40]
vmovss xmm0, dword [eax]
vsubss xmm3, xmm0, dword [edx]
vmovss xmm0, dword [eax + 4]
vsubss xmm1, xmm0, dword [edx + 4]
vmovss xmm0, dword [eax + 8]
vsubss xmm2, xmm0, dword [edx + 8]
vmulss xmm1, xmm1, xmm1
vmulss xmm0, xmm3, xmm3
vaddss xmm1, xmm1, xmm0
vmulss xmm0, xmm2, xmm2
vaddss xmm0, xmm1, xmm0
vcvtss2sd xmm0, xmm0, xmm0
vxorpd xmm1, xmm1, xmm1
vucomisd xmm1, xmm0
ja 0x1009b891
vsqrtsd xmm0, xmm0, xmm0
jmp 0x1009b896
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_sqrt_precise
vcvtsd2ss xmm1, xmm0, xmm0
vxorps xmm0, xmm1, xmmword [0x101253e0]
vmulss xmm0, xmm0, xmm1
vdivss xmm0, xmm0, dword [0x10173cf0]
vcvtss2sd xmm0, xmm0, xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_exp_precise
mov eax, dword [0x102699d4]
lea ecx, [esp + 0x1ec]
vcvtsd2ss xmm0, xmm0, xmm0
vmulss xmm0, xmm0, dword [0x1016f5a0]
push 0
sub esp, 8
vmovss dword [esp + 0x1f8], xmm0
vxorps xmm0, xmm0, xmm0
vmovss dword [esp + 4], xmm0
vmovss xmm0, dword [0x10107b88]
vmovss dword [esp], xmm0
push ecx
push dword [eax]
mov ecx, dword [0x10269a44]
call fcn.1006e630
mov eax, dword [0x102699d4]
mov eax, dword [eax]
mov dword [esp + 0x10], eax
mov eax, dword [0x10269a24]
test al, 1
jne 0x1009b9b0
mov esi, dword [0x10269968]
lea ecx, [esp + 0x1f0]
push 0x16
or eax, 1
mov dword [esp + 0x204], 0
vpxor xmm0, xmm0, xmm0
push str.CBasePlayer__m_iHealth
mov dword [0x10269a24], eax
vmovdqu xmmword [esp + 0x1f8], xmm0
mov dword [esp + 0x20c], 0
call fcn.10002ab0
lea eax, [esp + 0x1f0]
mov ecx, esi
push eax
call fcn.10006660
mov ecx, dword [esp + 0x204]
mov dword [0x10269a20], eax
cmp ecx, 0xf
jbe 0x1009b9b0
mov edx, dword [esp + 0x1f0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1009b9a6
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x1009b9a6
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.101042db
add esp, 8
mov eax, dword [0x10269a20]
lea ecx, [esp + 0x10]
vmovss xmm1, dword [esp + 0x1ec]
vmovss xmm5, dword [0x10107b88]
vxorps xmm4, xmm4, xmm4
mov eax, dword [eax + 4]
add eax, dword [esp + 0x10]
vxorps xmm2, xmm2, xmm2
vmovss dword [esp + 0x44], xmm5
vmovss dword [esp + 0x10], xmm2
vcvtsi2ss xmm4, xmm4, dword [eax]
vdivss xmm0, xmm1, xmm4
vcomiss xmm2, xmm0
lea eax, [esp + 0x38]
cmovbe ecx, eax
lea eax, [esp + 0x44]
vcomiss xmm0, xmm5
vmovss dword [esp + 0x38], xmm0
cmovbe eax, ecx
vcomiss xmm1, xmm5
vmovss xmm3, dword [eax]
jb 0x1009baf8
vsubss xmm0, xmm5, xmm3
vmulss xmm0, xmm0, dword [0x1012532c]
vcvttss2si eax, xmm0
vmulss xmm0, xmm3, dword [0x1012532c]
movzx esi, al
or esi, 0xffb40000
vcvttss2si eax, xmm0
shl esi, 8
movzx eax, al
or esi, eax
vcomiss xmm1, xmm4
jb 0x1009ba51
mov ecx, str.FATAL
jmp 0x1009ba84
vcvttss2si eax, xmm1
mov dword [esp + 0x10], eax
lea eax, [esp + 0x10]
push eax
push 6
lea eax, [esp + 0x58]
push str.__HP
push eax
call fcn.1008f970
mov ecx, eax
add esp, 0x10
cmp dword [ecx + 0x14], 0xf
jbe 0x1009ba7c
mov ecx, dword [ecx]
mov dword [esp + 0x4c], 1
vmovss xmm0, dword [0x1016f370]
mov eax, dword [edi + 0x358]
push 0
push esi
sub esp, 8
mov dword [esp + 0x20], eax
mov edx, esp
lea esi, [ecx + 1]
vmovss dword [esp + 0x48], xmm0
vmovss xmm0, dword [esp + 0x1c]
vmovss dword [esp + 0x4c], xmm0
mov dword [edx], ecx
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1009bab5
push dword [esp + 0x20]
sub ecx, esi
push dword [esp + 0x50]
mov dword [edx + 4], ecx
mov ecx, edi
push dword [esp + 0x50]
call fcn.10092770
test byte [esp + 0x4c], 1
je 0x1009bae4
lea ecx, [esp + 0x50]
call fcn.100054d0
vmovss xmm0, dword [esp + 0xc]
vaddss xmm0, xmm0, dword [0x1016f370]
vmovss dword [esp + 0xc], xmm0
mov eax, dword [0x1026a0b8]
test al, 1
jne 0x1009bb80
mov esi, dword [0x10269968]
lea ecx, [esp + 0x10]
push 0x16
or eax, 1
mov dword [esp + 0x24], 0
vpxor xmm0, xmm0, xmm0
push str.CPlantedC4__m_flC4Blow
mov dword [0x1026a0b8], eax
vmovdqu xmmword [esp + 0x18], xmm0
mov dword [esp + 0x2c], 0
call fcn.10002ab0
lea eax, [esp + 0x10]
mov ecx, esi
push eax
call fcn.10006660
mov ecx, dword [esp + 0x24]
mov dword [0x1026a0b4], eax
cmp ecx, 0xf
jbe 0x1009bb80
mov edx, dword [esp + 0x10]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1009bb76
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1009bd48
push ecx
push edx
call fcn.101042db
add esp, 8
mov eax, dword [0x1026a0b4]
mov eax, dword [eax + 4]
add eax, dword [esp + 0x40]
vmovss xmm0, dword [eax]
mov eax, dword [0x10269970]
vsubss xmm0, xmm0, dword [eax + 0x10]
mov eax, dword [0x1026a0a8]
vmovss dword [esp + 0x10], xmm0
test al, 1
jne 0x1009bc41
mov esi, dword [0x10269968]
lea ecx, [esp + 0x1f0]
push 0x17
or eax, 1
mov dword [esp + 0x204], 0
vpxor xmm0, xmm0, xmm0
push str.CPlantedC4__m_nBombSite
mov dword [0x1026a0a8], eax
vmovdqu xmmword [esp + 0x1f8], xmm0
mov dword [esp + 0x20c], 0
call fcn.10002ab0
lea eax, [esp + 0x1f0]
mov ecx, esi
push eax
call fcn.10006660
mov ecx, dword [esp + 0x204]
mov dword [0x1026a0a4], eax
cmp ecx, 0xf
jbe 0x1009bc41
mov edx, dword [esp + 0x1f0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1009bc37
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1009bd48
push ecx
push edx
call fcn.101042db
add esp, 8
mov eax, dword [0x1026a0a4]
mov edx, 0x10129740
vmovss xmm0, dword [0x1016f370]
mov esi, dword [edi + 0x358]
vmovss dword [esp + 0x38], xmm0
mov ecx, dword [eax + 4]
mov eax, 0x1012973c
add ecx, dword [esp + 0x40]
vmovss xmm0, dword [esp + 0xc]
vmovss dword [esp + 0x3c], xmm0
vpxor xmm0, xmm0, xmm0
cmp dword [ecx], 0
lea ecx, [esp + 0x1f0]
vmovq qword [esp + 0x1f0], xmm0
vmovss xmm0, dword [esp + 0x10]
cmovne eax, edx
mov dword [esp + 0x1f0], 0xb0000000
mov dword [esp + 0x1f8], eax
sub esp, 8
mov eax, esp
mov dword [esp + 0x1fc], 0x70000004
vmovss dword [esp + 0x204], xmm0
push 0xc
mov dword [eax], 2
mov dword [eax + 4], ecx
lea eax, [esp + 0x5c]
push str.___:.1fs
push eax
call fcn.10088120
add esp, 0x14
lea ecx, [esp + 0x50]
cmp dword [esp + 0x64], 0xf
cmova ecx, dword [esp + 0x50]
push 0
push 0xb4ffffff
sub esp, 8
mov edx, esp
lea eax, [ecx + 1]
mov dword [esp + 0x20], eax
mov dword [edx], ecx
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1009bd02
sub ecx, dword [esp + 0x20]
push esi
push dword [esp + 0x50]
mov dword [edx + 4], ecx
mov ecx, edi
push dword [esp + 0x50]
call fcn.10092770
mov ecx, dword [esp + 0x64]
cmp ecx, 0xf
jbe 0x1009bd58
mov edx, dword [esp + 0x50]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1009bd4e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x1009bd4e
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.101042db
add esp, 8
vmovss xmm0, dword [esp + 0xc]
vsubss xmm0, xmm0, dword [0x10107b8c]
vmovss dword [esp + 0xc], xmm0
test byte [edi + 0x1b4], 1
je 0x1009bdda
mov eax, dword [0x10269964]
cmp byte [eax + 0x176], 0
je 0x1009bdda
mov ecx, dword [edi + 0x358]
vmovss xmm1, dword [0x1016f370]
push 0
push 0xb415c27b
sub esp, 8
mov eax, esp
vmovss dword [esp + 0x24], xmm0
vmovss dword [esp + 0x20], xmm1
push ecx
push dword [esp + 0x28]
mov ecx, edi
mov dword [eax], 0x10173864
push dword [esp + 0x28]
mov dword [eax + 4], 2
call fcn.10092770
vmovss xmm0, dword [esp + 0xc]
vsubss xmm0, xmm0, dword [0x1016f370]
vmovss dword [esp + 0xc], xmm0
test byte [edi + 0x1b4], 3
mov esi, dword [sym.imp.USER32.dll_GetKeyState]
je 0x1009be58
mov eax, dword [0x10269a50]
push dword [eax + 0x1c]
call esi
cwde
shr eax, 0x10
test eax, eax
je 0x1009be58
vmovss xmm0, dword [0x1016f370]
mov ecx, dword [edi + 0x358]
push 0
push 0xb4ffffff
sub esp, 8
mov eax, esp
vmovss dword [esp + 0x20], xmm0
vmovss xmm0, dword [esp + 0x1c]
push ecx
vmovss dword [esp + 0x28], xmm0
push dword [esp + 0x28]
mov ecx, edi
mov dword [eax], 0x10173868
push dword [esp + 0x28]
mov dword [eax + 4], 3
call fcn.10092770
vmovss xmm0, dword [esp + 0xc]
vsubss xmm0, xmm0, dword [0x1016f370]
vmovss dword [esp + 0xc], xmm0
test byte [edi + 0x1b4], 4
je 0x1009bf46
mov eax, dword [0x10269a4c]
push dword [eax + 0x54]
call esi
test ax, ax
je 0x1009bed1
vmovss xmm0, dword [0x1016f370]
mov ecx, dword [edi + 0x358]
push 0
push 0xb4ffffff
sub esp, 8
mov eax, esp
vmovss dword [esp + 0x20], xmm0
vmovss xmm0, dword [esp + 0x1c]
push ecx
vmovss dword [esp + 0x28], xmm0
push dword [esp + 0x28]
mov ecx, edi
mov dword [eax], str.LEFT
push dword [esp + 0x28]
mov dword [eax + 4], 5
call fcn.10092770
vmovss xmm0, dword [esp + 0xc]
vsubss xmm0, xmm0, dword [0x1016f370]
vmovss dword [esp + 0xc], xmm0
test byte [edi + 0x1b4], 4
je 0x1009bf46
mov eax, dword [0x10269a4c]
push dword [eax + 0x58]
call esi
test ax, ax
je 0x1009bf46
vmovss xmm0, dword [0x1016f370]
mov ecx, dword [edi + 0x358]
push 0
push 0xb4ffffff
sub esp, 8
mov eax, esp
vmovss dword [esp + 0x20], xmm0
vmovss xmm0, dword [esp + 0x1c]
push ecx
vmovss dword [esp + 0x28], xmm0
push dword [esp + 0x28]
mov ecx, edi
mov dword [eax], str.RIGHT
push dword [esp + 0x28]
mov dword [eax + 4], 6
call fcn.10092770
vmovss xmm0, dword [esp + 0xc]
vsubss xmm0, xmm0, dword [0x10125324]
vmovss dword [esp + 0xc], xmm0
test byte [edi + 0x1b4], 6
je 0x1009bfbb
mov eax, dword [0x10269a34]
push dword [eax + 0x28]
call esi
test ax, ax
je 0x1009bfbb
vmovss xmm0, dword [0x1016f370]
mov ecx, dword [edi + 0x358]
push 0
push 0xb415c27b
sub esp, 8
mov eax, esp
vmovss dword [esp + 0x20], xmm0
vmovss xmm0, dword [esp + 0x1c]
push ecx
vmovss dword [esp + 0x28], xmm0
push dword [esp + 0x28]
mov ecx, edi
mov dword [eax], 0x1017387c
push dword [esp + 0x28]
mov dword [eax + 4], 2
call fcn.10092770
vmovss xmm0, dword [esp + 0xc]
vsubss xmm0, xmm0, dword [0x1016f370]
vmovss dword [esp + 0xc], xmm0
test byte [edi + 0x1b4], 2
je 0x1009c0b9
mov eax, dword [0x10269a30]
push dword [eax + 0x10]
call esi
test ax, ax
je 0x1009c046
mov eax, dword [0x10269a30]
mov edx, 0xb40000ff
vmovss xmm0, dword [0x1016f370]
mov ecx, dword [edi + 0x358]
push 0
cmp byte [eax + 0x1d], 0
mov eax, 0xb4ffffff
vmovss dword [esp + 0x14], xmm0
vmovss xmm0, dword [esp + 0x10]
cmovne edx, eax
push edx
sub esp, 8
mov eax, esp
vmovss dword [esp + 0x24], xmm0
push ecx
push dword [esp + 0x28]
mov ecx, edi
mov dword [eax], 0x10173880
push dword [esp + 0x28]
mov dword [eax + 4], 2
call fcn.10092770
vmovss xmm0, dword [esp + 0xc]
vsubss xmm0, xmm0, dword [0x1016f370]
vmovss dword [esp + 0xc], xmm0
test byte [edi + 0x1b4], 2
je 0x1009c0b9
mov eax, dword [0x10269a30]
push dword [eax + 0x14]
call esi
test ax, ax
je 0x1009c0b9
mov eax, dword [0x10269a30]
mov edx, 0xb40000ff
vmovss xmm0, dword [0x1016f370]
mov ecx, dword [edi + 0x358]
push 0
cmp byte [eax + 0x1d], 0
mov eax, 0xb4ffffff
vmovss dword [esp + 0x14], xmm0
vmovss xmm0, dword [esp + 0x10]
cmovne edx, eax
push edx
sub esp, 8
mov eax, esp
vmovss dword [esp + 0x24], xmm0
push ecx
push dword [esp + 0x28]
mov ecx, edi
mov dword [eax], str.OSAA
push dword [esp + 0x28]
mov dword [eax + 4], 4
call fcn.10092770
cmp byte [edi + 0x1ac], 0
je 0x1009c4f7
mov eax, dword [0x10269970]
xor ecx, ecx
xor esi, esi
mov dword [esp + 0x1f4], ecx
mov edx, 1
mov dword [esp + 0x1f0], esi
mov dword [esp + 0x1f8], ecx
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x1ec], edx
cmp dword [eax + 0x18], edx
jl 0x1009c45f
nop dword [eax]
mov ecx, dword [0x10269978]
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
mov edi, eax
test edi, edi
je 0x1009c42c
mov ecx, dword [0x102699d4]
cmp edi, dword [ecx]
je 0x1009c42c
mov eax, dword [0x10269a24]
test al, 1
jne 0x1009c1ae
mov esi, dword [0x10269968]
lea ecx, [esp + 0x10]
push 0x16
or eax, 1
mov dword [esp + 0x24], 0
vpxor xmm0, xmm0, xmm0
push str.CBasePlayer__m_iHealth
mov dword [0x10269a24], eax
vmovdqu xmmword [esp + 0x18], xmm0
mov dword [esp + 0x2c], 0
call fcn.10002ab0
lea eax, [esp + 0x10]
mov ecx, esi
push eax
call fcn.10006660
mov ecx, dword [esp + 0x24]
mov dword [0x10269a20], eax
cmp ecx, 0xf
jbe 0x1009c1ae
mov edx, dword [esp + 0x10]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1009c1a4
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1009b6b1
push ecx
push edx
call fcn.101042db
add esp, 8
mov eax, dword [0x10269a20]
mov eax, dword [eax + 4]
cmp dword [edi + eax], 0
jle 0x1009c25a
mov eax, dword [0x10269a1c]
test al, 1
jne 0x1009c248
mov esi, dword [0x10269968]
lea ecx, [esp + 0x10]
push 0x18
or eax, 1
mov dword [esp + 0x24], 0
vpxor xmm0, xmm0, xmm0
push str.CBasePlayer__m_lifeState
mov dword [0x10269a1c], eax
vmovdqu xmmword [esp + 0x18], xmm0
mov dword [esp + 0x2c], 0
call fcn.10002ab0
lea eax, [esp + 0x10]
mov ecx, esi
push eax
call fcn.10006660
mov ecx, dword [esp + 0x24]
mov dword [0x10269a18], eax
cmp ecx, 0xf
jbe 0x1009c248
mov edx, dword [esp + 0x10]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1009c23e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1009b6b1
push ecx
push edx
call fcn.101042db
add esp, 8
mov eax, dword [0x10269a18]
mov eax, dword [eax + 4]
cmp byte [edi + eax], 0
je 0x1009c42c
mov eax, dword [edi + 8]
lea ecx, [edi + 8]
mov eax, dword [eax + 0x24]
call eax
test al, al
jne 0x1009c42c
mov eax, dword [0x1026a0f0]
test al, 1
jne 0x1009c2f5
mov esi, dword [0x10269968]
lea ecx, [esp + 0x10]
push 0x1e
or eax, 1
mov dword [esp + 0x24], 0
vpxor xmm0, xmm0, xmm0
push str.CBasePlayer__m_hObserverTarget
mov dword [0x1026a0f0], eax
vmovdqu xmmword [esp + 0x18], xmm0
mov dword [esp + 0x2c], 0
call fcn.10002ab0
lea eax, [esp + 0x10]
mov ecx, esi
push eax
call fcn.10006660
mov ecx, dword [esp + 0x24]
mov dword [0x1026a0ec], eax
cmp ecx, 0xf
jbe 0x1009c2f5
mov edx, dword [esp + 0x10]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1009c2eb
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1009b6b1
push ecx
push edx
call fcn.101042db
add esp, 8
mov eax, dword [0x1026a0ec]
mov ecx, dword [0x10269978]
mov eax, dword [eax + 4]
mov edx, dword [edi + eax]
mov eax, dword [ecx]
push edx
mov eax, dword [eax + 0x10]
call eax
mov edi, eax
test edi, edi
je 0x1009c42c
mov ecx, dword [0x102699d4]
mov ecx, dword [ecx]
add ecx, 8
mov edx, dword [ecx]
mov edx, dword [edx + 0x28]
call edx
mov edx, dword [edi + 8]
lea ecx, [edi + 8]
mov esi, eax
mov edx, dword [edx + 0x28]
call edx
cmp eax, esi
jne 0x1009c42c
mov esi, dword [0x10269974]
lea eax, [esp + 0x220]
push 0x80
vpxor xmm0, xmm0, xmm0
push 0
push eax
vmovq qword [esp + 0x21c], xmm0
vmovlpd qword [esp + 0x224], xmm0
call sub.VCRUNTIME140.dll_memset
xor eax, eax
mov dword [esp + 0x2ac], 0
push 0x80
push eax
vpxor xmm0, xmm0, xmm0
mov word [esp + 0x2d9], ax
mov byte [esp + 0x2db], al
mov dword [esp + 0x2dc], eax
lea eax, [esp + 0x2e0]
vmovdqu ymmword [esp + 0x2b8], ymm0
mov byte [esp + 0x2d8], 0
push eax
vzeroupper
call sub.VCRUNTIME140.dll_memset
mov eax, dword [esi]
lea ecx, [esp + 0x228]
add esp, 0x18
mov word [esp + 0x34c], 0
vpxor xmm0, xmm0, xmm0
vmovdqu xmmword [esp + 0x350], xmm0
mov byte [esp + 0x360], 0
mov eax, dword [eax + 0x20]
push ecx
push dword [esp + 0x1f0]
mov ecx, esi
call eax
test al, al
je 0x1009c42c
mov ecx, 0x56
lea esi, [esp + 0x210]
lea edi, [esp + 0x88]
rep movsd dword es:[edi], dword [esi]
lea eax, [esp + 0x98]
mov byte [esp + 0x1e0], 1
push eax
lea ecx, [esp + 0x1f4]
call fcn.1008ed10
mov edx, dword [esp + 0x1ec]
mov eax, dword [0x10269970]
inc edx
mov dword [esp + 0x1ec], edx
cmp edx, dword [eax + 0x18]
jle 0x1009c100
mov ecx, dword [esp + 0x1f4]
mov esi, dword [esp + 0x1f0]
mov edi, dword [esp + 0x7c]
mov dword [esp + 0x4c], ecx
cmp esi, ecx
je 0x1009c4eb
nop word [eax + eax]
cmp dword [esi + 0x14], 0xf
mov ecx, esi
mov eax, dword [edi + 0x34c]
push 4
mov dword [esp + 0x3c], eax
push 0xb4ffffff
jbe 0x1009c48b
mov ecx, dword [esi]
sub esp, 8
lea eax, [ecx + 1]
mov edx, esp
mov dword [esp + 0x20], eax
mov dword [edx], ecx
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1009c4a0
mov eax, dword [esp + 0x90]
sub ecx, dword [esp + 0x20]
push dword [esp + 0x48]
mov dword [edx + 4], ecx
mov ecx, edi
vmovss xmm0, dword [eax]
vsubss xmm0, xmm0, dword [0x1016f5a0]
sub esp, 8
mov eax, esp
vmovss dword [eax], xmm0
vmovss xmm0, dword [0x1016f178]
vmovss dword [eax + 4], xmm0
call fcn.10092770
add esi, 0x18
cmp esi, dword [esp + 0x4c]
jne 0x1009c470
lea ecx, [esp + 0x1f0]
call fcn.1008fa60
cmp byte [edi + 0x1ad], 0
je 0x1009c5b4
cmp byte [edi + 0x2b0], 0
je 0x1009c5b4
cmp dword [edi + 0x29c], 1
mov eax, dword [esp + 0x80]
vmovss xmm2, dword [0x101252a8]
vmulss xmm1, xmm2, dword [eax]
vmulss xmm2, xmm2, dword [eax + 4]
vmovss dword [esp + 0x38], xmm1
vmovss dword [esp + 0x10], xmm2
jge 0x1009c554
cmp dword [edi + 0x2a8], 4
mov eax, 0xb400ff00
mov edx, 0xb40000ff
cmovne edx, eax
jmp 0x1009c559
mov edx, 0xb4ff0000
mov ecx, dword [0x102699b8]
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 0x38]
call eax
vmovss xmm0, dword [esp + 0x10]
vsubss xmm1, xmm0, dword [0x10107b88]
vaddss xmm0, xmm1, dword [0x101252f0]
mov ecx, dword [0x102699b8]
vcvttss2si eax, xmm0
vmovss xmm0, dword [esp + 0x38]
vsubss xmm2, xmm0, dword [0x10107b88]
vaddss xmm0, xmm2, dword [0x101252f0]
mov edx, dword [ecx]
push eax
vcvttss2si eax, xmm0
push eax
vcvttss2si eax, xmm1
push eax
vcvttss2si eax, xmm2
push eax
mov eax, dword [edx + 0x40]
call eax
mov ecx, dword [esp + 0x36c]
pop edi
pop esi
xor ecx, esp
call fcn.10104603
mov esp, ebp
pop ebp
ret