Function at 0x1006d190
Capabilities:
Encode data using xor
Hash data using fnv
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x88
mov eax, dword [0x1015b040]
xor eax, esp
mov dword [esp + 0x84], eax
cmp byte [ecx + 0x12], 0
mov eax, dword [ebp + 8]
push esi
push edi
mov dword [esp + 0x54], eax
je 0x1006dc39
mov ecx, dword [0x1018bb90]
lea edx, [esp + 0x80]
vmovss xmm0, dword [0x10158240]
vmovss dword [esp + 0x44], xmm0
vxorps xmm0, xmm0, xmm0
mov eax, dword [ecx]
vmovss dword [esp + 0x88], xmm0
vmovss dword [esp + 0x84], xmm0
vmovss dword [esp + 0x80], xmm0
mov eax, dword [eax + 0x48]
push edx
mov dword [esp + 0x34], 0
call eax
mov eax, dword [0x1018bb84]
mov edx, 1
mov dword [esp + 0x48], edx
cmp dword [eax + 0x18], edx
jl 0x1006dc39
nop
mov ecx, dword [0x1018bbc4]
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
mov edi, eax
test edi, edi
je 0x1006d7e4
mov edx, dword [edi + 8]
lea ecx, [edi + 8]
mov edx, dword [edx + 0x24]
call edx
test al, al
jne 0x1006d7e4
mov eax, dword [0x1018bb6c]
test al, 1
jne 0x1006d32f
or eax, 1
mov dword [esp + 0x20], 0
push 0x16
mov dword [0x1018bb6c], eax
lea ecx, [esp + 0x14]
mov eax, dword [0x1018bfd0]
vpxor xmm0, xmm0, xmm0
push str.CBasePlayer__m_iHealth
mov dword [esp + 0x14], eax
vmovdqu xmmword [esp + 0x18], xmm0
mov dword [esp + 0x2c], 0
call fcn.100052f0
cmp dword [esp + 0x24], 0xf
lea esi, [esp + 0x10]
mov eax, dword [esp + 0x10]
mov ecx, 0x811c9dc5
cmova esi, eax
mov dword [esp + 8], eax
xor edx, edx
cmp dword [esp + 0x20], edx
jbe 0x1006d2c7
movzx eax, byte [edx + esi]
inc edx
xor eax, ecx
imul ecx, eax, 0x1000193
cmp edx, dword [esp + 0x20]
jb 0x1006d2b4
push ecx
mov ecx, dword [esp + 0x10]
lea eax, [esp + 0x14]
push eax
lea eax, [esp + 0x60]
push eax
call fcn.10008e20
mov eax, dword [esp + 0x5c]
test eax, eax
je 0x1006dc4f
add eax, 0x20
mov dword [0x1018bb5c], eax
mov eax, dword [esp + 0x24]
cmp eax, 0xf
jbe 0x1006d32f
lea ecx, [eax + 1]
mov eax, dword [esp + 8]
mov edx, eax
cmp ecx, 0x1000
jb 0x1006d325
mov eax, dword [edx - 4]
add ecx, 0x23
sub edx, eax
mov dword [esp + 8], eax
lea eax, [edx - 4]
cmp eax, 0x1f
ja 0x1006dbb1
mov eax, dword [esp + 8]
push ecx
push eax
call fcn.10112642
add esp, 8
mov eax, dword [0x1018bb5c]
mov eax, dword [eax + 4]
cmp dword [edi + eax], 0
jle 0x1006d7e4
mov eax, dword [0x1018bb44]
test al, 1
jne 0x1006d42b
or eax, 1
mov dword [esp + 0x20], 0
push 0x18
mov dword [0x1018bb44], eax
lea ecx, [esp + 0x14]
mov eax, dword [0x1018bfd0]
vpxor xmm0, xmm0, xmm0
push str.CBasePlayer__m_lifeState
mov dword [esp + 0x14], eax
vmovdqu xmmword [esp + 0x18], xmm0
mov dword [esp + 0x2c], 0
call fcn.100052f0
cmp dword [esp + 0x24], 0xf
lea esi, [esp + 0x10]
mov eax, dword [esp + 0x10]
mov ecx, 0x811c9dc5
cmova esi, eax
mov dword [esp + 8], eax
xor edx, edx
cmp dword [esp + 0x20], edx
jbe 0x1006d3c3
nop word [eax + eax]
movzx eax, byte [edx + esi]
inc edx
xor eax, ecx
imul ecx, eax, 0x1000193
cmp edx, dword [esp + 0x20]
jb 0x1006d3b0
push ecx
mov ecx, dword [esp + 0x10]
lea eax, [esp + 0x14]
push eax
lea eax, [esp + 0x68]
push eax
call fcn.10008e20
mov eax, dword [esp + 0x64]
test eax, eax
je 0x1006dc4f
add eax, 0x20
mov dword [0x1018bb54], eax
mov eax, dword [esp + 0x24]
cmp eax, 0xf
jbe 0x1006d42b
lea ecx, [eax + 1]
mov eax, dword [esp + 8]
mov edx, eax
cmp ecx, 0x1000
jb 0x1006d421
mov eax, dword [edx - 4]
add ecx, 0x23
sub edx, eax
mov dword [esp + 8], eax
lea eax, [edx - 4]
cmp eax, 0x1f
ja 0x1006dbb1
mov eax, dword [esp + 8]
push ecx
push eax
call fcn.10112642
add esp, 8
mov eax, dword [0x1018bb54]
mov eax, dword [eax + 4]
cmp byte [edi + eax], 0
jne 0x1006d7e4
mov ecx, dword [0x1018bd10]
test cl, 1
jne 0x1006d531
mov eax, dword [0x1018bfd0]
or ecx, 1
push 0x17
mov dword [0x1018bd10], ecx
lea ecx, [esp + 0x14]
vpxor xmm0, xmm0, xmm0
push str.CBaseEntity__m_iTeamNum
mov dword [esp + 0x14], eax
vmovdqu xmmword [esp + 0x18], xmm0
mov dword [esp + 0x28], 0
mov dword [esp + 0x2c], 0
call fcn.100052f0
cmp dword [esp + 0x24], 0xf
lea esi, [esp + 0x10]
mov eax, dword [esp + 0x10]
mov ecx, 0x811c9dc5
cmova esi, eax
mov dword [esp + 8], eax
xor edx, edx
cmp dword [esp + 0x20], edx
jbe 0x1006d4c3
nop dword [eax]
movzx eax, byte [edx + esi]
inc edx
xor eax, ecx
imul ecx, eax, 0x1000193
cmp edx, dword [esp + 0x20]
jb 0x1006d4b0
push ecx
mov ecx, dword [esp + 0x10]
lea eax, [esp + 0x14]
push eax
lea eax, [esp + 0x70]
push eax
call fcn.10008e20
mov eax, dword [esp + 0x6c]
test eax, eax
je 0x1006dc4f
add eax, 0x20
mov dword [0x1018bd04], eax
mov eax, dword [esp + 0x24]
cmp eax, 0xf
jbe 0x1006d52b
lea ecx, [eax + 1]
mov eax, dword [esp + 8]
mov edx, eax
cmp ecx, 0x1000
jb 0x1006d521
mov eax, dword [edx - 4]
add ecx, 0x23
sub edx, eax
mov dword [esp + 8], eax
lea eax, [edx - 4]
cmp eax, 0x1f
ja 0x1006dbb1
mov eax, dword [esp + 8]
push ecx
push eax
call fcn.10112642
add esp, 8
mov ecx, dword [0x1018bd10]
mov eax, dword [0x1018bd04]
mov eax, dword [eax + 4]
add eax, edi
mov dword [esp + 0x50], eax
mov eax, dword [0x1018bbbc]
mov eax, dword [eax]
mov dword [esp + 0x4c], eax
test cl, 1
jne 0x1006d62b
mov eax, dword [0x1018bfd0]
or ecx, 1
push 0x17
mov dword [0x1018bd10], ecx
lea ecx, [esp + 0x14]
vpxor xmm0, xmm0, xmm0
push str.CBaseEntity__m_iTeamNum
mov dword [esp + 0x14], eax
vmovdqu xmmword [esp + 0x18], xmm0
mov dword [esp + 0x28], 0
mov dword [esp + 0x2c], 0
call fcn.100052f0
cmp dword [esp + 0x24], 0xf
lea esi, [esp + 0x10]
mov eax, dword [esp + 0x10]
mov ecx, 0x811c9dc5
cmova esi, eax
mov dword [esp + 8], eax
xor edx, edx
cmp dword [esp + 0x20], edx
jbe 0x1006d5c3
movzx eax, byte [edx + esi]
inc edx
xor eax, ecx
imul ecx, eax, 0x1000193
cmp edx, dword [esp + 0x20]
jb 0x1006d5b0
push ecx
mov ecx, dword [esp + 0x10]
lea eax, [esp + 0x14]
push eax
lea eax, [esp + 0x78]
push eax
call fcn.10008e20
mov eax, dword [esp + 0x74]
test eax, eax
je 0x1006dc4f
add eax, 0x20
mov dword [0x1018bd04], eax
mov eax, dword [esp + 0x24]
cmp eax, 0xf
jbe 0x1006d62b
lea ecx, [eax + 1]
mov eax, dword [esp + 8]
mov edx, eax
cmp ecx, 0x1000
jb 0x1006d621
mov eax, dword [edx - 4]
add ecx, 0x23
sub edx, eax
mov dword [esp + 8], eax
lea eax, [edx - 4]
cmp eax, 0x1f
ja 0x1006dbb1
mov eax, dword [esp + 8]
push ecx
push eax
call fcn.10112642
add esp, 8
mov eax, dword [0x1018bd04]
mov edx, dword [esp + 0x4c]
mov ecx, dword [eax + 4]
mov eax, dword [esp + 0x50]
mov eax, dword [eax]
cmp eax, dword [edx + ecx]
je 0x1006d7e4
mov eax, dword [edi]
mov ecx, edi
mov eax, dword [eax + 0x13c]
call eax
mov ecx, dword [0x1018bfe4]
vmovss xmm0, dword [eax]
vsubss xmm1, xmm0, dword [ecx + 0x130]
vmovss xmm0, dword [eax + 4]
vsubss xmm2, xmm0, dword [ecx + 0x134]
vmovss xmm0, dword [eax + 8]
vsubss xmm3, xmm0, dword [ecx + 0x138]
vmovss dword [esp + 0x4c], xmm1
vmulss xmm1, xmm1, xmm1
vmulss xmm0, xmm2, xmm2
vaddss xmm1, xmm1, xmm0
vmulss xmm0, xmm3, xmm3
vaddss xmm0, xmm1, xmm0
vcvtss2sd xmm0, xmm0, xmm0
vxorpd xmm1, xmm1, xmm1
vucomisd xmm1, xmm0
vmovss dword [esp + 8], xmm2
vmovss dword [esp + 0x50], xmm3
ja 0x1006d6b8
vsqrtsd xmm0, xmm0, xmm0
jmp 0x1006d6bd
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_sqrt_precise
vcvtsd2ss xmm0, xmm0, xmm0
vucomiss xmm0, dword [0x10157d9c]
lahf
test ah, 0x44
jnp 0x1006d6ff
vmovss xmm1, dword [esp + 8]
vdivss xmm1, xmm1, xmm0
vmovss dword [esp + 8], xmm1
vmovss xmm1, dword [esp + 0x4c]
vdivss xmm1, xmm1, xmm0
vmovss dword [esp + 0x4c], xmm1
vmovss xmm1, dword [esp + 0x50]
vdivss xmm1, xmm1, xmm0
vmovss dword [esp + 0x50], xmm1
vmovss xmm0, dword [esp + 0x80]
vmulss xmm0, xmm0, dword [0x10157ddc]
vcvtss2sd xmm0, xmm0, xmm0
vmovsd qword [esp + 0x38], xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_cos_precise
vcvtsd2ss xmm0, xmm0, xmm0
vmovss dword [esp + 0xc], xmm0
vmovss xmm0, dword [esp + 0x84]
vmulss xmm0, xmm0, dword [0x10157ddc]
vcvtss2sd xmm0, xmm0, xmm0
vmovsd qword [esp + 0x78], xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_cos_precise
vcvtsd2ss xmm1, xmm0, xmm0
vmulss xmm0, xmm1, dword [esp + 0xc]
vmovss dword [esp + 0x34], xmm0
vmovsd xmm0, qword [esp + 0x78]
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_sin_precise
vcvtsd2ss xmm1, xmm0, xmm0
vmulss xmm0, xmm1, dword [esp + 0xc]
vmovss dword [esp + 0xc], xmm0
vmovsd xmm0, qword [esp + 0x38]
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_sin_precise
vcvtsd2ss xmm0, xmm0, xmm0
vxorps xmm2, xmm0, xmmword [0x10158550]
vmovss xmm0, dword [esp + 0xc]
vmulss xmm1, xmm0, dword [esp + 8]
vmovss xmm0, dword [esp + 0x34]
vmulss xmm0, xmm0, dword [esp + 0x4c]
vaddss xmm1, xmm1, xmm0
vmulss xmm0, xmm2, dword [esp + 0x50]
vaddss xmm0, xmm1, xmm0
vcvtss2sd xmm0, xmm0, xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_acos_precise
vcvtsd2ss xmm0, xmm0, xmm0
vmulss xmm0, xmm0, dword [0x10158070]
vxorps xmm1, xmm1, xmm1
vmaxss xmm0, xmm1, xmm0
vcomiss xmm0, dword [esp + 0x44]
jae 0x1006d7e4
mov ecx, edi
vmovss dword [esp + 0x44], xmm0
mov dword [esp + 0x30], ecx
jmp 0x1006d7e8
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x48]
mov eax, dword [0x1018bb84]
inc edx
mov dword [esp + 0x48], edx
cmp edx, dword [eax + 0x18]
jle 0x1006d220
test ecx, ecx
je 0x1006dc39
mov ecx, dword [0x1018bcd8]
test cl, 1
jne 0x1006d8e5
mov eax, dword [0x1018bfd0]
or ecx, 1
push 0x18
mov dword [0x1018bcd8], ecx
lea ecx, [esp + 0x14]
vpxor xmm0, xmm0, xmm0
push str.CBaseEntity__m_vecOrigin
mov dword [esp + 0x3c], eax
vmovdqu xmmword [esp + 0x18], xmm0
mov dword [esp + 0x28], 0
mov dword [esp + 0x2c], 0
call fcn.100052f0
cmp dword [esp + 0x24], 0xf
lea esi, [esp + 0x10]
mov edi, dword [esp + 0x10]
mov ecx, 0x811c9dc5
cmova esi, edi
xor edx, edx
cmp dword [esp + 0x20], edx
jbe 0x1006d883
nop
movzx eax, byte [esi + edx]
inc edx
xor eax, ecx
imul ecx, eax, 0x1000193
cmp edx, dword [esp + 0x20]
jb 0x1006d870
push ecx
mov ecx, dword [esp + 0x38]
lea eax, [esp + 0x14]
push eax
lea eax, [esp + 0x40]
push eax
call fcn.10008e20
mov eax, dword [esp + 0x3c]
test eax, eax
je 0x1006dc4f
add eax, 0x20
mov dword [0x1018bcb8], eax
mov eax, dword [esp + 0x24]
cmp eax, 0xf
jbe 0x1006d8df
lea ecx, [eax + 1]
mov eax, edi
cmp ecx, 0x1000
jb 0x1006d8d5
mov edi, dword [eax - 4]
add ecx, 0x23
sub eax, edi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1006dbb1
push ecx
push edi
call fcn.10112642
add esp, 8
mov ecx, dword [0x1018bcd8]
mov eax, dword [0x1018bcb8]
mov eax, dword [eax + 4]
add eax, dword [esp + 0x30]
mov dword [esp + 0x48], eax
mov eax, dword [0x1018bbbc]
mov eax, dword [eax]
mov dword [esp + 0x44], eax
test cl, 1
jne 0x1006d9d7
mov eax, dword [0x1018bfd0]
or ecx, 1
push 0x18
mov dword [0x1018bcd8], ecx
lea ecx, [esp + 0x14]
vpxor xmm0, xmm0, xmm0
push str.CBaseEntity__m_vecOrigin
mov dword [esp + 0x3c], eax
vmovdqu xmmword [esp + 0x18], xmm0
mov dword [esp + 0x28], 0
mov dword [esp + 0x2c], 0
call fcn.100052f0
cmp dword [esp + 0x24], 0xf
lea esi, [esp + 0x10]
mov edi, dword [esp + 0x10]
mov ecx, 0x811c9dc5
cmova esi, edi
xor edx, edx
cmp dword [esp + 0x20], edx
jbe 0x1006d975
movzx eax, byte [esi + edx]
inc edx
xor eax, ecx
imul ecx, eax, 0x1000193
cmp edx, dword [esp + 0x20]
jb 0x1006d962
push ecx
mov ecx, dword [esp + 0x38]
lea eax, [esp + 0x14]
push eax
lea eax, [esp + 0x40]
push eax
call fcn.10008e20
mov eax, dword [esp + 0x3c]
test eax, eax
je 0x1006dc4f
add eax, 0x20
mov dword [0x1018bcb8], eax
mov eax, dword [esp + 0x24]
cmp eax, 0xf
jbe 0x1006d9d1
lea ecx, [eax + 1]
mov eax, edi
cmp ecx, 0x1000
jb 0x1006d9c7
mov edi, dword [eax - 4]
add ecx, 0x23
sub eax, edi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1006dbb1
push ecx
push edi
call fcn.10112642
add esp, 8
mov ecx, dword [0x1018bcd8]
mov edx, dword [esp + 0x48]
mov eax, dword [0x1018bcb8]
vmovss xmm0, dword [edx]
mov eax, dword [eax + 4]
mov edx, dword [esp + 0x44]
vsubss xmm0, xmm0, dword [eax + edx]
vmovss dword [esp + 0xc], xmm0
test cl, 1
jne 0x1006dacd
mov eax, dword [0x1018bfd0]
or ecx, 1
push 0x18
mov dword [0x1018bcd8], ecx
lea ecx, [esp + 0x14]
vpxor xmm0, xmm0, xmm0
push str.CBaseEntity__m_vecOrigin
mov dword [esp + 0x3c], eax
vmovdqu xmmword [esp + 0x18], xmm0
mov dword [esp + 0x28], 0
mov dword [esp + 0x2c], 0
call fcn.100052f0
cmp dword [esp + 0x24], 0xf
lea esi, [esp + 0x10]
mov edi, dword [esp + 0x10]
mov ecx, 0x811c9dc5
cmova esi, edi
xor edx, edx
cmp dword [esp + 0x20], edx
jbe 0x1006da6b
movzx eax, byte [esi + edx]
inc edx
xor eax, ecx
imul ecx, eax, 0x1000193
cmp edx, dword [esp + 0x20]
jb 0x1006da58
push ecx
mov ecx, dword [esp + 0x38]
lea eax, [esp + 0x14]
push eax
lea eax, [esp + 0x40]
push eax
call fcn.10008e20
mov eax, dword [esp + 0x3c]
test eax, eax
je 0x1006dc4f
add eax, 0x20
mov dword [0x1018bcb8], eax
mov eax, dword [esp + 0x24]
cmp eax, 0xf
jbe 0x1006dac7
lea ecx, [eax + 1]
mov eax, edi
cmp ecx, 0x1000
jb 0x1006dabd
mov edi, dword [eax - 4]
add ecx, 0x23
sub eax, edi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1006dbb1
push ecx
push edi
call fcn.10112642
add esp, 8
mov ecx, dword [0x1018bcd8]
mov eax, dword [0x1018bcb8]
mov eax, dword [eax + 4]
add eax, dword [esp + 0x30]
mov dword [esp + 0x48], eax
mov eax, dword [0x1018bbbc]
mov eax, dword [eax]
mov dword [esp + 0x44], eax
test cl, 1
jne 0x1006dbc1
mov eax, dword [0x1018bfd0]
or ecx, 1
push 0x18
mov dword [0x1018bcd8], ecx
lea ecx, [esp + 0x14]
vpxor xmm0, xmm0, xmm0
push str.CBaseEntity__m_vecOrigin
mov dword [esp + 0x3c], eax
vmovdqu xmmword [esp + 0x18], xmm0
mov dword [esp + 0x28], 0
mov dword [esp + 0x2c], 0
call fcn.100052f0
cmp dword [esp + 0x24], 0xf
lea esi, [esp + 0x10]
mov edi, dword [esp + 0x10]
mov ecx, 0x811c9dc5
cmova esi, edi
xor edx, edx
cmp dword [esp + 0x20], edx
jbe 0x1006db63
nop word [eax + eax]
movzx eax, byte [edx + esi]
inc edx
xor eax, ecx
imul ecx, eax, 0x1000193
cmp edx, dword [esp + 0x20]
jb 0x1006db50
push ecx
mov ecx, dword [esp + 0x38]
lea eax, [esp + 0x14]
push eax
lea eax, [esp + 0x40]
push eax
call fcn.10008e20
mov eax, dword [esp + 0x3c]
test eax, eax
je 0x1006dc4f
add eax, 0x20
mov dword [0x1018bcb8], eax
mov eax, dword [esp + 0x24]
cmp eax, 0xf
jbe 0x1006dbc1
lea ecx, [eax + 1]
mov eax, edi
cmp ecx, 0x1000
jb 0x1006dbb7
mov edi, dword [eax - 4]
add ecx, 0x23
sub eax, edi
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x1006dbb7
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edi
call fcn.10112642
add esp, 8
mov ecx, dword [esp + 0x48]
mov eax, dword [0x1018bcb8]
vmovss xmm1, dword [esp + 0xc]
vxorps xmm2, xmm2, xmm2
vmovss xmm0, dword [ecx + 4]
mov eax, dword [eax + 4]
mov ecx, dword [esp + 0x44]
vucomiss xmm1, xmm2
vsubss xmm0, xmm0, dword [eax + ecx + 4]
lahf
test ah, 0x44
jp 0x1006dbfa
vucomiss xmm0, xmm2
lahf
test ah, 0x44
jnp 0x1006dc31
vcvtss2sd xmm0, xmm0, xmm0
vmovsd qword [esp + 0x38], xmm0
fld qword [esp + 0x38]
vcvtss2sd xmm0, xmm1, xmm1
vmovsd qword [esp + 0x38], xmm0
fld qword [esp + 0x38]
call sub.api_ms_win_crt_math_l1_1_0.dll__CIatan2
fstp qword [esp + 0x38]
vmovsd xmm0, qword [esp + 0x38]
vcvtpd2ps xmm0, xmm0
vmulss xmm2, xmm0, dword [0x10158070]
mov eax, dword [esp + 0x54]
vmovss dword [eax], xmm2
mov ecx, dword [esp + 0x8c]
pop edi
pop esi
xor ecx, esp
call fcn.101122e5
mov esp, ebp
pop ebp
ret 4
push str.invalid_unordered_map_K__T__key
call dword [sym.imp.MSVCP140.dll_void___cdecl_std::_Xout_of_range_char_const__]
int3