Function at 0x1009a980
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 0x1009c4d4
mov ecx, edi
call fcn.1009f540
mov ecx, edi
call fcn.1009e4f0
call fcn.10021970
vmovss xmm1, dword [0x101252a8]
vmulss xmm0, xmm1, dword [eax + 8]
mov ecx, dword [0x1026a160]
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 0x1009aa24
or ecx, 1
mov dword [0x1026a160], ecx
mov ecx, dword [eax + 0x16c]
mov dword [0x1026a15c], ecx
jmp 0x1009aa2a
mov ecx, dword [0x1026a15c]
cmp byte [edi + 0x1ab], 0
je 0x1009aa3b
cmp dword [eax + 0x16c], ecx
je 0x1009aa4b
lea ecx, [edi + 0x308]
call fcn.100933a0
mov eax, dword [0x1026997c]
mov ecx, dword [0x10269978]
xor esi, esi
mov eax, dword [eax + 0x16c]
mov dword [0x1026a15c], 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 0x1009ab2e
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 0x1009ab10
mov ecx, dword [esi]
mov edx, dword [ecx + 0x278]
mov ecx, esi
call edx
test al, al
je 0x1009aaae
push esi
mov ecx, edi
call fcn.100944f0
jmp 0x1009ab10
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 0x1009ab10
mov ecx, dword [esi + 8]
mov edx, dword [ecx + 0x24]
lea ecx, [esi + 8]
call edx
test al, al
jne 0x1009ab10
mov eax, dword [esi]
mov ecx, esi
mov eax, dword [eax + 0x298]
call eax
test al, al
je 0x1009aaed
push esi
mov ecx, edi
call fcn.10096d90
jmp 0x1009ab10
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.10096280
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 0x1009aa80
cmp byte [edi + 0x18], 0
je 0x1009accc
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 0x1009accc
vmovss xmm1, dword [0x10107b88]
mov ecx, dword [0x102699b8]
vaddss xmm0, xmm0, xmm0
vsubss xmm0, xmm1, xmm0
vmulss xmm0, xmm0, dword [0x10173cb8]
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 0x1009af9b
mov eax, dword [0x10269970]
mov edx, 1
mov dword [esp + 0x1f0], edx
cmp dword [eax + 0x18], edx
jb 0x1009af9b
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 0x1009af7e
mov edx, dword [esi + 8]
lea ecx, [esi + 8]
mov edx, dword [edx + 0x24]
call edx
test al, al
jne 0x1009af7e
mov eax, dword [0x10269a24]
test al, 1
jne 0x1009adae
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 0x1009adaa
mov edx, dword [esp + 0x10]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1009ada0
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1009b5d1
push ecx
push edx
call fcn.101041cb
add esp, 8
mov esi, dword [esp + 0xc]
mov eax, dword [0x10269a20]
mov eax, dword [eax + 4]
cmp dword [esi + eax], 0
jle 0x1009af7e
mov eax, dword [0x10269a1c]
test al, 1
jne 0x1009ae4f
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 0x1009ae4b
mov edx, dword [esp + 0x10]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1009ae41
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1009b5d1
push ecx
push edx
call fcn.101041cb
add esp, 8
mov esi, dword [esp + 0xc]
mov eax, dword [0x10269a18]
mov eax, dword [eax + 4]
cmp byte [esi + eax], 0
jne 0x1009af7e
mov eax, dword [0x102699d4]
cmp esi, dword [eax]
je 0x1009af7e
mov ecx, dword [0x10269df0]
test cl, 1
jne 0x1009aed6
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 0x1009af52
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 0x1009af6a
cmp byte [edi + 0xc], 0
je 0x1009af7e
mov eax, dword [esi]
mov ecx, esi
mov eax, dword [eax + 0x13c]
call eax
push eax
mov ecx, edi
call fcn.1009ce60
mov edx, dword [esp + 0x1f0]
mov eax, dword [0x10269970]
inc edx
mov dword [esp + 0x1f0], edx
cmp edx, dword [eax + 0x18]
jbe 0x1009acf0
mov eax, dword [0x102699d4]
mov eax, dword [eax]
mov dword [esp + 0xc], eax
mov eax, dword [0x10269a24]
test al, 1
jne 0x1009b02d
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 0x1009b02d
mov edx, dword [esp + 0x10]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1009b023
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1009b5d1
push ecx
push edx
call fcn.101041cb
add esp, 8
mov eax, dword [0x10269a20]
mov ecx, dword [esp + 0xc]
mov eax, dword [eax + 4]
cmp dword [eax + ecx], 0
jle 0x1009c4d4
mov eax, dword [0x10269a1c]
test al, 1
jne 0x1009b0d2
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 0x1009b0ce
mov edx, dword [esp + 0x10]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1009b0c4
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1009b5d1
push ecx
push edx
call fcn.101041cb
add esp, 8
mov ecx, dword [esp + 0xc]
mov eax, dword [0x10269a18]
mov eax, dword [eax + 4]
cmp byte [eax + ecx], 0
jne 0x1009c4d4
cmp byte [edi + 0x1aa], 0
je 0x1009b0fd
push 0
lea eax, [edi + 0x2b4]
mov ecx, edi
push eax
call fcn.10090e80
cmp byte [edi + 0x1a6], 0
je 0x1009b419
mov eax, dword [0x10269964]
mov eax, dword [eax + 0x190]
test eax, eax
je 0x1009b419
mov eax, dword [eax + 0xc8]
test eax, eax
je 0x1009b419
cmp eax, 7
jge 0x1009b419
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 [0x10173c7c]
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 [0x10173c78]
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 0x1009b374
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 0x1009b2b3
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 0x1009b34a
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.10090900
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 0x1009b480
vmovss xmm0, dword [0x10125278]
vcomiss xmm0, xmm2
jbe 0x1009b480
vmovss xmm2, dword [esp + 0x14]
vcomiss xmm2, xmm1
jbe 0x1009b480
vcomiss xmm0, xmm2
jbe 0x1009b480
vmovss xmm2, dword [esp + 0x18]
vcomiss xmm2, xmm1
jbe 0x1009b480
vcomiss xmm0, xmm2
ja 0x1009b530
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.10090180
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.10090ad0
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 0x1009bc8c
mov eax, dword [0x1026a094]
test al, 1
jne 0x1009b5e7
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 [0x1026a094], 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 [0x1026a090], eax
cmp ecx, 0xf
jbe 0x1009b5e1
mov edx, dword [esp + 0x10]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1009b5d7
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x1009b5d7
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.101041cb
add esp, 8
vmovss xmm0, dword [esp + 0xc]
mov eax, dword [0x1026a090]
mov eax, dword [eax + 4]
add eax, dword [esp + 0x40]
cmp byte [eax], 0
je 0x1009bc8c
cmp byte [edi + 0x1a9], 0
je 0x1009bc8c
mov eax, dword [0x102699d4]
mov ecx, dword [0x10269de0]
mov eax, dword [eax]
mov dword [esp + 0x10], eax
test cl, 1
jne 0x1009b6be
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 0x1009b6b8
mov edx, dword [esp + 0x1f0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1009b6ae
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1009b8c0
push ecx
push edx
call fcn.101041cb
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 0x1009b761
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 0x1009b75a
mov edx, dword [esp + 0x10]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1009b750
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1009b8c0
push ecx
push edx
call fcn.101041cb
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 0x1009b7b1
vsqrtsd xmm0, xmm0, xmm0
jmp 0x1009b7b6
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 [0x10173cd0]
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 0x1009b8d0
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 0x1009b8d0
mov edx, dword [esp + 0x1f0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1009b8c6
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x1009b8c6
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.101041cb
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 0x1009ba18
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 0x1009b971
mov ecx, str.FATAL
jmp 0x1009b9a4
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.1008f8c0
mov ecx, eax
add esp, 0x10
cmp dword [ecx + 0x14], 0xf
jbe 0x1009b99c
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 0x1009b9d5
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.100926b0
test byte [esp + 0x4c], 1
je 0x1009ba04
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 [0x1026a09c]
test al, 1
jne 0x1009baa0
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 [0x1026a09c], 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 [0x1026a098], eax
cmp ecx, 0xf
jbe 0x1009baa0
mov edx, dword [esp + 0x10]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1009ba96
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1009bc68
push ecx
push edx
call fcn.101041cb
add esp, 8
mov eax, dword [0x1026a098]
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 [0x1026a08c]
vmovss dword [esp + 0x10], xmm0
test al, 1
jne 0x1009bb61
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 [0x1026a08c], 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 [0x1026a088], eax
cmp ecx, 0xf
jbe 0x1009bb61
mov edx, dword [esp + 0x1f0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1009bb57
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1009bc68
push ecx
push edx
call fcn.101041cb
add esp, 8
mov eax, dword [0x1026a088]
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.10088070
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 0x1009bc22
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.100926b0
mov ecx, dword [esp + 0x64]
cmp ecx, 0xf
jbe 0x1009bc78
mov edx, dword [esp + 0x50]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1009bc6e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x1009bc6e
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.101041cb
add esp, 8
vmovss xmm0, dword [esp + 0xc]
vsubss xmm0, xmm0, dword [0x10107b8c]
vmovss dword [esp + 0xc], xmm0
test byte [edi + 0x1b4], 1
je 0x1009bcfa
mov eax, dword [0x10269964]
cmp byte [eax + 0x176], 0
je 0x1009bcfa
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], 0x10173844
push dword [esp + 0x28]
mov dword [eax + 4], 2
call fcn.100926b0
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 0x1009bd78
mov eax, dword [0x10269a50]
push dword [eax + 0x1c]
call esi
cwde
shr eax, 0x10
test eax, eax
je 0x1009bd78
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], 0x10173848
push dword [esp + 0x28]
mov dword [eax + 4], 3
call fcn.100926b0
vmovss xmm0, dword [esp + 0xc]
vsubss xmm0, xmm0, dword [0x1016f370]
vmovss dword [esp + 0xc], xmm0
test byte [edi + 0x1b4], 4
je 0x1009be66
mov eax, dword [0x10269a4c]
push dword [eax + 0x54]
call esi
test ax, ax
je 0x1009bdf1
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.100926b0
vmovss xmm0, dword [esp + 0xc]
vsubss xmm0, xmm0, dword [0x1016f370]
vmovss dword [esp + 0xc], xmm0
test byte [edi + 0x1b4], 4
je 0x1009be66
mov eax, dword [0x10269a4c]
push dword [eax + 0x58]
call esi
test ax, ax
je 0x1009be66
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.100926b0
vmovss xmm0, dword [esp + 0xc]
vsubss xmm0, xmm0, dword [0x10125324]
vmovss dword [esp + 0xc], xmm0
test byte [edi + 0x1b4], 6
je 0x1009bedb
mov eax, dword [0x10269a34]
push dword [eax + 0x28]
call esi
test ax, ax
je 0x1009bedb
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], 0x1017385c
push dword [esp + 0x28]
mov dword [eax + 4], 2
call fcn.100926b0
vmovss xmm0, dword [esp + 0xc]
vsubss xmm0, xmm0, dword [0x1016f370]
vmovss dword [esp + 0xc], xmm0
test byte [edi + 0x1b4], 2
je 0x1009bfd9
mov eax, dword [0x10269a30]
push dword [eax + 0x10]
call esi
test ax, ax
je 0x1009bf66
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], 0x10173860
push dword [esp + 0x28]
mov dword [eax + 4], 2
call fcn.100926b0
vmovss xmm0, dword [esp + 0xc]
vsubss xmm0, xmm0, dword [0x1016f370]
vmovss dword [esp + 0xc], xmm0
test byte [edi + 0x1b4], 2
je 0x1009bfd9
mov eax, dword [0x10269a30]
push dword [eax + 0x14]
call esi
test ax, ax
je 0x1009bfd9
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.100926b0
cmp byte [edi + 0x1ac], 0
je 0x1009c417
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 0x1009c37f
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 0x1009c34c
mov ecx, dword [0x102699d4]
cmp edi, dword [ecx]
je 0x1009c34c
mov eax, dword [0x10269a24]
test al, 1
jne 0x1009c0ce
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 0x1009c0ce
mov edx, dword [esp + 0x10]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1009c0c4
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1009b5d1
push ecx
push edx
call fcn.101041cb
add esp, 8
mov eax, dword [0x10269a20]
mov eax, dword [eax + 4]
cmp dword [edi + eax], 0
jle 0x1009c17a
mov eax, dword [0x10269a1c]
test al, 1
jne 0x1009c168
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 0x1009c168
mov edx, dword [esp + 0x10]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1009c15e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1009b5d1
push ecx
push edx
call fcn.101041cb
add esp, 8
mov eax, dword [0x10269a18]
mov eax, dword [eax + 4]
cmp byte [edi + eax], 0
je 0x1009c34c
mov eax, dword [edi + 8]
lea ecx, [edi + 8]
mov eax, dword [eax + 0x24]
call eax
test al, al
jne 0x1009c34c
mov eax, dword [0x1026a0d4]
test al, 1
jne 0x1009c215
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 [0x1026a0d4], 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 [0x1026a0d0], eax
cmp ecx, 0xf
jbe 0x1009c215
mov edx, dword [esp + 0x10]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1009c20b
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1009b5d1
push ecx
push edx
call fcn.101041cb
add esp, 8
mov eax, dword [0x1026a0d0]
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 0x1009c34c
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 0x1009c34c
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 0x1009c34c
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.1008ec60
mov edx, dword [esp + 0x1ec]
mov eax, dword [0x10269970]
inc edx
mov dword [esp + 0x1ec], edx
cmp edx, dword [eax + 0x18]
jle 0x1009c020
mov ecx, dword [esp + 0x1f4]
mov esi, dword [esp + 0x1f0]
mov edi, dword [esp + 0x7c]
mov dword [esp + 0x4c], ecx
cmp esi, ecx
je 0x1009c40b
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 0x1009c3ab
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 0x1009c3c0
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.100926b0
add esi, 0x18
cmp esi, dword [esp + 0x4c]
jne 0x1009c390
lea ecx, [esp + 0x1f0]
call fcn.1008f9b0
cmp byte [edi + 0x1ad], 0
je 0x1009c4d4
cmp byte [edi + 0x2b0], 0
je 0x1009c4d4
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 0x1009c474
cmp dword [edi + 0x2a8], 4
mov eax, 0xb400ff00
mov edx, 0xb40000ff
cmovne edx, eax
jmp 0x1009c479
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.101044f3
mov esp, ebp
pop ebp
ret