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

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 0x1006b331
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x250
mov eax, dword [0x1007d040]
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 [0x1014b6c4]
mov dword [ebp - 0x200], eax
mov eax, dword [0x1014b65c]
mov ecx, dword [eax + 0x74]
test ecx, ecx
je 0x10042f42
call fcn.10003280
test al, al
je 0x10042f42
mov ecx, dword [0x1014b65c]
cmp dword [ecx + 0x78], 0
je 0x10042f42
mov ecx, dword [ecx + 0x1c]
mov eax, dword [ecx]
mov eax, dword [eax + 8]
call eax
test al, al
jne 0x10042f42
mov eax, dword [0x1014b680]
xor ecx, ecx
cmp byte [eax + 0x22b], cl
setne cl
cmp byte [eax + 0x35], 0
lea edx, [ecx + 1]
cmove edx, ecx
mov ecx, dword [0x1014b65c]
mov eax, dword [ecx + 0xcc]
mov ecx, dword [ecx + 0x68]
add eax, 0x14
imul edx, eax
push ecx
mov dword [esp], 0x3f333333
mov eax, dword [ecx]
mov eax, dword [eax + 0x1b0]
movd xmm0, edx
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x10074b28]
movss dword [ebp - 0x1ec], xmm0
call eax
mov edx, dword [0x1014b65c]
mov eax, dword [0x1014b680]
movd xmm1, dword [edx + 0x194]
cmp byte [eax + 0x22b], 0
cvtdq2ps xmm1, xmm1
mulss xmm1, dword [0x10074b28]
subss xmm1, dword [ebp - 0x1ec]
movss dword [ebp - 0x1fc], xmm1
je 0x10041b5a
mov esi, dword [edx + 0x15c]
test esi, esi
jg 0x100418e1
mov eax, dword [edx + 8]
mov esi, dword [eax + 0x4b28]
xorps xmm0, xmm0
mov dword [ebp - 0x20], 0
movups xmmword [ebp - 0x30], xmm0
mov dword [ebp - 0x1c], 0xf
mov byte [ebp - 0x30], 0
mov dword [ebp - 4], 0
test esi, esi
jg 0x10041927
mov dword [ebp - 0x1e4], 0xff0000ff
mov ecx, 0xa
mov eax, dword [ebp - 0x1e4]
mov dword [ebp - 0x1f8], eax
mov eax, str.LOW_CHARGE
jmp 0x1004197d
movss xmm1, dword [0x10074bbc]
movd xmm0, esi
cvtdq2ps xmm0, xmm0
comiss xmm1, xmm0
jbe 0x1004195d
mov dword [ebp - 0x1e4], 0xff00a5ff
mov ecx, 8
mov eax, dword [ebp - 0x1e4]
mov dword [ebp - 0x1f8], eax
mov eax, str.CHARGING
jmp 0x1004197d
mov dword [ebp - 0x1e4], 0xff00ff00
mov ecx, 7
mov eax, dword [ebp - 0x1e4]
mov dword [ebp - 0x1f8], eax
mov eax, str.CHARGED
push ecx
push eax
lea ecx, [ebp - 0x30]
mov edi, esi
call fcn.10031270
cmp dword [ebp - 0x1c], 0xf
lea ecx, [ebp - 0x30]
mov eax, dword [0x1014b65c]
cmova ecx, dword [ebp - 0x30]
push ecx
push esi
push str.__Ticks__i______s
lea ecx, [ebp - 0x1f8]
push ecx
push dword [eax + 0xd8]
push 0
push 0x1c2
push 0x32
push dword [0x1014b684]
call fcn.10003c50
mov eax, dword [0x1014b65c]
lea ecx, [ebp - 0x1ec]
movss xmm1, dword [ebp - 0x1fc]
xorps xmm2, xmm2
mov dword [ebp - 0x1f8], 0x3f800000
mov dword [ebp - 0x1ec], 0
movd xmm0, dword [eax + 0xcc]
lea eax, [ebp - 0x18]
cvtdq2ps xmm0, xmm0
mov dword [ebp - 0x1e4], 0xff141414
mov dword [ebp - 0x1e8], 0xff141414
addss xmm1, xmm0
movd xmm0, edi
cvtdq2ps xmm0, xmm0
movss dword [ebp - 0x1fc], xmm1
movss xmm1, dword [0x10074b34]
subss xmm0, xmm1
divss xmm0, dword [0x10074bb8]
comiss xmm2, xmm0
movss dword [ebp - 0x18], xmm0
cmovbe ecx, eax
lea eax, [ebp - 0x1f8]
comiss xmm0, xmm1
cmovbe eax, ecx
add esp, 0x20
movss xmm0, dword [eax]
lea eax, [ebp - 0x1e4]
mulss xmm0, dword [0x10074c20]
push eax
lea eax, [ebp - 0x1e8]
push eax
push ecx
addss xmm0, xmm1
push 0x88
sub esp, 8
cvttss2si esi, xmm0
call fcn.100416e0
push ecx
lea eax, [ebp - 0x1e4]
mov dword [ebp - 0x1e4], 0xffe3bf3d
push eax
lea eax, [ebp - 0x1e8]
mov dword [ebp - 0x1e8], 0xffe3bf3d
push eax
push ecx
push esi
sub esp, 8
call fcn.100416e0
mov eax, dword [0x1014b65c]
movss xmm1, dword [0x10074bbc]
movd xmm0, edi
cvtdq2ps xmm0, xmm0
mov ecx, dword [eax + 0x68]
push 0xff
push 0
mov eax, dword [ecx]
comiss xmm1, xmm0
mov eax, dword [eax + 0x2c]
jbe 0x10041adc
push 0
push 0xff
jmp 0x10041ae3
push 0xff
push 0
call eax
mov eax, dword [0x1014b65c]
push 0x1de
push 0xc0
push 0x1d0
mov ecx, dword [eax + 0x68]
push 0x36
mov eax, dword [ecx]
mov eax, dword [eax + 0x38]
call eax
movss xmm0, dword [ebp - 0x1fc]
addss xmm0, dword [0x10074ba4]
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x1c]
movss dword [ebp - 0x1fc], xmm0
cmp ecx, 0xf
jbe 0x10041b5a
mov edx, dword [ebp - 0x30]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10041b50
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x10041b50
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.10066248
add esp, 8
mov eax, dword [0x1014b680]
cmp byte [eax + 0x229], 0
je 0x10041fbe
mov eax, dword [0x1014b65c]
mov ecx, dword [eax + 0x78]
mov eax, dword [ecx]
mov eax, dword [eax + 0x528]
call eax
cmp eax, 2
jg 0x10041fbe
mov eax, dword [0x1014b65c]
push str.tf_weapon_criticals
mov ecx, dword [eax + 0xc]
mov eax, dword [ecx]
mov eax, dword [eax + 0x34]
call eax
mov eax, dword [eax + 0x1c]
cmp dword [eax + 0x30], 0
je 0x10041f54
mov eax, dword [0x1014b65c]
mov esi, dword [0x1014a028]
mov edi, dword [eax + 0x74]
mov eax, dword fs:[0x2c]
mov esi, dword [eax + esi*4]
mov eax, dword [0x1014a080]
cmp eax, dword [esi + 4]
jle 0x10041c11
push 0x1014a080
call fcn.10065d80
add esp, 4
cmp dword [0x1014a080], 0xffffffff
jne 0x10041c11
push str.m_iClass
push str.CTFPlayer
mov dword [ebp - 4], 1
call fcn.10061920
push 0x1014a080
mov dword [0x1014a078], eax
mov dword [ebp - 4], 0xffffffff
call fcn.10065d2f
add esp, 4
mov eax, dword [0x1014a078]
cmp dword [eax + edi], 8
jne 0x10041c36
mov eax, dword [0x1014b65c]
mov ecx, dword [eax + 0x78]
mov eax, dword [ecx]
mov eax, dword [eax + 0x528]
call eax
test eax, eax
jg 0x10041f54
mov eax, dword [0x1014b65c]
mov edi, dword [eax + 0x74]
mov eax, dword [0x1014a080]
cmp eax, dword [esi + 4]
jle 0x10041c90
push 0x1014a080
call fcn.10065d80
add esp, 4
cmp dword [0x1014a080], 0xffffffff
jne 0x10041c90
push str.m_iClass
push str.CTFPlayer
mov dword [ebp - 4], 2
call fcn.10061920
push 0x1014a080
mov dword [0x1014a078], eax
mov dword [ebp - 4], 0xffffffff
call fcn.10065d2f
add esp, 4
mov eax, dword [0x1014a078]
cmp dword [eax + edi], 2
jne 0x10041cb5
mov eax, dword [0x1014b65c]
mov ecx, dword [eax + 0x78]
mov eax, dword [ecx]
mov eax, dword [eax + 0x528]
call eax
test eax, eax
je 0x10041f54
mov eax, dword [0x1014b65c]
mov ecx, dword [eax + 0x78]
mov eax, dword [ecx]
mov eax, dword [eax + 0x5f4]
call eax
cmp eax, 0x3b
je 0x10041f54
mov ecx, dword [0x1014b65c]
mov ecx, dword [ecx + 0x78]
call fcn.10004600
test al, al
jne 0x10041f54
mov eax, dword [0x1014b69c]
push 0xff
push 0xb4
push 0xb4
movd xmm1, dword [eax + 4]
movd xmm0, dword [eax]
mov eax, dword [0x1014b65c]
cvtdq2ps xmm1, xmm1
push 0xb4
mov ecx, dword [eax + 0x68]
cvtdq2ps xmm0, xmm0
mov eax, dword [ecx]
divss xmm1, xmm0
mov eax, dword [eax + 0x2c]
mulss xmm1, dword [0x10074c00]
cvttss2si esi, xmm1
call eax
mov eax, dword [0x1014b65c]
push 0xb9
push 0x67
push 0xaf
mov ecx, dword [eax + 0x68]
push 0x26
mov eax, dword [ecx]
mov eax, dword [eax + 0x30]
call eax
mov eax, dword [0x1014b65c]
push 0xff
push 0
push 0
mov ecx, dword [eax + 0x68]
push 0
mov eax, dword [ecx]
mov eax, dword [eax + 0x2c]
call eax
mov eax, dword [0x1014b65c]
push 0xba
push 0x68
push 0xae
mov ecx, dword [eax + 0x68]
push 0x25
mov eax, dword [ecx]
mov eax, dword [eax + 0x38]
call eax
mov eax, dword [0x1014b65c]
push 0xff
push 0
push 0x8c
mov ecx, dword [eax + 0x68]
push 0xff
mov eax, dword [ecx]
mov eax, dword [eax + 0x2c]
call eax
mov eax, dword [0x1014b65c]
push 0xb9
mov ecx, dword [eax + 0x68]
mov eax, dword [ecx]
mov edx, dword [eax + 0x30]
lea eax, [esi + 0x26]
push eax
push 0xaf
push 0x26
call edx
mov eax, dword [0x1014b69c]
mov dword [ebp - 0x1e4], 0xffffffff
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov eax, dword [0x1014b65c]
push ecx
push edx
push str._i__i_crits
lea ecx, [ebp - 0x1e4]
push ecx
push dword [eax + 0xd8]
push 1
push 0xbe
push 0x46
push dword [0x1014b684]
call fcn.10003c50
mov eax, dword [0x1014b69c]
add esp, 0x24
movd xmm1, dword [eax + 4]
movd xmm0, dword [eax]
cvtdq2ps xmm0, xmm0
mov dword [ebp - 0x1e4], 0xffffffff
cvtdq2ps xmm1, xmm1
divss xmm1, xmm0
movd xmm0, dword [eax + 8]
mov eax, dword [0x1014b65c]
cvtdq2ps xmm0, xmm0
mulss xmm1, xmm0
cvttss2si ecx, xmm1
push ecx
push str.official_crit_damage:__i
lea ecx, [ebp - 0x1e4]
push ecx
push dword [eax + 0xd8]
push 1
push 0xcd
push 0x46
push dword [0x1014b684]
call fcn.10003c50
mov eax, dword [0x1014b69c]
add esp, 0x20
cmp dword [eax + 4], 0
jle 0x10041fbe
mov eax, dword [0x1014b65c]
mov esi, dword [eax + 0x78]
mov ecx, esi
mov eax, dword [esi]
mov eax, dword [eax + 0x528]
call eax
cmp eax, 2
je 0x10041f17
mov ecx, esi
call fcn.100541c0
mov ecx, esi
movups xmm0, xmmword [eax + 0x6f8]
movups xmmword [ebp - 0x28], xmm0
movups xmm0, xmmword [eax + 0x708]
movups xmmword [ebp - 0x250], xmm0
movups xmm0, xmmword [eax + 0x718]
movups xmmword [ebp - 0x240], xmm0
movups xmm0, xmmword [eax + 0x728]
movups xmmword [ebp - 0x230], xmm0
call fcn.100541c0
movups xmm1, xmmword [eax + 0x6f8]
movups xmm0, xmmword [eax + 0x708]
psrldq xmm1, 4
movd ecx, xmm1
movups xmmword [ebp - 0x250], xmm0
movups xmm0, xmmword [eax + 0x718]
imul ecx, dword [ebp - 0x28]
movups xmmword [ebp - 0x240], xmm0
movups xmm0, xmmword [eax + 0x728]
movups xmmword [ebp - 0x230], xmm0
lea ecx, [ecx + ecx*2]
jmp 0x10041f19
xor ecx, ecx
mov eax, dword [0x1014b65c]
push ecx
push str.next_crit_cost:__i
lea ecx, [ebp - 0x1e4]
mov dword [ebp - 0x1e4], 0xffffffff
push ecx
push dword [eax + 0xd8]
push 1
push 0xdc
push 0x46
push dword [0x1014b684]
call fcn.10003c50
add esp, 0x20
jmp 0x10041fbe
mov eax, dword [0x1014b65c]
lea esi, [ebp - 0x1e4]
push 0x1006e474
push esi
mov dword [ebp - 0x1e4], 0xffffffff
movd xmm0, dword [eax + 0x194]
cvtdq2ps xmm0, xmm0
mov edx, dword [eax + 0xd8]
push edx
push 1
mulss xmm0, dword [0x10074b28]
addss xmm0, dword [0x10074bf4]
cvttss2si ecx, xmm0
movd xmm0, dword [eax + 0x190]
cvtdq2ps xmm0, xmm0
push ecx
mulss xmm0, dword [0x10074b28]
cvttss2si eax, xmm0
push eax
push dword [0x1014b684]
call fcn.10003c50
add esp, 0x1c
mov eax, dword [0x1014b680]
cmp byte [eax + 0x35], 0
je 0x10042163
push 0
xorps xmm0, xmm0
mov dword [ebp - 0x20], 0
push 0x1006e474
lea ecx, [ebp - 0x30]
mov dword [ebp - 0x1c], 0
movups xmmword [ebp - 0x30], xmm0
call fcn.10006e70
mov dword [ebp - 4], 3
mov ecx, dword [0x1014b65c]
mov ecx, dword [ecx + 0x78]
call fcn.10055240
test al, al
je 0x10042042
mov eax, dword [0x1014b6c8]
mov eax, dword [eax + 8]
cmp eax, 3
ja case.default.0x10042017
jmp dword [eax*4 + 0x10042f60]
push 0xb
push str.Not_Synced_
jmp 0x10042049
push 0xd
push str.Correcting...
jmp 0x10042049
push 7
push str.Synced_
jmp 0x10042049
push 0xa
push str.Dead_Sync_
jmp 0x10042049
push 9
push str.Disabled_
lea ecx, [ebp - 0x30]
call fcn.10031270
mov esi, dword [0x1014b65c]
lea ecx, [ebp - 0x30]
mov dword [ebp - 0x1e4], 0xff00c8ff
mov eax, dword [esi + 0x194]
sub eax, 0x32
cdq
sub eax, edx
mov edi, eax
lea eax, [ebp - 0x1e4]
sar edi, 1
cmp dword [ebp - 0x1c], 0xf
cmova ecx, dword [ebp - 0x30]
push ecx
push eax
push dword [esi + 0x128]
push 0
push edi
push 0xa
push dword [0x1014b684]
call fcn.10003c50
mov eax, dword [0x1014b6c8]
lea ecx, [ebp - 0x1e4]
add esp, 0x14
mov dword [ebp - 0x1e4], 0xffffffff
movss xmm0, dword [eax + 0x50]
mov eax, dword [0x1014b65c]
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
push str.Step__.0f
push ecx
push dword [eax + 0x128]
lea eax, [edi + 0x14]
push 0
push eax
push 0xa
push dword [0x1014b684]
call fcn.10003c50
movss xmm1, dword [ebp - 0x1fc]
lea eax, [edi + 0x32]
movd xmm0, eax
add esp, 0x14
cvtdq2pd xmm0, xmm0
movsd qword [esp + 8], xmm0
cvtps2pd xmm0, xmm1
movsd qword [esp], xmm0
call dword [sym.imp.api_ms_win_crt_math_l1_1_0.dll_fmax]
mov dword [ebp - 4], 0xffffffff
add esp, 0x10
mov ecx, dword [ebp - 0x1c]
fstp dword [ebp - 0x1ec]
cmp ecx, 0xf
jbe 0x10042153
mov edx, dword [ebp - 0x30]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10042149
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x10042149
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.10066248
add esp, 8
movss xmm0, dword [ebp - 0x1ec]
movss dword [ebp - 0x1fc], xmm0
mov eax, dword [0x1014b680]
cmp byte [eax + 0x170], 0
je 0x10042f28
mov eax, dword [0x1014b65c]
mov ecx, dword [eax + 0x74]
test ecx, ecx
je 0x10042f28
call fcn.10003280
test al, al
je 0x10042f28
mov eax, dword [0x1014b65c]
xor esi, esi
mov dword [ebp - 0x1f0], esi
mov edi, dword [eax + 0x80]
mov eax, dword [eax + 0x84]
mov dword [ebp - 0x1e8], eax
cmp edi, eax
je 0x10042bd4
nop dword [eax]
cmp esi, 6
jge 0x100422dc
mov ecx, dword [edi]
test ecx, ecx
je 0x100422dc
call fcn.10003280
test al, al
jne 0x100422d6
mov ecx, dword [edi]
add ecx, 8
mov eax, dword [ecx]
mov eax, dword [eax + 0x20]
call eax
test al, al
jne 0x100422d6
mov edx, dword [0x1014b65c]
mov esi, dword [edi]
cmp esi, dword [edx + 0x74]
je 0x100422d0
mov eax, dword [edx + 0x20]
mov ecx, dword fs:[0x2c]
mov dword [ebp - 0x1ec], eax
mov eax, dword [eax]
mov eax, dword [eax + 0x10]
mov dword [ebp - 0x18], eax
mov eax, dword [0x1014a028]
mov ecx, dword [ecx + eax*4]
mov eax, dword [0x1014b4e0]
cmp eax, dword [ecx + 4]
jle 0x10042277
push 0x1014b4e0
call fcn.10065d80
add esp, 4
cmp dword [0x1014b4e0], 0xffffffff
jne 0x10042277
push str.m_hObserverTarget
push str.CBasePlayer
mov dword [ebp - 4], 4
call fcn.10061920
push 0x1014b4e0
mov dword [0x1014b4e8], eax
mov dword [ebp - 4], 0xffffffff
call fcn.10065d2f
add esp, 4
mov eax, dword [0x1014b4e8]
mov ecx, dword [ebp - 0x1ec]
push dword [eax + esi]
call dword [ebp - 0x18]
test eax, eax
je 0x100422d0
mov edx, dword [0x1014b65c]
cmp eax, dword [edx + 0x74]
jne 0x100422d0
mov ecx, dword [edi]
mov esi, dword [edx + 0x14]
add ecx, 8
mov eax, dword [ecx]
mov eax, dword [eax + 0x24]
call eax
mov edx, dword [esi]
lea ecx, [ebp - 0x1e0]
push ecx
push eax
mov ecx, esi
mov edx, dword [edx + 0x20]
call edx
mov esi, dword [ebp - 0x1f0]
test al, al
mov eax, dword [ebp - 0x1e8]
je 0x100422dc
inc esi
mov dword [ebp - 0x1f0], esi
jmp 0x100422dc
mov esi, dword [ebp - 0x1f0]
mov eax, dword [ebp - 0x1e8]
add edi, 4
cmp edi, eax
jne 0x100421c0
test esi, esi
jle 0x10042bd4
mov eax, dword [0x1014b65c]
mov edi, dword [eax + 0x80]
mov eax, dword [eax + 0x84]
mov dword [ebp - 0x1ec], edi
mov dword [ebp - 0x1e8], eax
cmp edi, eax
je 0x100424fa
cmp esi, 6
jge 0x100424e9
mov ecx, dword [edi]
test ecx, ecx
je 0x100424e9
call fcn.10003280
test al, al
jne 0x100424e3
mov ecx, dword [edi]
add ecx, 8
mov eax, dword [ecx]
mov eax, dword [eax + 0x20]
call eax
test al, al
jne 0x100424e3
mov edx, dword [0x1014b65c]
mov esi, dword [edi]
cmp esi, dword [edx + 0x74]
je 0x100424dd
mov eax, dword [edx + 0x20]
mov ecx, dword fs:[0x2c]
mov dword [ebp - 0x18], eax
mov eax, dword [eax]
mov eax, dword [eax + 0x10]
mov dword [ebp - 0x1f8], eax
mov eax, dword [0x1014a028]
mov ecx, dword [ecx + eax*4]
mov eax, dword [0x1014b4e0]
cmp eax, dword [ecx + 4]
jle 0x100423cb
push 0x1014b4e0
call fcn.10065d80
add esp, 4
cmp dword [0x1014b4e0], 0xffffffff
jne 0x100423cb
push str.m_hObserverTarget
push str.CBasePlayer
mov dword [ebp - 4], 5
call fcn.10061920
push 0x1014b4e0
mov dword [0x1014b4e8], eax
mov dword [ebp - 4], 0xffffffff
call fcn.10065d2f
add esp, 4
mov eax, dword [0x1014b4e8]
mov ecx, dword [ebp - 0x18]
push dword [eax + esi]
call dword [ebp - 0x1f8]
test eax, eax
je 0x100424dd
mov edx, dword [0x1014b65c]
cmp eax, dword [edx + 0x74]
jne 0x100424dd
mov ecx, dword [edi]
mov esi, dword [edx + 0x14]
add ecx, 8
mov eax, dword [ecx]
mov eax, dword [eax + 0x24]
call eax
mov edx, dword [esi]
lea ecx, [ebp - 0xd0]
push ecx
push eax
mov ecx, esi
mov edx, dword [edx + 0x20]
call edx
test al, al
je 0x100424dd
lea edi, [ebp - 0xd0]
lea ecx, [edi + 1]
mov al, byte [edi]
inc edi
test al, al
jne 0x10042424
push 0
push 0
sub edi, ecx
lea eax, [ebp - 0xd0]
push edi
push eax
push 0
push 0xfde9
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov esi, eax
mov dword [ebp - 0x20], 0
push esi
xorps xmm0, xmm0
mov dword [ebp - 0x1c], 0
push ecx
lea ecx, [ebp - 0x30]
movups xmmword [ebp - 0x30], xmm0
call fcn.100139f0
cmp dword [ebp - 0x1c], 7
lea eax, [ebp - 0x30]
push esi
cmova eax, dword [ebp - 0x30]
push eax
push edi
lea eax, [ebp - 0xd0]
push eax
push 0
push 0xfde9
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov ecx, dword [ebp - 0x1c]
cmp ecx, 7
jbe 0x100424c3
mov edx, dword [ebp - 0x30]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x100424b9
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10041b4a
push ecx
push edx
call fcn.10066248
add esp, 8
mov edi, dword [ebp - 0x1ec]
xor eax, eax
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x1c], 7
mov word [ebp - 0x30], ax
mov esi, dword [ebp - 0x1f0]
mov eax, dword [ebp - 0x1e8]
add edi, 4
mov dword [ebp - 0x1ec], edi
cmp edi, eax
jne 0x10042314
mov edx, dword [0x1014b65c]
lea edi, [ebp - 0x1e4]
push str.Spectating_You
push edi
mov dword [ebp - 0x1e4], 0xffe3bf3d
movd xmm0, dword [edx + 0x194]
cvtdq2ps xmm0, xmm0
push dword [edx + 0x114]
mulss xmm0, dword [0x10074af8]
push 1
addss xmm0, dword [0x10074b94]
cvttss2si ecx, xmm0
movd xmm0, dword [edx + 0x190]
cvtdq2ps xmm0, xmm0
push ecx
mulss xmm0, dword [0x10074b28]
cvttss2si eax, xmm0
push eax
push dword [0x1014b684]
call fcn.10004070
mov eax, dword [0x1014b65c]
add esp, 0x1c
movss xmm0, dword [0x10074bb0]
movss dword [ebp - 0x1ec], xmm0
mov edi, dword [eax + 0x80]
mov eax, dword [eax + 0x84]
mov dword [ebp - 0x1e4], edi
mov dword [ebp - 0x1e8], eax
cmp edi, eax
je 0x10042bd4
nop dword [eax]
cmp esi, 6
jge 0x10042bc3
mov ecx, dword [edi]
test ecx, ecx
je 0x10042bc3
call fcn.10003280
test al, al
jne 0x10042bbd
mov ecx, dword [edi]
add ecx, 8
mov eax, dword [ecx]
mov eax, dword [eax + 0x20]
call eax
test al, al
jne 0x10042bbd
mov edx, dword [0x1014b65c]
mov eax, dword [edi]
mov dword [ebp - 0x18], eax
cmp eax, dword [edx + 0x74]
je 0x10042bbd
mov eax, dword [edx + 0x20]
mov ecx, dword fs:[0x2c]
mov dword [ebp - 0x204], eax
mov eax, dword [eax]
mov eax, dword [eax + 0x10]
mov dword [ebp - 0x1f4], eax
mov eax, dword [0x1014a028]
mov esi, dword [ecx + eax*4]
mov eax, dword [0x1014b4e0]
cmp eax, dword [esi + 4]
jle 0x1004265d
push 0x1014b4e0
call fcn.10065d80
add esp, 4
cmp dword [0x1014b4e0], 0xffffffff
jne 0x1004265d
push str.m_hObserverTarget
push str.CBasePlayer
mov dword [ebp - 4], 6
call fcn.10061920
push 0x1014b4e0
mov dword [0x1014b4e8], eax
mov dword [ebp - 4], 0xffffffff
call fcn.10065d2f
add esp, 4
mov eax, dword [0x1014b4e8]
mov edx, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x204]
push dword [eax + edx]
call dword [ebp - 0x1f4]
test eax, eax
je 0x10042bb7
mov ecx, dword [0x1014b65c]
cmp eax, dword [ecx + 0x74]
jne 0x10042bb7
mov eax, dword [edi]
mov dword [ebp - 0x1f4], eax
mov eax, dword [0x1014b8e0]
cmp eax, dword [esi + 4]
jle 0x100426e5
push 0x1014b8e0
call fcn.10065d80
add esp, 4
cmp dword [0x1014b8e0], 0xffffffff
jne 0x100426e5
mov edx, str.55_8B_EC_81_EC_________E8_________85_C0_74_7E_8B_4D_08_85_C9_74_77_A1_________83_78_08_00_74_6C_83_78_0C_00_74_66_A1_________83_C1_08_56_8B_30_8D_85_________50_8B_01
mov dword [ebp - 4], 7
mov ecx, str.client.dll
call fcn.1000daa0
push 0x1014b8e0
mov dword [0x1014b8e4], eax
mov dword [ebp - 4], 0xffffffff
call fcn.10065d2f
add esp, 4
push dword [ebp - 0x1f4]
call dword [0x1014b8e4]
test al, al
mov dword [ebp - 0x20], 0
mov eax, 0xffffffff
mov ecx, 0xff96ff96
cmove ecx, eax
xorps xmm0, xmm0
mov dword [ebp - 0x18], ecx
xor eax, eax
mov ecx, 7
movups xmmword [ebp - 0x30], xmm0
mov dword [ebp - 0x1c], ecx
mov word [ebp - 0x30], ax
mov dword [ebp - 4], 8
mov edx, dword [0x1014b4e4]
mov eax, dword [edi]
mov dword [ebp - 0x1f4], eax
cmp edx, dword [esi + 4]
jle 0x10042786
push 0x1014b4e4
call fcn.10065d80
mov edx, dword [0x1014b4e4]
add esp, 4
cmp edx, 0xffffffff
jne 0x10042783
push str.m_iObserverMode
push str.CBasePlayer
mov byte [ebp - 4], 9
call fcn.10061920
push 0x1014b4e4
mov dword [0x1014b4f0], eax
mov byte [ebp - 4], 8
call fcn.10065d2f
mov edx, dword [0x1014b4e4]
add esp, 4
mov ecx, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x1f4]
mov eax, dword [0x1014b4f0]
cmp dword [eax + edi], 4
mov edi, dword [ebp - 0x1e4]
jne 0x10042808
cmp ecx, 8
jb 0x100427de
cmp ecx, 7
mov dword [ebp - 0x20], 8
push 0x10
lea esi, [ebp - 0x30]
cmova esi, dword [ebp - 0x30]
push str.__1st__
push esi
call sub.VCRUNTIME140.dll_memmove
add esp, 0xc
mov dword [ebp - 0x208], 0xff3232ff
xor eax, eax
mov word [esi + 0x10], ax
mov eax, dword [ebp - 0x208]
jmp 0x1004297a
push str.__1st__
push dword [ebp - 0x200]
lea ecx, [ebp - 0x30]
push 8
call fcn.100455f0
mov dword [ebp - 0x208], 0xff3232ff
mov eax, dword [ebp - 0x208]
jmp 0x1004297a
mov eax, dword [edi]
mov dword [ebp - 0x1f4], eax
cmp edx, dword [esi + 4]
jle 0x10042862
push 0x1014b4e4
call fcn.10065d80
mov edx, dword [0x1014b4e4]
add esp, 4
cmp edx, 0xffffffff
jne 0x1004285f
push str.m_iObserverMode
push str.CBasePlayer
mov byte [ebp - 4], 0xa
call fcn.10061920
push 0x1014b4e4
mov dword [0x1014b4f0], eax
mov byte [ebp - 4], 8
call fcn.10065d2f
mov edx, dword [0x1014b4e4]
add esp, 4
mov ecx, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x1f4]
mov eax, dword [0x1014b4f0]
cmp dword [eax + edi], 5
mov edi, dword [ebp - 0x1e4]
jne 0x100428c4
cmp ecx, 8
jb 0x100428aa
cmp ecx, 7
mov dword [ebp - 0x20], 8
push 0x10
lea esi, [ebp - 0x30]
cmova esi, dword [ebp - 0x30]
push str.__3rd__
push esi
call sub.VCRUNTIME140.dll_memmove
add esp, 0xc
xor eax, eax
mov word [esi + 0x10], ax
jmp 0x1004297d
push str.__3rd__
push dword [ebp - 0x200]
lea ecx, [ebp - 0x30]
push 8
call fcn.100455f0
jmp 0x1004297d
mov eax, dword [edi]
mov dword [ebp - 0x1f4], eax
cmp edx, dword [esi + 4]
jle 0x10042916
push 0x1014b4e4
call fcn.10065d80
add esp, 4
cmp dword [0x1014b4e4], 0xffffffff
jne 0x10042913
push str.m_iObserverMode
push str.CBasePlayer
mov byte [ebp - 4], 0xb
call fcn.10061920
push 0x1014b4e4
mov dword [0x1014b4f0], eax
mov byte [ebp - 4], 8
call fcn.10065d2f
add esp, 4
mov ecx, dword [ebp - 0x1c]
mov eax, dword [0x1014b4f0]
mov edx, dword [ebp - 0x1f4]
cmp dword [eax + edx], 2
jne 0x1004297d
cmp ecx, 0xb
jb 0x10042955
cmp ecx, 7
mov dword [ebp - 0x20], 0xb
push 0x16
lea esi, [ebp - 0x30]
cmova esi, dword [ebp - 0x30]
push str.__Freeze__
push esi
call sub.VCRUNTIME140.dll_memmove
add esp, 0xc
xor eax, eax
mov word [esi + 0x16], ax
jmp 0x1004296a
push str.__Freeze__
push dword [ebp - 0x200]
lea ecx, [ebp - 0x30]
push 0xb
call fcn.100455f0
mov dword [ebp - 0x1f8], 0xff3232ff
mov eax, dword [ebp - 0x1f8]
mov dword [ebp - 0x18], eax
mov eax, dword [0x1014b65c]
mov ecx, dword [edi]
add ecx, 8
mov esi, dword [eax + 0x14]
mov eax, dword [ecx]
mov eax, dword [eax + 0x24]
call eax
mov edx, dword [esi]
lea ecx, [ebp - 0x158]
push ecx
push eax
mov ecx, esi
mov edx, dword [edx + 0x20]
call edx
test al, al
je 0x10042b76
lea edi, [ebp - 0x158]
lea ecx, [edi + 1]
mov al, byte [edi]
inc edi
test al, al
jne 0x100429b3
push 0
push 0
sub edi, ecx
lea eax, [ebp - 0x158]
push edi
push eax
push 0
push 0xfde9
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov esi, eax
mov dword [ebp - 0x210], 0
push esi
xorps xmm0, xmm0
mov dword [ebp - 0x20c], 0
push ecx
lea ecx, [ebp - 0x220]
movups xmmword [ebp - 0x220], xmm0
call fcn.100139f0
cmp dword [ebp - 0x20c], 7
lea eax, [ebp - 0x220]
push esi
cmova eax, dword [ebp - 0x220]
push eax
push edi
lea eax, [ebp - 0x158]
push eax
push 0
push 0xfde9
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov edx, dword [ebp - 0x20c]
lea esi, [ebp - 0x220]
mov ecx, dword [ebp - 0x220]
cmp edx, 7
cmova esi, ecx
jbe 0x10042a76
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x10042a6c
mov ecx, dword [eax - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10041b4a
push edx
push ecx
call fcn.10066248
add esp, 8
xor eax, eax
mov dword [ebp - 0x210], 0
mov dword [ebp - 0x20c], 7
mov word [ebp - 0x220], ax
test esi, esi
je 0x10042b70
push esi
lea edx, [ebp - 0x30]
lea ecx, [ebp - 0x48]
call fcn.10045180
add esp, 4
mov byte [ebp - 4], 0xc
lea eax, [ebp - 0x48]
mov edx, dword [0x1014b65c]
cmp dword [ebp - 0x34], 7
cmova eax, dword [ebp - 0x48]
movd xmm1, dword [edx + 0x194]
movd xmm0, dword [edx + 0x190]
cvtdq2ps xmm1, xmm1
push eax
lea eax, [ebp - 0x18]
push eax
push dword [edx + 0x114]
mulss xmm1, dword [0x10074af8]
push 1
cvtdq2ps xmm0, xmm0
addss xmm1, dword [ebp - 0x1ec]
mulss xmm0, dword [0x10074b28]
cvttss2si eax, xmm1
cvttss2si ecx, xmm0
push eax
push ecx
push dword [0x1014b684]
call fcn.10004070
mov eax, dword [0x1014b65c]
add esp, 0x1c
movd xmm0, dword [eax + 0x108]
cvtdq2ps xmm0, xmm0
addss xmm0, dword [ebp - 0x1ec]
mov byte [ebp - 4], 8
mov ecx, dword [ebp - 0x34]
movss dword [ebp - 0x1ec], xmm0
cmp ecx, 7
jbe 0x10042b70
mov edx, dword [ebp - 0x48]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x10042b66
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10041b4a
push ecx
push edx
call fcn.10066248
add esp, 8
mov edi, dword [ebp - 0x1e4]
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x1c]
cmp ecx, 7
jbe 0x10042bb7
mov edx, dword [ebp - 0x30]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x10042bad
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10041b4a
push ecx
push edx
call fcn.10066248
add esp, 8
mov esi, dword [ebp - 0x1f0]
mov eax, dword [ebp - 0x1e8]
add edi, 4
mov dword [ebp - 0x1e4], edi
cmp edi, eax
jne 0x100425a0
mov edx, dword [0x1014b680]
cmp byte [edx + 0x1d7], 0
je 0x10042c9e
mov esi, dword [ebp - 0x200]
cmp byte [esi + 8], 0
je 0x10042c9e
cmp dword [0x1014933c], 0xf
mov ecx, str.temp
mov eax, 0x10149310
cmova ecx, dword [str.temp]
cmp dword [0x10149324], 0xf
push ecx
cmova eax, dword [0x10149310]
push eax
push str.Vote_Kick_called_on__s_by__s
lea eax, [edx + 0x260]
push eax
mov eax, dword [0x1014b65c]
push dword [eax + 0xd8]
cvttss2si eax, dword [ebp - 0x1fc]
push 0
push eax
push 0x25
push dword [0x1014b684]
call fcn.10003c50
mov eax, dword [0x1014b680]
add esp, 0x24
movss xmm0, dword [ebp - 0x1fc]
add eax, 0x260
addss xmm0, dword [0x10074ba8]
push dword [esi + 4]
push dword [esi]
push str.Yes___i____No___i
push eax
mov eax, dword [0x1014b65c]
push dword [eax + 0xd8]
cvttss2si eax, xmm0
push 0
push eax
push 0x25
push dword [0x1014b684]
call fcn.10003c50
mov edx, dword [0x1014b680]
add esp, 0x24
cmp byte [edx + 0x1e7], 0
je 0x10042de6
mov eax, dword [0x1014b65c]
mov ecx, dword [eax + 0x74]
mov eax, dword [ecx]
mov eax, dword [eax + 8]
call eax
mov esi, eax
mov dword [ebp - 0x34], 0
lea eax, [ebp - 0x3c]
mov dword [ebp - 0x214], 0
push eax
lea edx, [ebp - 0x214]
mov dword [ebp - 0x210], 0
movss xmm0, dword [esi]
lea ecx, [ebp - 0x24]
movss dword [ebp - 0x3c], xmm0
movss xmm0, dword [esi + 4]
movss dword [ebp - 0x38], xmm0
mov dword [ebp - 0x20c], 0
call fcn.100025f0
add esp, 4
mov dword [ebp - 0x20c], 0
lea edx, [ebp - 0x3c]
mov dword [ebp - 0x3c], 0
lea ecx, [ebp - 0x24]
mov dword [ebp - 0x38], 0
movss xmm0, dword [eax]
movss dword [ebp - 0x1ec], xmm0
movss xmm0, dword [eax + 4]
mov eax, dword [0x1014b65c]
movss dword [ebp - 0x204], xmm0
movss xmm0, dword [esi]
movss dword [ebp - 0x214], xmm0
movss xmm0, dword [eax + 0x28c]
lea eax, [ebp - 0x214]
push eax
movss dword [ebp - 0x210], xmm0
mov dword [ebp - 0x34], 0
call fcn.100025f0
add esp, 4
movss xmm0, dword [eax]
movss dword [ebp - 0x1f4], xmm0
movss xmm0, dword [eax + 4]
mov eax, dword [0x1014b65c]
push 0xff
push 0
push 0xff
mov ecx, dword [eax + 0x68]
push 0
movss dword [ebp - 0x200], xmm0
mov eax, dword [ecx]
mov eax, dword [eax + 0x2c]
call eax
mov eax, dword [0x1014b65c]
mov ecx, dword [eax + 0x68]
cvttss2si eax, dword [ebp - 0x200]
mov edx, dword [ecx]
push eax
cvttss2si eax, dword [ebp - 0x1f4]
push eax
cvttss2si eax, dword [ebp - 0x204]
push eax
cvttss2si eax, dword [ebp - 0x1ec]
push eax
mov eax, dword [edx + 0x3c]
call eax
mov edx, dword [0x1014b680]
cmp byte [edx + 0x1e8], 0
je 0x10042f28
mov eax, dword [0x1014b65c]
mov ecx, dword [eax + 0x74]
mov eax, dword [ecx]
mov eax, dword [eax + 8]
call eax
mov esi, eax
mov dword [ebp - 0x20c], 0
lea eax, [ebp - 0x214]
mov dword [ebp - 0x3c], 0
push eax
lea edx, [ebp - 0x3c]
mov dword [ebp - 0x38], 0
movss xmm0, dword [esi]
lea ecx, [ebp - 0x24]
movss dword [ebp - 0x214], xmm0
movss xmm0, dword [esi + 4]
movss dword [ebp - 0x210], xmm0
mov dword [ebp - 0x34], 0
call fcn.100025f0
add esp, 4
mov dword [ebp - 0x20c], 0
lea edx, [ebp - 0x3c]
mov dword [ebp - 0x3c], 0
lea ecx, [ebp - 0x24]
mov dword [ebp - 0x38], 0
movss xmm0, dword [eax]
movss dword [ebp - 0x1ec], xmm0
movss xmm0, dword [eax + 4]
mov eax, dword [0x1014b65c]
movss dword [ebp - 0x204], xmm0
movss xmm0, dword [esi]
movss dword [ebp - 0x214], xmm0
movss xmm0, dword [eax + 0x280]
lea eax, [ebp - 0x214]
push eax
movss dword [ebp - 0x210], xmm0
mov dword [ebp - 0x34], 0
call fcn.100025f0
add esp, 4
movss xmm0, dword [eax]
movss dword [ebp - 0x1f4], xmm0
movss xmm0, dword [eax + 4]
mov eax, dword [0x1014b65c]
push 0xff
push 0
push 0
mov ecx, dword [eax + 0x68]
push 0xff
movss dword [ebp - 0x200], xmm0
mov eax, dword [ecx]
mov eax, dword [eax + 0x2c]
call eax
mov eax, dword [0x1014b65c]
mov ecx, dword [eax + 0x68]
cvttss2si eax, dword [ebp - 0x200]
mov edx, dword [ecx]
push eax
cvttss2si eax, dword [ebp - 0x1f4]
push eax
cvttss2si eax, dword [ebp - 0x204]
push eax
cvttss2si eax, dword [ebp - 0x1ec]
push eax
mov eax, dword [edx + 0x3c]
call eax
mov eax, dword [0x1014b65c]
mov ecx, dword [eax + 0x68]
push ecx
mov dword [esp], 0x3f800000
mov eax, dword [ecx]
mov eax, dword [eax + 0x1b0]
call eax
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.10065cf6
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret