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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0xe0
mov esi, esp
mov dword [esi + 0xc8], ebp
mov dword [esi + 0xcc], esp
mov dword [esi + 0xd8], 0xffffffff
lea eax, [esi + 0xd0]
mov dword [esi + 0xd4], 0x1008ff80
mov edx, dword fs:[0]
mov dword [esi + 0xd0], edx
mov dword fs:[0], eax
mov dword [esi + 0x38], ecx
cmp byte [ecx + 0x16], 0
je 0x1008bd0e
mov ebx, dword [ebp + 8]
mov ecx, dword [0x1012d368]
mov dword [esi + 0x94], 0
vxorps xmm0, xmm0, xmm0
vmovlps qword [esi + 0x8c], xmm0
mov eax, dword [ecx]
lea edx, [esi + 0x8c]
push edx
call dword [eax + 0x48]
mov dword [esi + 0x48], 0
vmovss xmm0, dword [0x100f5478]
vmovaps xmmword [esi + 0x50], xmm0
mov edi, 1
vxorps xmm0, xmm0, xmm0
vmovss dword [esi + 0x4c], xmm0
mov dword [esi + 0x44], 0
jmp 0x1008ad11
mov ebx, dword [esi + 0xc]
mov eax, dword [ebx]
mov eax, dword [eax + 0x13c]
mov dword [esi + 0xd8], 0xffffffff
mov ecx, ebx
call eax
mov ecx, dword [0x1012d320]
vmovss xmm0, dword [eax + 8]
vmovss dword [esi + 8], xmm0
vmovss xmm0, dword [ecx + 0x198]
vmovss dword [esi + 0x1c], xmm0
vmovss xmm0, dword [eax]
vmovss dword [esi + 0x40], xmm0
vmovss xmm0, dword [eax + 4]
vmovss dword [esi + 0x3c], xmm0
vmovss xmm0, dword [ecx + 0x190]
vmovss dword [esi + 0x78], xmm0
vmovss xmm0, dword [ecx + 0x194]
vmovss dword [esi + 0x7c], xmm0
vmovss xmm0, dword [0x100fe0c4]
vmulss xmm0, xmm0, dword [esi + 0x8c]
vcvtss2sd xmm0, xmm0, xmm0
vmovsd qword [esi + 0x70], xmm0
sub esp, 8
vmovsd qword [esp], xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll_sin
add esp, 8
fstp qword [esi + 0xc0]
vmovsd xmm0, qword [esi + 0xc0]
vmovsd qword [esi + 0x10], xmm0
sub esp, 8
vmovsd xmm0, qword [esi + 0x70]
vmovsd qword [esp], xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll_cos
add esp, 8
fstp qword [esi + 0xb8]
vmovsd xmm0, qword [esi + 0xb8]
vmovsd qword [esi + 0x70], xmm0
vmovss xmm0, dword [0x100fe0c4]
vmulss xmm0, xmm0, dword [esi + 0x90]
vcvtss2sd xmm0, xmm0, xmm0
vmovsd qword [esi + 0x68], xmm0
sub esp, 8
vmovsd qword [esp], xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll_sin
add esp, 8
fstp qword [esi + 0xb0]
vmovsd xmm0, qword [esi + 0xb0]
vmovsd qword [esi + 0xa0], xmm0
sub esp, 8
vmovsd xmm0, qword [esi + 0x68]
vmovsd qword [esp], xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll_cos
add esp, 8
fstp qword [esi + 0xa8]
vmovss xmm0, dword [0x100fe0c4]
vmulss xmm0, xmm0, dword [esi + 0x94]
vmovsd xmm6, qword [esi + 0xa8]
vmovd eax, xmm0
and eax, 0x7fffffff
cmp eax, 0x7f800000
je 0x1008af48
vmovss xmm0, dword [esi + 8]
vsubss xmm0, xmm0, dword [esi + 0x1c]
vmovss xmm1, dword [esi + 0x40]
vsubss xmm1, xmm1, dword [esi + 0x78]
vmovss xmm2, dword [esi + 0x3c]
vsubss xmm2, xmm2, dword [esi + 0x7c]
vmulss xmm3, xmm2, xmm2
vfmadd231ss xmm3, xmm1, xmm1
vfmadd231ss xmm3, xmm0, xmm0
vcvtss2sd xmm3, xmm3, xmm3
vsqrtsd xmm3, xmm3, xmm3
vcvtsd2ss xmm3, xmm3, xmm3
vxorps xmm4, xmm4, xmm4
vcmpneqss xmm4, xmm3, xmm4
vbroadcastss xmm5, dword [0x100f54d0]
vblendvps xmm3, xmm5, xmm3, xmm4
vcvtsd2ss xmm4, xmm6, xmm6
vmovsd xmm5, qword [esi + 0xa0]
vcvtsd2ss xmm5, xmm5, xmm5
vmovsd xmm6, qword [esi + 0x70]
vcvtsd2ss xmm6, xmm6, xmm6
vmulss xmm4, xmm6, xmm4
vmulss xmm5, xmm6, xmm5
vdivss xmm2, xmm2, xmm3
vmulss xmm2, xmm5, xmm2
vdivss xmm1, xmm1, xmm3
vfmadd231ss xmm2, xmm1, xmm4
vdivss xmm0, xmm0, xmm3
vmovsd xmm1, qword [esi + 0x10]
vcvtsd2ss xmm1, xmm1, xmm1
vfnmadd231ss xmm2, xmm1, xmm0
vcvtss2sd xmm0, xmm2, xmm2
sub esp, 8
vmovsd qword [esp], xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll_acos
add esp, 8
fstp dword [esi + 0x88]
vmovss xmm0, dword [0x100fe0b8]
vmulss xmm0, xmm0, dword [esi + 0x88]
vxorps xmm1, xmm1, xmm1
vmaxss xmm0, xmm1, xmm0
vmovaps xmm2, xmmword [esi + 0x50]
vucomiss xmm0, xmm2
vcmpnless xmm1, xmm2, xmm0
vblendvps xmm2, xmm2, xmm0, xmm1
vmovaps xmmword [esi + 0x50], xmm2
mov eax, dword [esi + 0x44]
cmovb eax, ebx
mov dword [esi + 0x44], eax
mov ebx, dword [ebp + 8]
nop dword [eax + eax]
inc edi
mov eax, dword [0x1012d364]
cmp edi, dword [eax + 0x18]
jg 0x1008bc31
mov ecx, dword [0x1012d36c]
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
mov dword [esi + 0xd8], 0xffffffff
push edi
call eax
test eax, eax
je 0x1008ad10
lea ecx, [eax + 8]
mov dword [esi + 0xc], eax
mov eax, dword [eax + 8]
call dword [eax + 0x24]
test al, al
jne 0x1008ad10
mov dword [esi + 0x18], edi
mov eax, dword [0x1012d494]
test al, 1
je 0x1008af89
mov edi, dword [0x1012d490]
mov eax, dword [edi + 4]
mov ecx, dword [esi + 0xc]
cmp dword [eax + ecx], 0
jle 0x1008ad95
mov eax, dword [0x1012d49c]
test al, 1
je 0x1008afde
mov edi, dword [0x1012d498]
mov eax, dword [edi + 4]
mov ecx, dword [esi + 0xc]
cmp byte [eax + ecx], 0
je 0x1008ad9e
mov edi, dword [esi + 0x18]
inc edi
jmp 0x1008ad11
mov edi, dword [esi + 0x18]
inc edi
jmp 0x1008ad11
mov eax, dword [0x10132bd0]
test al, 1
je 0x1008b11a
mov edi, dword [0x10132bcc]
mov ecx, dword [edi + 4]
mov edx, dword [esi + 0xc]
mov edi, dword [ecx + edx]
mov edx, dword [0x1012d35c]
mov edx, dword [edx]
test al, 1
je 0x1008b177
cmp edi, dword [ecx + edx]
mov edi, dword [esi + 0x18]
je 0x1008ad10
mov eax, dword [esi + 0x38]
mov eax, dword [eax + 0x3c]
cmp eax, 2
je 0x1008aad0
cmp eax, 1
je 0x1008ae88
test eax, eax
jne 0x1008ad10
mov eax, dword [0x10132ba8]
test al, 1
je 0x1008b604
mov edi, dword [0x10132ba4]
mov edx, dword [edi + 4]
mov ecx, dword [0x1012d35c]
mov edi, dword [ecx]
mov ecx, edx
test al, 1
je 0x1008b661
vmovss xmm0, dword [ecx + edi + 8]
vmovss xmm1, dword [ecx + edi]
vmovss xmm2, dword [ecx + edi + 4]
mov ecx, dword [esi + 0xc]
vsubss xmm0, xmm0, dword [ecx + edx + 8]
vsubss xmm2, xmm2, dword [ecx + edx + 4]
vsubss xmm1, xmm1, dword [ecx + edx]
vmulss xmm2, xmm2, xmm2
vfmadd231ss xmm2, xmm1, xmm1
vfmadd231ss xmm2, xmm0, xmm0
vcvtss2sd xmm0, xmm2, xmm2
vsqrtsd xmm0, xmm0, xmm0
vcvtsd2ss xmm0, xmm0, xmm0
vmovaps xmm2, xmmword [esi + 0x50]
vucomiss xmm0, xmm2
mov eax, dword [esi + 0x44]
cmovb eax, ecx
mov dword [esi + 0x44], eax
vcmpnless xmm1, xmm2, xmm0
vblendvps xmm2, xmm2, xmm0, xmm1
vmovaps xmmword [esi + 0x50], xmm2
mov edi, dword [esi + 0x18]
inc edi
jmp 0x1008ad11
mov eax, dword [0x10132ba8]
test al, 1
je 0x1008b476
mov edi, dword [0x10132ba4]
mov ecx, dword [edi + 4]
mov edx, dword [esi + 0xc]
vmovss xmm0, dword [ecx + edx]
mov edx, dword [0x1012d35c]
mov edx, dword [edx]
test al, 1
je 0x1008b4d3
mov edi, dword [esi + 0x18]
vsubss xmm2, xmm0, dword [ecx + edx]
test al, 1
je 0x1008b538
mov edx, dword [esi + 0xc]
vmovss xmm0, dword [ecx + edx + 4]
mov edx, dword [0x1012d35c]
mov edx, dword [edx]
test al, 1
je 0x1008b59a
inc dword [esi + 0x48]
vsubss xmm0, xmm0, dword [ecx + edx + 4]
vxorps xmm1, xmm1, xmm1
vucomiss xmm2, xmm1
jne 0x1008af00
jp 0x1008af00
vucomiss xmm0, xmm1
jne 0x1008af00
jnp 0x1008ad10
vcvtss2sd xmm1, xmm2, xmm2
vcvtss2sd xmm0, xmm0, xmm0
sub esp, 0x10
vmovsd qword [esp + 8], xmm1
vmovsd qword [esp], xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll_atan2
add esp, 0x10
fstp dword [esi + 0x84]
vmovss xmm0, dword [0x100fe0b8]
vmulss xmm0, xmm0, dword [esi + 0x84]
vmovss xmm1, dword [esi + 0x4c]
vaddss xmm1, xmm1, xmm0
vmovss dword [esi + 0x4c], xmm1
inc edi
jmp 0x1008ad11
vcvtss2sd xmm0, xmm0, xmm0
vmovsd qword [esi + 0x98], xmm0
sub esp, 8
vmovsd qword [esp], xmm0
vmovsd qword [esi + 0x68], xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_sin
fstp st(0)
vmovsd xmm0, qword [esi + 0x98]
vmovsd qword [esp], xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll_cos
fstp st(0)
vmovsd xmm6, qword [esi + 0x68]
add esp, 8
jmp 0x1008ac1d
or eax, 1
mov dword [0x1012d494], eax
mov eax, dword [0x1012d324]
mov dword [esi + 0x1c], eax
mov dword [esi + 0xd8], 0
lea ecx, [esi + 0x20]
push str.CBasePlayer__m_iHealth
call fcn.100083b0
cmp dword [esi + 0x34], 0x10
lea eax, [esi + 0x20]
mov dword [esi + 0x10], eax
jb 0x1008afc2
mov eax, dword [esi + 0x20]
mov dword [esi + 0x10], eax
mov eax, dword [esi + 0x30]
mov dword [esi + 8], eax
test eax, eax
je 0x1008b03b
cmp dword [esi + 8], 4
jae 0x1008b042
mov eax, 0x811c9dc5
xor ecx, ecx
jmp 0x1008b08c
or eax, 1
mov dword [0x1012d49c], eax
mov eax, dword [0x1012d324]
mov dword [esi + 0x1c], eax
mov dword [esi + 0xd8], 2
lea ecx, [esi + 0x20]
push str.CBasePlayer__m_lifeState
call fcn.100083b0
cmp dword [esi + 0x34], 0x10
lea eax, [esi + 0x20]
mov dword [esi + 8], eax
jb 0x1008b017
mov eax, dword [esi + 0x20]
mov dword [esi + 8], eax
mov eax, dword [esi + 0x30]
mov dword [esi + 0x10], eax
test eax, eax
je 0x1008b1da
cmp dword [esi + 0x10], 4
jae 0x1008b1e1
mov eax, 0x811c9dc5
xor ecx, ecx
jmp 0x1008b22b
mov eax, 0x811c9dc5
jmp 0x1008b0aa
mov edx, dword [esi + 8]
and edx, 0xfffffffc
mov eax, 0x811c9dc5
xor ecx, ecx
mov ebx, dword [esi + 0x10]
movzx edi, byte [ebx + ecx]
xor edi, eax
imul eax, edi, 0x1000193
movzx edi, byte [ebx + ecx + 1]
xor edi, eax
imul eax, edi, 0x1000193
movzx edi, byte [ebx + ecx + 2]
xor edi, eax
imul eax, edi, 0x1000193
movzx edi, byte [ebx + ecx + 3]
xor edi, eax
imul eax, edi, 0x1000193
add ecx, 4
cmp edx, ecx
jne 0x1008b04f
mov edx, dword [esi + 8]
and edx, 3
je 0x1008b0aa
add ecx, dword [esi + 0x10]
xor edi, edi
movzx ebx, byte [ecx + edi]
xor ebx, eax
imul eax, ebx, 0x1000193
inc edi
cmp edx, edi
jne 0x1008b099
mov edx, dword [esi + 0x1c]
and eax, dword [edx + 0x18]
mov ecx, dword [edx + 0xc]
mov edi, dword [ecx + eax*8 + 4]
cmp edi, dword [edx + 4]
mov edx, dword [esi + 8]
je 0x1008c33c
add eax, eax
mov ebx, dword [ecx + eax*4]
cmp edx, dword [edi + 0x18]
jne 0x1008b0ef
cmp dword [edi + 0x1c], 0x10
jb 0x1008b0d8
mov eax, dword [edi + 8]
jmp 0x1008b0db
lea eax, [edi + 8]
push edx
push eax
push dword [esi + 0x10]
call sub.VCRUNTIME140.dll_memcmp
mov edx, dword [esi + 8]
add esp, 0xc
test eax, eax
je 0x1008b101
cmp edi, ebx
je 0x1008c33c
mov edi, dword [edi + 4]
cmp edx, dword [edi + 0x18]
je 0x1008b0cd
jmp 0x1008b0ef
add edi, 0x20
lea ecx, [esi + 0x20]
call fcn.100029d0
mov dword [0x1012d490], edi
mov ebx, dword [ebp + 8]
jmp 0x1008ad61
or eax, 1
mov dword [0x10132bd0], eax
mov eax, dword [0x1012d324]
mov dword [esi + 0x1c], eax
mov dword [esi + 0xd8], 4
lea ecx, [esi + 0x20]
push str.CBaseEntity__m_iTeamNum
call fcn.100083b0
cmp dword [esi + 0x34], 0x10
lea eax, [esi + 0x20]
mov dword [esi + 8], eax
jb 0x1008b153
mov eax, dword [esi + 0x20]
mov dword [esi + 8], eax
mov eax, dword [esi + 0x30]
mov dword [esi + 0x10], eax
test eax, eax
je 0x1008b2b3
cmp dword [esi + 0x10], 4
jae 0x1008b2c4
mov eax, 0x811c9dc5
xor ecx, ecx
jmp 0x1008b30e
mov dword [esi + 0x40], edx
mov dword [esi + 0x3c], edi
or eax, 1
mov dword [0x10132bd0], eax
mov eax, dword [0x1012d324]
mov dword [esi + 0x1c], eax
mov dword [esi + 0xd8], 6
lea ecx, [esi + 0x20]
push str.CBaseEntity__m_iTeamNum
call fcn.100083b0
cmp dword [esi + 0x34], 0x10
lea eax, [esi + 0x20]
mov dword [esi + 8], eax
jb 0x1008b1b6
mov eax, dword [esi + 0x20]
mov dword [esi + 8], eax
mov eax, dword [esi + 0x30]
mov dword [esi + 0x10], eax
test eax, eax
je 0x1008b2ba
cmp dword [esi + 0x10], 4
jae 0x1008b39b
mov eax, 0x811c9dc5
xor ecx, ecx
jmp 0x1008b3e5
mov eax, 0x811c9dc5
jmp 0x1008b249
mov edx, dword [esi + 0x10]
and edx, 0xfffffffc
mov eax, 0x811c9dc5
xor ecx, ecx
mov ebx, dword [esi + 8]
movzx edi, byte [ebx + ecx]
xor edi, eax
imul eax, edi, 0x1000193
movzx edi, byte [ebx + ecx + 1]
xor edi, eax
imul eax, edi, 0x1000193
movzx edi, byte [ebx + ecx + 2]
xor edi, eax
imul eax, edi, 0x1000193
movzx edi, byte [ebx + ecx + 3]
xor edi, eax
imul eax, edi, 0x1000193
add ecx, 4
cmp edx, ecx
jne 0x1008b1ee
mov edx, dword [esi + 0x10]
and edx, 3
je 0x1008b249
add ecx, dword [esi + 8]
xor edi, edi
movzx ebx, byte [ecx + edi]
xor ebx, eax
imul eax, ebx, 0x1000193
inc edi
cmp edx, edi
jne 0x1008b238
mov edx, dword [esi + 0x1c]
and eax, dword [edx + 0x18]
mov ecx, dword [edx + 0xc]
mov edi, dword [ecx + eax*8 + 4]
cmp edi, dword [edx + 4]
je 0x1008c325
add eax, eax
mov ebx, dword [ecx + eax*4]
mov eax, dword [esi + 0x10]
cmp eax, dword [edi + 0x18]
jne 0x1008b28d
cmp dword [edi + 0x1c], 0x10
jb 0x1008b277
mov eax, dword [edi + 8]
jmp 0x1008b27a
lea eax, [edi + 8]
push dword [esi + 0x10]
push eax
push dword [esi + 8]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x1008b29a
cmp edi, ebx
je 0x1008c325
mov edi, dword [edi + 4]
jmp 0x1008b264
add edi, 0x20
lea ecx, [esi + 0x20]
call fcn.100029d0
mov dword [0x1012d498], edi
mov ebx, dword [ebp + 8]
jmp 0x1008ad80
mov eax, 0x811c9dc5
jmp 0x1008b32c
mov eax, 0x811c9dc5
jmp 0x1008b403
mov edx, dword [esi + 0x10]
and edx, 0xfffffffc
mov eax, 0x811c9dc5
xor ecx, ecx
mov ebx, dword [esi + 8]
movzx edi, byte [ebx + ecx]
xor edi, eax
imul eax, edi, 0x1000193
movzx edi, byte [ebx + ecx + 1]
xor edi, eax
imul eax, edi, 0x1000193
movzx edi, byte [ebx + ecx + 2]
xor edi, eax
imul eax, edi, 0x1000193
movzx edi, byte [ebx + ecx + 3]
xor edi, eax
imul eax, edi, 0x1000193
add ecx, 4
cmp edx, ecx
jne 0x1008b2d1
mov edx, dword [esi + 0x10]
and edx, 3
je 0x1008b32c
add ecx, dword [esi + 8]
xor edi, edi
movzx ebx, byte [ecx + edi]
xor ebx, eax
imul eax, ebx, 0x1000193
inc edi
cmp edx, edi
jne 0x1008b31b
mov edx, dword [esi + 0x1c]
and eax, dword [edx + 0x18]
mov ecx, dword [edx + 0xc]
mov edi, dword [ecx + eax*8 + 4]
cmp edi, dword [edx + 4]
je 0x1008c30e
add eax, eax
mov ebx, dword [ecx + eax*4]
mov eax, dword [esi + 0x10]
cmp eax, dword [edi + 0x18]
jne 0x1008b370
cmp dword [edi + 0x1c], 0x10
jb 0x1008b35a
mov eax, dword [edi + 8]
jmp 0x1008b35d
lea eax, [edi + 8]
push dword [esi + 0x10]
push eax
push dword [esi + 8]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x1008b37d
cmp edi, ebx
je 0x1008c30e
mov edi, dword [edi + 4]
jmp 0x1008b347
add edi, 0x20
lea ecx, [esi + 0x20]
call fcn.100029d0
mov dword [0x10132bcc], edi
mov eax, dword [0x10132bd0]
mov ebx, dword [ebp + 8]
jmp 0x1008adb1
mov edx, dword [esi + 0x10]
and edx, 0xfffffffc
mov eax, 0x811c9dc5
xor ecx, ecx
mov ebx, dword [esi + 8]
movzx edi, byte [ebx + ecx]
xor edi, eax
imul eax, edi, 0x1000193
movzx edi, byte [ebx + ecx + 1]
xor edi, eax
imul eax, edi, 0x1000193
movzx edi, byte [ebx + ecx + 2]
xor edi, eax
imul eax, edi, 0x1000193
movzx edi, byte [ebx + ecx + 3]
xor edi, eax
imul eax, edi, 0x1000193
add ecx, 4
cmp edx, ecx
jne 0x1008b3a8
mov edx, dword [esi + 0x10]
and edx, 3
je 0x1008b403
add ecx, dword [esi + 8]
xor edi, edi
movzx ebx, byte [ecx + edi]
xor ebx, eax
imul eax, ebx, 0x1000193
inc edi
cmp edx, edi
jne 0x1008b3f2
mov edx, dword [esi + 0x1c]
and eax, dword [edx + 0x18]
mov ecx, dword [edx + 0xc]
mov edi, dword [ecx + eax*8 + 4]
cmp edi, dword [edx + 4]
je 0x1008c2f7
add eax, eax
mov ebx, dword [ecx + eax*4]
mov eax, dword [esi + 0x10]
cmp eax, dword [edi + 0x18]
jne 0x1008b447
cmp dword [edi + 0x1c], 0x10
jb 0x1008b431
mov eax, dword [edi + 8]
jmp 0x1008b434
lea eax, [edi + 8]
push dword [esi + 0x10]
push eax
push dword [esi + 8]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x1008b454
cmp edi, ebx
je 0x1008c2f7
mov edi, dword [edi + 4]
jmp 0x1008b41e
lea ebx, [edi + 0x20]
lea ecx, [esi + 0x20]
call fcn.100029d0
mov dword [0x10132bcc], ebx
mov ecx, dword [edi + 0x24]
mov ebx, dword [ebp + 8]
mov edi, dword [esi + 0x3c]
mov edx, dword [esi + 0x40]
jmp 0x1008adca
or eax, 1
mov dword [0x10132ba8], eax
mov eax, dword [0x1012d324]
mov dword [esi + 0x1c], eax
mov dword [esi + 0xd8], 0xc
lea ecx, [esi + 0x20]
push str.CBaseEntity__m_vecOrigin
call fcn.100083b0
cmp dword [esi + 0x34], 0x10
lea eax, [esi + 0x20]
mov dword [esi + 8], eax
jb 0x1008b4af
mov eax, dword [esi + 0x20]
mov dword [esi + 8], eax
mov eax, dword [esi + 0x30]
mov dword [esi + 0x10], eax
test eax, eax
je 0x1008b6c0
cmp dword [esi + 0x10], 4
jae 0x1008b6fc
mov eax, 0x811c9dc5
xor ecx, ecx
jmp 0x1008b746
mov dword [esi + 0x40], edx
vmovss dword [esi + 0x3c], xmm0
or eax, 1
mov dword [0x10132ba8], eax
mov eax, dword [0x1012d324]
mov dword [esi + 0x1c], eax
mov dword [esi + 0xd8], 0xe
lea ecx, [esi + 0x20]
push str.CBaseEntity__m_vecOrigin
call fcn.100083b0
cmp dword [esi + 0x34], 0x10
lea eax, [esi + 0x20]
mov dword [esi + 8], eax
jb 0x1008b514
mov eax, dword [esi + 0x20]
mov dword [esi + 8], eax
mov eax, dword [esi + 0x30]
mov dword [esi + 0x10], eax
test eax, eax
je 0x1008b6ca
cmp dword [esi + 0x10], 4
jae 0x1008b7d3
mov eax, 0x811c9dc5
xor ecx, ecx
jmp 0x1008b81d
vmovss dword [esi + 0x1c], xmm2
or eax, 1
mov dword [0x10132ba8], eax
mov eax, dword [0x1012d324]
mov dword [esi + 0x3c], eax
mov dword [esi + 0xd8], 0x10
lea ecx, [esi + 0x20]
push str.CBaseEntity__m_vecOrigin
call fcn.100083b0
cmp dword [esi + 0x34], 0x10
lea eax, [esi + 0x20]
mov dword [esi + 8], eax
jb 0x1008b576
mov eax, dword [esi + 0x20]
mov dword [esi + 8], eax
mov eax, dword [esi + 0x30]
mov dword [esi + 0x10], eax
test eax, eax
je 0x1008b6d4
cmp dword [esi + 0x10], 4
jae 0x1008b8b8
mov eax, 0x811c9dc5
xor ecx, ecx
jmp 0x1008b902
mov dword [esi + 0x40], edx
vmovss dword [esi + 0x3c], xmm0
vmovss dword [esi + 0x1c], xmm2
or eax, 1
mov dword [0x10132ba8], eax
mov eax, dword [0x1012d324]
mov dword [esi + 8], eax
mov dword [esi + 0xd8], 0x12
lea ecx, [esi + 0x20]
push str.CBaseEntity__m_vecOrigin
call fcn.100083b0
cmp dword [esi + 0x34], 0x10
lea eax, [esi + 0x20]
mov dword [esi + 0x10], eax
jb 0x1008b5e0
mov eax, dword [esi + 0x20]
mov dword [esi + 0x10], eax
mov eax, dword [esi + 0x30]
mov dword [esi + 0xc], eax
test eax, eax
je 0x1008b6de
cmp dword [esi + 0xc], 4
jae 0x1008b99a
mov eax, 0x811c9dc5
xor ecx, ecx
jmp 0x1008b9e4
or eax, 1
mov dword [0x10132ba8], eax
mov eax, dword [0x1012d324]
mov dword [esi + 0x1c], eax
mov dword [esi + 0xd8], 8
lea ecx, [esi + 0x20]
push str.CBaseEntity__m_vecOrigin
call fcn.100083b0
cmp dword [esi + 0x34], 0x10
lea eax, [esi + 0x20]
mov dword [esi + 8], eax
jb 0x1008b63d
mov eax, dword [esi + 0x20]
mov dword [esi + 8], eax
mov eax, dword [esi + 0x30]
mov dword [esi + 0x10], eax
test eax, eax
je 0x1008b6e8
cmp dword [esi + 0x10], 4
jae 0x1008ba7f
mov eax, 0x811c9dc5
xor ecx, ecx
jmp 0x1008bac9
mov dword [esi + 0x40], edi
mov dword [esi + 0x3c], edx
or eax, 1
mov dword [0x10132ba8], eax
mov eax, dword [0x1012d324]
mov dword [esi + 0x1c], eax
mov dword [esi + 0xd8], 0xa
lea ecx, [esi + 0x20]
push str.CBaseEntity__m_vecOrigin
call fcn.100083b0
cmp dword [esi + 0x34], 0x10
lea eax, [esi + 0x20]
mov dword [esi + 8], eax
jb 0x1008b6a0
mov eax, dword [esi + 0x20]
mov dword [esi + 8], eax
mov eax, dword [esi + 0x30]
mov dword [esi + 0x10], eax
test eax, eax
je 0x1008b6f2
cmp dword [esi + 0x10], 4
jae 0x1008bb56
mov eax, 0x811c9dc5
xor ecx, ecx
jmp 0x1008bba0
mov eax, 0x811c9dc5
jmp 0x1008b764
mov eax, 0x811c9dc5
jmp 0x1008b83b
mov eax, 0x811c9dc5
jmp 0x1008b920
mov eax, 0x811c9dc5
jmp 0x1008ba02
mov eax, 0x811c9dc5
jmp 0x1008bae7
mov eax, 0x811c9dc5
jmp 0x1008bbbe
mov edx, dword [esi + 0x10]
and edx, 0xfffffffc
mov eax, 0x811c9dc5
xor ecx, ecx
mov ebx, dword [esi + 8]
movzx edi, byte [ebx + ecx]
xor edi, eax
imul eax, edi, 0x1000193
movzx edi, byte [ebx + ecx + 1]
xor edi, eax
imul eax, edi, 0x1000193
movzx edi, byte [ebx + ecx + 2]
xor edi, eax
imul eax, edi, 0x1000193
movzx edi, byte [ebx + ecx + 3]
xor edi, eax
imul eax, edi, 0x1000193
add ecx, 4
cmp edx, ecx
jne 0x1008b709
mov edx, dword [esi + 0x10]
and edx, 3
je 0x1008b764
add ecx, dword [esi + 8]
xor edi, edi
movzx ebx, byte [ecx + edi]
xor ebx, eax
imul eax, ebx, 0x1000193
inc edi
cmp edx, edi
jne 0x1008b753
mov edx, dword [esi + 0x1c]
and eax, dword [edx + 0x18]
mov ecx, dword [edx + 0xc]
mov edi, dword [ecx + eax*8 + 4]
cmp edi, dword [edx + 4]
je 0x1008c2e0
add eax, eax
mov ebx, dword [ecx + eax*4]
mov eax, dword [esi + 0x10]
cmp eax, dword [edi + 0x18]
jne 0x1008b7a8
cmp dword [edi + 0x1c], 0x10
jb 0x1008b792
mov eax, dword [edi + 8]
jmp 0x1008b795
lea eax, [edi + 8]
push dword [esi + 0x10]
push eax
push dword [esi + 8]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x1008b7b5
cmp edi, ebx
je 0x1008c2e0
mov edi, dword [edi + 4]
jmp 0x1008b77f
add edi, 0x20
lea ecx, [esi + 0x20]
call fcn.100029d0
mov dword [0x10132ba4], edi
mov eax, dword [0x10132ba8]
mov ebx, dword [ebp + 8]
jmp 0x1008ae9b
mov edx, dword [esi + 0x10]
and edx, 0xfffffffc
mov eax, 0x811c9dc5
xor ecx, ecx
mov ebx, dword [esi + 8]
movzx edi, byte [ebx + ecx]
xor edi, eax
imul eax, edi, 0x1000193
movzx edi, byte [ebx + ecx + 1]
xor edi, eax
imul eax, edi, 0x1000193
movzx edi, byte [ebx + ecx + 2]
xor edi, eax
imul eax, edi, 0x1000193
movzx edi, byte [ebx + ecx + 3]
xor edi, eax
imul eax, edi, 0x1000193
add ecx, 4
cmp edx, ecx
jne 0x1008b7e0
mov edx, dword [esi + 0x10]
and edx, 3
je 0x1008b83b
add ecx, dword [esi + 8]
xor edi, edi
movzx ebx, byte [ecx + edi]
xor ebx, eax
imul eax, ebx, 0x1000193
inc edi
cmp edx, edi
jne 0x1008b82a
mov edx, dword [esi + 0x1c]
and eax, dword [edx + 0x18]
mov ecx, dword [edx + 0xc]
mov edi, dword [ecx + eax*8 + 4]
cmp edi, dword [edx + 4]
je 0x1008c2c9
add eax, eax
mov ebx, dword [ecx + eax*4]
mov eax, dword [esi + 0x10]
cmp eax, dword [edi + 0x18]
jne 0x1008b87f
cmp dword [edi + 0x1c], 0x10
jb 0x1008b869
mov eax, dword [edi + 8]
jmp 0x1008b86c
lea eax, [edi + 8]
push dword [esi + 0x10]
push eax
push dword [esi + 8]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x1008b88c
cmp edi, ebx
je 0x1008c2c9
mov edi, dword [edi + 4]
jmp 0x1008b856
lea ebx, [edi + 0x20]
lea ecx, [esi + 0x20]
call fcn.100029d0
mov dword [0x10132ba4], ebx
mov ecx, dword [edi + 0x24]
mov eax, dword [0x10132ba8]
mov ebx, dword [ebp + 8]
mov edi, dword [esi + 0x18]
vmovss xmm0, dword [esi + 0x3c]
mov edx, dword [esi + 0x40]
jmp 0x1008aeb9
mov edx, dword [esi + 0x10]
and edx, 0xfffffffc
mov eax, 0x811c9dc5
xor ecx, ecx
mov ebx, dword [esi + 8]
movzx edi, byte [ebx + ecx]
xor edi, eax
imul eax, edi, 0x1000193
movzx edi, byte [ebx + ecx + 1]
xor edi, eax
imul eax, edi, 0x1000193
movzx edi, byte [ebx + ecx + 2]
xor edi, eax
imul eax, edi, 0x1000193
movzx edi, byte [ebx + ecx + 3]
xor edi, eax
imul eax, edi, 0x1000193
add ecx, 4
cmp edx, ecx
jne 0x1008b8c5
mov edx, dword [esi + 0x10]
and edx, 3
je 0x1008b920
add ecx, dword [esi + 8]
xor edi, edi
movzx ebx, byte [ecx + edi]
xor ebx, eax
imul eax, ebx, 0x1000193
inc edi
cmp edx, edi
jne 0x1008b90f
mov edx, dword [esi + 0x3c]
and eax, dword [edx + 0x18]
mov ecx, dword [edx + 0xc]
mov edi, dword [ecx + eax*8 + 4]
cmp edi, dword [edx + 4]
je 0x1008c2b2
add eax, eax
mov ebx, dword [ecx + eax*4]
mov eax, dword [esi + 0x10]
cmp eax, dword [edi + 0x18]
jne 0x1008b964
cmp dword [edi + 0x1c], 0x10
jb 0x1008b94e
mov eax, dword [edi + 8]
jmp 0x1008b951
lea eax, [edi + 8]
push dword [esi + 0x10]
push eax
push dword [esi + 8]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x1008b971
cmp edi, ebx
je 0x1008c2b2
mov edi, dword [edi + 4]
jmp 0x1008b93b
lea ebx, [edi + 0x20]
lea ecx, [esi + 0x20]
call fcn.100029d0
mov dword [0x10132ba4], ebx
mov ecx, dword [edi + 0x24]
mov eax, dword [0x10132ba8]
mov ebx, dword [ebp + 8]
mov edi, dword [esi + 0x18]
vmovss xmm2, dword [esi + 0x1c]
jmp 0x1008aec6
mov edx, dword [esi + 0xc]
and edx, 0xfffffffc
mov eax, 0x811c9dc5
xor ecx, ecx
mov ebx, dword [esi + 0x10]
movzx edi, byte [ebx + ecx]
xor edi, eax
imul eax, edi, 0x1000193
movzx edi, byte [ebx + ecx + 1]
xor edi, eax
imul eax, edi, 0x1000193
movzx edi, byte [ebx + ecx + 2]
xor edi, eax
imul eax, edi, 0x1000193
movzx edi, byte [ebx + ecx + 3]
xor edi, eax
imul eax, edi, 0x1000193
add ecx, 4
cmp edx, ecx
jne 0x1008b9a7
mov edx, dword [esi + 0xc]
and edx, 3
je 0x1008ba02
add ecx, dword [esi + 0x10]
xor edi, edi
movzx ebx, byte [ecx + edi]
xor ebx, eax
imul eax, ebx, 0x1000193
inc edi
cmp edx, edi
jne 0x1008b9f1
mov edx, dword [esi + 8]
and eax, dword [edx + 0x18]
mov ecx, dword [edx + 0xc]
mov edi, dword [ecx + eax*8 + 4]
cmp edi, dword [edx + 4]
je 0x1008c29b
add eax, eax
mov ebx, dword [ecx + eax*4]
mov eax, dword [esi + 0xc]
cmp eax, dword [edi + 0x18]
jne 0x1008ba46
cmp dword [edi + 0x1c], 0x10
jb 0x1008ba30
mov eax, dword [edi + 8]
jmp 0x1008ba33
lea eax, [edi + 8]
push dword [esi + 0xc]
push eax
push dword [esi + 0x10]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x1008ba53
cmp edi, ebx
je 0x1008c29b
mov edi, dword [edi + 4]
jmp 0x1008ba1d
lea ebx, [edi + 0x20]
lea ecx, [esi + 0x20]
call fcn.100029d0
mov dword [0x10132ba4], ebx
mov ecx, dword [edi + 0x24]
mov ebx, dword [ebp + 8]
mov edi, dword [esi + 0x18]
vmovss xmm2, dword [esi + 0x1c]
vmovss xmm0, dword [esi + 0x3c]
mov edx, dword [esi + 0x40]
jmp 0x1008aedf
mov edx, dword [esi + 0x10]
and edx, 0xfffffffc
mov eax, 0x811c9dc5
xor ecx, ecx
mov ebx, dword [esi + 8]
movzx edi, byte [ebx + ecx]
xor edi, eax
imul eax, edi, 0x1000193
movzx edi, byte [ebx + ecx + 1]
xor edi, eax
imul eax, edi, 0x1000193
movzx edi, byte [ebx + ecx + 2]
xor edi, eax
imul eax, edi, 0x1000193
movzx edi, byte [ebx + ecx + 3]
xor edi, eax
imul eax, edi, 0x1000193
add ecx, 4
cmp edx, ecx
jne 0x1008ba8c
mov edx, dword [esi + 0x10]
and edx, 3
je 0x1008bae7
add ecx, dword [esi + 8]
xor edi, edi
movzx ebx, byte [ecx + edi]
xor ebx, eax
imul eax, ebx, 0x1000193
inc edi
cmp edx, edi
jne 0x1008bad6
mov edx, dword [esi + 0x1c]
and eax, dword [edx + 0x18]
mov ecx, dword [edx + 0xc]
mov edi, dword [ecx + eax*8 + 4]
cmp edi, dword [edx + 4]
je 0x1008c284
add eax, eax
mov ebx, dword [ecx + eax*4]
mov eax, dword [esi + 0x10]
cmp eax, dword [edi + 0x18]
jne 0x1008bb2b
cmp dword [edi + 0x1c], 0x10
jb 0x1008bb15
mov eax, dword [edi + 8]
jmp 0x1008bb18
lea eax, [edi + 8]
push dword [esi + 0x10]
push eax
push dword [esi + 8]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x1008bb38
cmp edi, ebx
je 0x1008c284
mov edi, dword [edi + 4]
jmp 0x1008bb02
add edi, 0x20
lea ecx, [esi + 0x20]
call fcn.100029d0
mov dword [0x10132ba4], edi
mov eax, dword [0x10132ba8]
mov ebx, dword [ebp + 8]
jmp 0x1008ae09
mov edx, dword [esi + 0x10]
and edx, 0xfffffffc
mov eax, 0x811c9dc5
xor ecx, ecx
mov ebx, dword [esi + 8]
movzx edi, byte [ebx + ecx]
xor edi, eax
imul eax, edi, 0x1000193
movzx edi, byte [ebx + ecx + 1]
xor edi, eax
imul eax, edi, 0x1000193
movzx edi, byte [ebx + ecx + 2]
xor edi, eax
imul eax, edi, 0x1000193
movzx edi, byte [ebx + ecx + 3]
xor edi, eax
imul eax, edi, 0x1000193
add ecx, 4
cmp edx, ecx
jne 0x1008bb63
mov edx, dword [esi + 0x10]
and edx, 3
je 0x1008bbbe
add ecx, dword [esi + 8]
xor edi, edi
movzx ebx, byte [ecx + edi]
xor ebx, eax
imul eax, ebx, 0x1000193
inc edi
cmp edx, edi
jne 0x1008bbad
mov edx, dword [esi + 0x1c]
and eax, dword [edx + 0x18]
mov ecx, dword [edx + 0xc]
mov edi, dword [ecx + eax*8 + 4]
cmp edi, dword [edx + 4]
je 0x1008c26d
add eax, eax
mov ebx, dword [ecx + eax*4]
mov eax, dword [esi + 0x10]
cmp eax, dword [edi + 0x18]
jne 0x1008bc02
cmp dword [edi + 0x1c], 0x10
jb 0x1008bbec
mov eax, dword [edi + 8]
jmp 0x1008bbef
lea eax, [edi + 8]
push dword [esi + 0x10]
push eax
push dword [esi + 8]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x1008bc0f
cmp edi, ebx
je 0x1008c26d
mov edi, dword [edi + 4]
jmp 0x1008bbd9
lea ebx, [edi + 0x20]
lea ecx, [esi + 0x20]
call fcn.100029d0
mov dword [0x10132ba4], ebx
mov ecx, dword [edi + 0x24]
mov ebx, dword [ebp + 8]
mov edx, dword [esi + 0x3c]
mov edi, dword [esi + 0x40]
jmp 0x1008ae1e
mov eax, dword [esi + 0x38]
cmp dword [eax + 0x3c], 1
jne 0x1008bc57
mov eax, dword [esi + 0x48]
test eax, eax
je 0x1008bd0e
vcvtsi2ss xmm0, xmm7, eax
vmovss xmm1, dword [esi + 0x4c]
vdivss xmm0, xmm1, xmm0
jmp 0x1008bd0a
cmp dword [esi + 0x44], 0
je 0x1008bd0e
mov eax, dword [0x10132ba8]
test al, 1
je 0x1008bd24
mov ebx, dword [0x10132ba4]
mov ecx, dword [ebx + 4]
mov edx, dword [esi + 0x44]
vmovss xmm0, dword [ecx + edx]
mov edx, dword [0x1012d35c]
mov edx, dword [edx]
test al, 1
je 0x1008bd8a
mov ebx, dword [ebp + 8]
vsubss xmm3, xmm0, dword [ecx + edx]
test al, 1
je 0x1008bdf8
mov edx, dword [esi + 0x44]
vmovss xmm0, dword [ecx + edx + 4]
mov edx, dword [0x1012d35c]
mov edx, dword [edx]
test al, 1
je 0x1008be63
vsubss xmm1, xmm0, dword [ecx + edx + 4]
vxorps xmm0, xmm0, xmm0
vucomiss xmm3, xmm0
jne 0x1008bcd6
jp 0x1008bcd6
vxorps xmm2, xmm2, xmm2
vucomiss xmm1, xmm2
jne 0x1008bcd6
jnp 0x1008bd0a
vcvtss2sd xmm0, xmm3, xmm3
vcvtss2sd xmm1, xmm1, xmm1
sub esp, 0x10
vmovsd qword [esp + 8], xmm0
vmovsd qword [esp], xmm1
call sub.api_ms_win_crt_math_l1_1_0.dll_atan2
add esp, 0x10
fstp dword [esi + 0x80]
vmovss xmm0, dword [esi + 0x80]
vmulss xmm0, xmm0, dword [0x100fe0b8]
vmovss dword [ebx], xmm0
mov eax, dword [esi + 0xd0]
mov dword fs:[0], eax
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 4
or eax, 1
mov dword [0x10132ba8], eax
mov eax, dword [0x1012d324]
mov dword [esi + 0x50], eax
mov dword [esi + 0xd8], 0x14
lea ecx, [esi + 0x20]
mov dword [esi + 0x18], ecx
push str.CBaseEntity__m_vecOrigin
call fcn.100083b0
mov eax, dword [esi + 0x30]
mov dword [esi + 0xc], eax
cmp dword [esi + 0x34], 0x10
jb 0x1008bd60
mov eax, dword [esi + 0x20]
mov dword [esi + 0x18], eax
cmp dword [esi + 0xc], 0
je 0x1008bed2
mov eax, dword [esi + 0xc]
mov ecx, eax
and ecx, 3
mov dword [esi + 0x38], ecx
cmp eax, 4
jae 0x1008befa
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x1008bf44
mov dword [esi + 0x4c], edx
vmovss dword [esi + 0x48], xmm0
or eax, 1
mov dword [0x10132ba8], eax
mov eax, dword [0x1012d324]
mov dword [esi + 0x50], eax
mov dword [esi + 0xd8], 0x16
lea ecx, [esi + 0x20]
mov dword [esi + 0x18], ecx
push str.CBaseEntity__m_vecOrigin
call fcn.100083b0
mov eax, dword [esi + 0x30]
mov dword [esi + 0xc], eax
cmp dword [esi + 0x34], 0x10
jb 0x1008bdce
mov eax, dword [esi + 0x20]
mov dword [esi + 0x18], eax
cmp dword [esi + 0xc], 0
je 0x1008bedc
mov eax, dword [esi + 0xc]
mov ecx, eax
and ecx, 3
mov dword [esi + 0x38], ecx
cmp eax, 4
jae 0x1008bfcd
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x1008c017
vmovss dword [esi + 0x50], xmm3
or eax, 1
mov dword [0x10132ba8], eax
mov eax, dword [0x1012d324]
mov dword [esi + 0x48], eax
mov dword [esi + 0xd8], 0x18
lea ecx, [esi + 0x20]
mov dword [esi + 0x18], ecx
push str.CBaseEntity__m_vecOrigin
call fcn.100083b0
mov eax, dword [esi + 0x30]
mov dword [esi + 0xc], eax
cmp dword [esi + 0x34], 0x10
jb 0x1008be39
mov eax, dword [esi + 0x20]
mov dword [esi + 0x18], eax
cmp dword [esi + 0xc], 0
je 0x1008bee6
mov eax, dword [esi + 0xc]
mov ecx, eax
and ecx, 3
mov dword [esi + 0x38], ecx
cmp eax, 4
jae 0x1008c0ae
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x1008c0f8
mov dword [esi + 0x4c], edx
vmovss dword [esi + 0x48], xmm0
vmovss dword [esi + 0x50], xmm3
or eax, 1
mov dword [0x10132ba8], eax
mov eax, dword [0x1012d324]
mov dword [esi + 0x44], eax
mov dword [esi + 0xd8], 0x1a
lea ecx, [esi + 0x20]
mov dword [esi + 0x18], ecx
push str.CBaseEntity__m_vecOrigin
call fcn.100083b0
mov eax, dword [esi + 0x30]
mov dword [esi + 0xc], eax
cmp dword [esi + 0x34], 0x10
jb 0x1008beac
mov eax, dword [esi + 0x20]
mov dword [esi + 0x18], eax
cmp dword [esi + 0xc], 0
je 0x1008bef0
mov eax, dword [esi + 0xc]
mov ecx, eax
and ecx, 3
mov dword [esi + 0x38], ecx
cmp eax, 4
jae 0x1008c18c
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x1008c1d6
mov ecx, 0x811c9dc5
jmp 0x1008bf61
mov ecx, 0x811c9dc5
jmp 0x1008c034
mov ecx, 0x811c9dc5
jmp 0x1008c115
mov ecx, 0x811c9dc5
jmp 0x1008c1f3
mov edi, dword [esi + 0xc]
and edi, 0xfffffffc
mov ecx, 0x811c9dc5
xor edx, edx
mov eax, dword [esi + 0x18]
movzx ebx, byte [eax + edx]
xor ebx, ecx
imul ecx, ebx, 0x1000193
movzx ebx, byte [eax + edx + 1]
xor ebx, ecx
imul ecx, ebx, 0x1000193
movzx ebx, byte [eax + edx + 2]
xor ebx, ecx
imul ecx, ebx, 0x1000193
movzx ebx, byte [eax + edx + 3]
xor ebx, ecx
imul ecx, ebx, 0x1000193
add edx, 4
cmp edi, edx
jne 0x1008bf0a
cmp dword [esi + 0x38], 0
je 0x1008bf61
add edx, dword [esi + 0x18]
xor edi, edi
movzx ebx, byte [edx + edi]
xor ebx, ecx
imul ecx, ebx, 0x1000193
inc edi
cmp dword [esi + 0x38], edi
jne 0x1008bf4f
mov edx, dword [esi + 0x50]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov ebx, dword [eax + ecx*8 + 4]
cmp ebx, dword [edx + 4]
je 0x1008c353
add ecx, ecx
mov edi, dword [eax + ecx*4]
mov eax, dword [esi + 0xc]
cmp eax, dword [ebx + 0x18]
jne 0x1008bfa5
cmp dword [ebx + 0x1c], 0x10
jb 0x1008bf8f
mov eax, dword [ebx + 8]
jmp 0x1008bf92
lea eax, [ebx + 8]
push dword [esi + 0xc]
push eax
push dword [esi + 0x18]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x1008bfb2
cmp ebx, edi
je 0x1008c353
mov ebx, dword [ebx + 4]
jmp 0x1008bf7c
add ebx, 0x20
lea ecx, [esi + 0x20]
call fcn.100029d0
mov dword [0x10132ba4], ebx
mov eax, dword [0x10132ba8]
jmp 0x1008bc74
mov edi, dword [esi + 0xc]
and edi, 0xfffffffc
mov ecx, 0x811c9dc5
xor edx, edx
mov eax, dword [esi + 0x18]
movzx ebx, byte [eax + edx]
xor ebx, ecx
imul ecx, ebx, 0x1000193
movzx ebx, byte [eax + edx + 1]
xor ebx, ecx
imul ecx, ebx, 0x1000193
movzx ebx, byte [eax + edx + 2]
xor ebx, ecx
imul ecx, ebx, 0x1000193
movzx ebx, byte [eax + edx + 3]
xor ebx, ecx
imul ecx, ebx, 0x1000193
add edx, 4
cmp edi, edx
jne 0x1008bfdd
cmp dword [esi + 0x38], 0
je 0x1008c034
add edx, dword [esi + 0x18]
xor edi, edi
movzx ebx, byte [edx + edi]
xor ebx, ecx
imul ecx, ebx, 0x1000193
inc edi
cmp dword [esi + 0x38], edi
jne 0x1008c022
mov edx, dword [esi + 0x50]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov ebx, dword [eax + ecx*8 + 4]
cmp ebx, dword [edx + 4]
je 0x1008c36a
add ecx, ecx
mov edi, dword [eax + ecx*4]
mov eax, dword [esi + 0xc]
cmp eax, dword [ebx + 0x18]
jne 0x1008c078
cmp dword [ebx + 0x1c], 0x10
jb 0x1008c062
mov eax, dword [ebx + 8]
jmp 0x1008c065
lea eax, [ebx + 8]
push dword [esi + 0xc]
push eax
push dword [esi + 0x18]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x1008c085
cmp ebx, edi
je 0x1008c36a
mov ebx, dword [ebx + 4]
jmp 0x1008c04f
lea edi, [ebx + 0x20]
lea ecx, [esi + 0x20]
call fcn.100029d0
mov dword [0x10132ba4], edi
mov ecx, dword [ebx + 0x24]
mov eax, dword [0x10132ba8]
mov ebx, dword [ebp + 8]
vmovss xmm0, dword [esi + 0x48]
mov edx, dword [esi + 0x4c]
jmp 0x1008bc92
mov edi, dword [esi + 0xc]
and edi, 0xfffffffc
mov ecx, 0x811c9dc5
xor edx, edx
mov eax, dword [esi + 0x18]
movzx ebx, byte [eax + edx]
xor ebx, ecx
imul ecx, ebx, 0x1000193
movzx ebx, byte [eax + edx + 1]
xor ebx, ecx
imul ecx, ebx, 0x1000193
movzx ebx, byte [eax + edx + 2]
xor ebx, ecx
imul ecx, ebx, 0x1000193
movzx ebx, byte [eax + edx + 3]
xor ebx, ecx
imul ecx, ebx, 0x1000193
add edx, 4
cmp edi, edx
jne 0x1008c0be
cmp dword [esi + 0x38], 0
je 0x1008c115
add edx, dword [esi + 0x18]
xor edi, edi
movzx ebx, byte [edx + edi]
xor ebx, ecx
imul ecx, ebx, 0x1000193
inc edi
cmp dword [esi + 0x38], edi
jne 0x1008c103
mov edx, dword [esi + 0x48]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov ebx, dword [eax + ecx*8 + 4]
cmp ebx, dword [edx + 4]
je 0x1008c381
add ecx, ecx
mov edi, dword [eax + ecx*4]
mov eax, dword [esi + 0xc]
cmp eax, dword [ebx + 0x18]
jne 0x1008c159
cmp dword [ebx + 0x1c], 0x10
jb 0x1008c143
mov eax, dword [ebx + 8]
jmp 0x1008c146
lea eax, [ebx + 8]
push dword [esi + 0xc]
push eax
push dword [esi + 0x18]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x1008c166
cmp ebx, edi
je 0x1008c381
mov ebx, dword [ebx + 4]
jmp 0x1008c130
lea edi, [ebx + 0x20]
lea ecx, [esi + 0x20]
call fcn.100029d0
mov dword [0x10132ba4], edi
mov ecx, dword [ebx + 0x24]
mov eax, dword [0x10132ba8]
mov ebx, dword [ebp + 8]
vmovss xmm3, dword [esi + 0x50]
jmp 0x1008bc9f
mov edi, dword [esi + 0xc]
and edi, 0xfffffffc
mov ecx, 0x811c9dc5
xor edx, edx
mov eax, dword [esi + 0x18]
movzx ebx, byte [eax + edx]
xor ebx, ecx
imul ecx, ebx, 0x1000193
movzx ebx, byte [eax + edx + 1]
xor ebx, ecx
imul ecx, ebx, 0x1000193
movzx ebx, byte [eax + edx + 2]
xor ebx, ecx
imul ecx, ebx, 0x1000193
movzx ebx, byte [eax + edx + 3]
xor ebx, ecx
imul ecx, ebx, 0x1000193
add edx, 4
cmp edi, edx
jne 0x1008c19c
cmp dword [esi + 0x38], 0
je 0x1008c1f3
add edx, dword [esi + 0x18]
xor edi, edi
movzx ebx, byte [edx + edi]
xor ebx, ecx
imul ecx, ebx, 0x1000193
inc edi
cmp dword [esi + 0x38], edi
jne 0x1008c1e1
mov edx, dword [esi + 0x44]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov ebx, dword [eax + ecx*8 + 4]
cmp ebx, dword [edx + 4]
je 0x1008c398
add ecx, ecx
mov edi, dword [eax + ecx*4]
mov eax, dword [esi + 0xc]
cmp eax, dword [ebx + 0x18]
jne 0x1008c237
cmp dword [ebx + 0x1c], 0x10
jb 0x1008c221
mov eax, dword [ebx + 8]
jmp 0x1008c224
lea eax, [ebx + 8]
push dword [esi + 0xc]
push eax
push dword [esi + 0x18]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x1008c244
cmp ebx, edi
je 0x1008c398
mov ebx, dword [ebx + 4]
jmp 0x1008c20e
lea edi, [ebx + 0x20]
lea ecx, [esi + 0x20]
call fcn.100029d0
mov dword [0x10132ba4], edi
mov ecx, dword [ebx + 0x24]
mov ebx, dword [ebp + 8]
vmovss xmm3, dword [esi + 0x50]
vmovss xmm0, dword [esi + 0x48]
mov edx, dword [esi + 0x4c]
jmp 0x1008bcb8
mov dword [esi + 0xd8], 0xb
push 0x1011ed9d
call sub.MSVCP140.dll_void___cdecl_std::_Xout_of_range_char_const__
add esp, 4
mov dword [esi + 0xd8], 9
push 0x1011ed9d
call sub.MSVCP140.dll_void___cdecl_std::_Xout_of_range_char_const__
add esp, 4
mov dword [esi + 0xd8], 0x13
push 0x1011ed9d
call sub.MSVCP140.dll_void___cdecl_std::_Xout_of_range_char_const__
add esp, 4
mov dword [esi + 0xd8], 0x11
push 0x1011ed9d
call sub.MSVCP140.dll_void___cdecl_std::_Xout_of_range_char_const__
add esp, 4
mov dword [esi + 0xd8], 0xf
push 0x1011ed9d
call sub.MSVCP140.dll_void___cdecl_std::_Xout_of_range_char_const__
add esp, 4
mov dword [esi + 0xd8], 0xd
push 0x1011ed9d
call sub.MSVCP140.dll_void___cdecl_std::_Xout_of_range_char_const__
add esp, 4
mov dword [esi + 0xd8], 7
push 0x1011ed9d
call sub.MSVCP140.dll_void___cdecl_std::_Xout_of_range_char_const__
add esp, 4
mov dword [esi + 0xd8], 5
push 0x1011ed9d
call sub.MSVCP140.dll_void___cdecl_std::_Xout_of_range_char_const__
add esp, 4
mov dword [esi + 0xd8], 3
push 0x1011ed9d
call sub.MSVCP140.dll_void___cdecl_std::_Xout_of_range_char_const__
add esp, 4
mov dword [esi + 0xd8], 1
push 0x1011ed9d
call sub.MSVCP140.dll_void___cdecl_std::_Xout_of_range_char_const__
add esp, 4
mov dword [esi + 0xd8], 0x15
push 0x1011ed9d
call sub.MSVCP140.dll_void___cdecl_std::_Xout_of_range_char_const__
add esp, 4
mov dword [esi + 0xd8], 0x17
push 0x1011ed9d
call sub.MSVCP140.dll_void___cdecl_std::_Xout_of_range_char_const__
add esp, 4
mov dword [esi + 0xd8], 0x19
push 0x1011ed9d
call sub.MSVCP140.dll_void___cdecl_std::_Xout_of_range_char_const__
add esp, 4
mov dword [esi + 0xd8], 0x1b
push 0x1011ed9d
call sub.MSVCP140.dll_void___cdecl_std::_Xout_of_range_char_const__
add esp, 4
nop
push ebp
sub esp, 0x10
lea esi, [ebp - 0xdc]
mov ebp, dword [esi + 0xc8]
lea ecx, [esi + 0x20]
call fcn.100029d0
add esp, 0x10
pop ebp
ret