Function at 0x100d16f0
Capabilities:
Encode data using xor
Hash data using fnv
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xffffffe0
sub esp, 0x340
mov esi, esp
mov dword [esi + 0x318], ebp
mov dword [esi + 0x1c], ecx
mov dword [esi + 0x31c], esp
mov dword [esi + 0x328], 0xffffffff
lea eax, [esi + 0x320]
mov dword [esi + 0x324], 0x100daf80
mov ecx, dword fs:[0]
mov dword [esi + 0x320], ecx
mov dword fs:[0], eax
mov ecx, dword [0x1012d368]
mov eax, dword [ecx]
call dword [eax + 0x68]
test al, al
je 0x100d31ef
call fcn.100287b0
vmovss xmm0, dword [0x100f54dc]
cmp byte [0x10132d24], 0
je 0x100d3203
vmulss xmm1, xmm0, dword [eax + 0xc]
vmovss dword [esi + 0x10], xmm1
mov dword [esi + 0x3c], eax
vmulss xmm0, xmm0, dword [eax + 8]
vmovss dword [esi + 0xc], xmm0
mov eax, dword [esi + 0x1c]
cmp byte [eax + 0x177], 0
je 0x100d17a0
mov eax, dword [0x1012d370]
mov eax, dword [eax + 0x16c]
cmp eax, dword [0x10132d20]
je 0x100d17b9
mov eax, dword [esi + 0x1c]
lea ecx, [eax + 0x2a4]
call fcn.100d43a0
mov eax, dword [0x1012d370]
mov eax, dword [eax + 0x16c]
mov dword [0x10132d20], eax
mov ecx, dword [0x1012d36c]
mov eax, dword [ecx]
call dword [eax + 0x18]
test eax, eax
js 0x100d1878
mov dword [esi + 0x18], 0
mov ebx, 0xffffffff
jmp 0x100d17fc
mov ecx, dword [esi + 0x1c]
push edi
call fcn.100cc6b0
mov ecx, dword [0x1012d36c]
mov eax, dword [ecx]
call dword [eax + 0x18]
cmp ebx, eax
jge 0x100d187f
inc ebx
mov ecx, dword [0x1012d36c]
mov eax, dword [ecx]
push ebx
call dword [eax + 0xc]
test eax, eax
je 0x100d17e9
mov edi, eax
mov eax, dword [eax]
mov ecx, edi
call dword [eax + 0x278]
test al, al
jne 0x100d17e0
lea ecx, [edi + 8]
mov eax, dword [edi + 8]
mov dword [esi + 8], ecx
call dword [eax + 8]
test eax, eax
je 0x100d17e9
mov dword [esi + 4], eax
mov ecx, dword [esi + 8]
mov eax, dword [ecx]
call dword [eax + 0x24]
test al, al
jne 0x100d17e9
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x298]
test al, al
je 0x100d1855
mov ecx, dword [esi + 0x1c]
push edi
call fcn.100d0dd0
jmp 0x100d17e9
mov eax, dword [esi + 4]
mov eax, dword [eax + 0x14]
cmp eax, 0x81
mov ecx, dword [esi + 0x18]
cmove ecx, edi
mov dword [esi + 0x18], ecx
mov ecx, dword [esi + 0x1c]
push eax
push edi
call fcn.100cf500
jmp 0x100d17e9
mov dword [esi + 0x18], 0
mov ecx, dword [esi + 0x1c]
cmp byte [ecx + 0x15], 0
je 0x100d1a68
mov eax, dword [0x1012d364]
vmovss xmm0, dword [eax + 0x10]
vsubss xmm0, xmm0, dword [ecx + 0x234]
vbroadcastss xmm1, dword [0x100f550c]
vandps xmm0, xmm0, xmm1
vmovss xmm1, dword [0x100f54dc]
vucomiss xmm1, xmm0
jb 0x100d1a68
vaddss xmm0, xmm0, xmm0
vmovss xmm1, dword [0x100f54d0]
vsubss xmm0, xmm1, xmm0
vmulss xmm0, xmm0, dword [0x10101220]
vcvttss2si eax, xmm0
movzx eax, al
vcvtsi2ss xmm0, xmm2, eax
vmulss xmm0, xmm0, dword [0x100f54e4]
vbroadcastss xmm1, dword [0x101012e0]
vmovlps qword [esi + 0x48], xmm1
mov dword [esi + 0x50], 0x3f70f0f2
vmovss dword [esi + 0x54], xmm0
lea eax, [esi + 0x48]
push eax
call fcn.10023df0
add esp, 4
vmovss xmm0, dword [0x100f5528]
vmovss xmm1, dword [esi + 0xc]
vaddss xmm2, xmm1, xmm0
vmovss dword [esi + 8], xmm2
vmovss xmm2, dword [esi + 0x10]
vaddss xmm0, xmm2, xmm0
vmovss dword [esi + 4], xmm0
vmovss xmm0, dword [0x100fd830]
vaddss xmm1, xmm1, xmm0
vmovss dword [esi + 0x20], xmm1
vaddss xmm0, xmm2, xmm0
vmovss dword [esi + 0x14], xmm0
mov ecx, dword [0x1012d3a0]
mov edx, dword [ecx]
push eax
call dword [edx + 0x38]
mov ecx, dword [0x1012d3a0]
mov eax, dword [ecx]
mov dword [esi + 0x24], eax
vcvttss2si edx, dword [esi + 4]
mov dword [esi + 4], edx
vcvttss2si edi, dword [esi + 8]
vcvttss2si eax, dword [esi + 0x14]
mov dword [esi + 0x14], eax
vcvttss2si ebx, dword [esi + 0x20]
mov dword [esi + 8], ebx
push edx
push edi
mov ebx, edi
push eax
push dword [esi + 8]
mov eax, dword [esi + 0x24]
call dword [eax + 0x4c]
lea eax, [esi + 0x48]
push eax
call fcn.10023df0
add esp, 4
vmovss xmm0, dword [esi + 0x10]
vaddss xmm1, xmm0, dword [0x100f552c]
vmovss dword [esi + 0x20], xmm1
vaddss xmm0, xmm0, dword [0x100f5784]
vmovss dword [esi + 0x28], xmm0
mov ecx, dword [0x1012d3a0]
mov edx, dword [ecx]
push eax
call dword [edx + 0x38]
mov ecx, dword [0x1012d3a0]
mov edi, dword [ecx]
vcvttss2si eax, dword [esi + 0x20]
mov dword [esi + 0x24], eax
vcvttss2si edx, dword [esi + 0x28]
mov dword [esi + 0x20], edx
push eax
push ebx
push edx
push dword [esi + 8]
call dword [edi + 0x4c]
lea eax, [esi + 0x48]
push eax
call fcn.10023df0
add esp, 4
vmovss xmm0, dword [esi + 0xc]
vaddss xmm1, xmm0, dword [0x100f552c]
vmovss dword [esi + 8], xmm1
vaddss xmm0, xmm0, dword [0x100f5784]
vmovss dword [esi + 0xc], xmm0
mov ecx, dword [0x1012d3a0]
mov edx, dword [ecx]
push eax
call dword [edx + 0x38]
mov ecx, dword [0x1012d3a0]
mov eax, dword [ecx]
vcvttss2si edi, dword [esi + 8]
vcvttss2si ebx, dword [esi + 0xc]
push dword [esi + 0x24]
push edi
push dword [esi + 0x20]
push ebx
call dword [eax + 0x4c]
lea eax, [esi + 0x48]
push eax
call fcn.10023df0
add esp, 4
mov ecx, dword [0x1012d3a0]
mov edx, dword [ecx]
push eax
call dword [edx + 0x38]
mov ecx, dword [0x1012d3a0]
mov eax, dword [ecx]
push dword [esi + 4]
push edi
push dword [esi + 0x14]
push ebx
call dword [eax + 0x4c]
mov ecx, dword [esi + 0x1c]
cmp byte [ecx + 0x18], 0
je 0x100d205f
mov ebx, 1
jmp 0x100d1aa1
mov ecx, dword [esi + 8]
mov eax, dword [ecx]
mov eax, dword [eax + 0x13c]
mov dword [esi + 0x328], 0xffffffff
call eax
mov ecx, dword [esi + 0x1c]
push eax
call fcn.100cbf60
nop dword [eax]
inc ebx
mov eax, dword [0x1012d364]
cmp ebx, dword [eax + 0x18]
ja 0x100d205f
mov ecx, dword [0x1012d36c]
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
mov dword [esi + 0x328], 0xffffffff
push ebx
call eax
mov ecx, eax
mov dword [esi + 8], eax
test eax, eax
je 0x100d1aa0
mov eax, dword [esi + 8]
lea ecx, [eax + 8]
mov eax, dword [eax + 8]
call dword [eax + 0x24]
test al, al
jne 0x100d1aa0
mov eax, dword [0x1012d494]
test al, 1
je 0x100d1b73
mov edi, dword [0x1012d490]
mov eax, dword [edi + 4]
mov ecx, dword [esi + 8]
cmp dword [eax + ecx], 0
jle 0x100d1aa0
mov eax, dword [0x1012d49c]
test al, 1
je 0x100d1bcb
mov edi, dword [0x1012d498]
mov eax, dword [edi + 4]
mov ecx, dword [esi + 8]
cmp byte [eax + ecx], 0
jne 0x100d1aa0
mov eax, dword [0x1012d35c]
mov ecx, dword [eax]
cmp dword [esi + 8], ecx
je 0x100d1aa0
mov eax, dword [0x10132bd0]
test al, 1
je 0x100d1ddd
mov dword [esi + 4], ecx
mov edi, dword [0x10132bcc]
mov ecx, dword [edi + 4]
mov edx, dword [esi + 8]
mov edx, dword [ecx + edx]
test al, 1
je 0x100d1e35
mov eax, dword [esi + 4]
cmp edx, dword [ecx + eax]
jne 0x100d1a79
mov eax, dword [esi + 0x1c]
cmp byte [eax + 0xc], 0
je 0x100d1aa0
jmp 0x100d1a79
mov dword [esi + 0x20], ebx
or eax, 1
mov dword [0x1012d494], eax
mov eax, dword [0x1012d324]
mov dword [esi + 0x14], eax
mov dword [esi + 0x328], 0
lea ecx, [esi + 0x48]
push str.CBasePlayer__m_iHealth
call fcn.100083b0
cmp dword [esi + 0x5c], 0x10
lea eax, [esi + 0x48]
mov dword [esi + 0xc], eax
jb 0x100d1baf
mov eax, dword [esi + 0x48]
mov dword [esi + 0xc], eax
mov eax, dword [esi + 0x58]
mov dword [esi + 4], eax
test eax, eax
je 0x100d1c2b
cmp dword [esi + 4], 4
jae 0x100d1c32
mov eax, 0x811c9dc5
xor ecx, ecx
jmp 0x100d1c7c
mov dword [esi + 0x20], ebx
or eax, 1
mov dword [0x1012d49c], eax
mov eax, dword [0x1012d324]
mov dword [esi + 0x14], eax
mov dword [esi + 0x328], 2
lea ecx, [esi + 0x48]
push str.CBasePlayer__m_lifeState
call fcn.100083b0
cmp dword [esi + 0x5c], 0x10
lea eax, [esi + 0x48]
mov dword [esi + 0xc], eax
jb 0x100d1c07
mov eax, dword [esi + 0x48]
mov dword [esi + 0xc], eax
mov eax, dword [esi + 0x58]
mov dword [esi + 4], eax
test eax, eax
je 0x100d1d04
cmp dword [esi + 4], 4
jae 0x100d1d0b
mov eax, 0x811c9dc5
xor ecx, ecx
jmp 0x100d1d55
mov eax, 0x811c9dc5
jmp 0x100d1c9a
mov edx, dword [esi + 4]
and edx, 0xfffffffc
mov eax, 0x811c9dc5
xor ecx, ecx
mov ebx, dword [esi + 0xc]
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 0x100d1c3f
mov edx, dword [esi + 4]
and edx, 3
je 0x100d1c9a
add ecx, dword [esi + 0xc]
xor edi, edi
movzx ebx, byte [ecx + edi]
xor ebx, eax
imul eax, ebx, 0x1000193
inc edi
cmp edx, edi
jne 0x100d1c89
mov edx, dword [esi + 0x14]
and eax, dword [edx + 0x18]
mov ecx, dword [edx + 0xc]
mov edi, dword [ecx + eax*8 + 4]
cmp edi, dword [edx + 4]
je 0x100d3ddc
add eax, eax
mov ebx, dword [ecx + eax*4]
mov eax, dword [esi + 4]
cmp eax, dword [edi + 0x18]
jne 0x100d1cde
cmp dword [edi + 0x1c], 0x10
jb 0x100d1cc8
mov eax, dword [edi + 8]
jmp 0x100d1ccb
lea eax, [edi + 8]
push dword [esi + 4]
push eax
push dword [esi + 0xc]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x100d1ceb
cmp edi, ebx
je 0x100d3ddc
mov edi, dword [edi + 4]
jmp 0x100d1cb5
add edi, 0x20
lea ecx, [esi + 0x48]
call fcn.100029d0
mov dword [0x1012d490], edi
mov ebx, dword [esi + 0x20]
jmp 0x100d1af3
mov eax, 0x811c9dc5
jmp 0x100d1d73
mov edx, dword [esi + 4]
and edx, 0xfffffffc
mov eax, 0x811c9dc5
xor ecx, ecx
mov ebx, dword [esi + 0xc]
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 0x100d1d18
mov edx, dword [esi + 4]
and edx, 3
je 0x100d1d73
add ecx, dword [esi + 0xc]
xor edi, edi
movzx ebx, byte [ecx + edi]
xor ebx, eax
imul eax, ebx, 0x1000193
inc edi
cmp edx, edi
jne 0x100d1d62
mov edx, dword [esi + 0x14]
and eax, dword [edx + 0x18]
mov ecx, dword [edx + 0xc]
mov edi, dword [ecx + eax*8 + 4]
cmp edi, dword [edx + 4]
je 0x100d3dc5
add eax, eax
mov ebx, dword [ecx + eax*4]
mov eax, dword [esi + 4]
cmp eax, dword [edi + 0x18]
jne 0x100d1db7
cmp dword [edi + 0x1c], 0x10
jb 0x100d1da1
mov eax, dword [edi + 8]
jmp 0x100d1da4
lea eax, [edi + 8]
push dword [esi + 4]
push eax
push dword [esi + 0xc]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x100d1dc4
cmp edi, ebx
je 0x100d3dc5
mov edi, dword [edi + 4]
jmp 0x100d1d8e
add edi, 0x20
lea ecx, [esi + 0x48]
call fcn.100029d0
mov dword [0x1012d498], edi
mov ebx, dword [esi + 0x20]
jmp 0x100d1b12
mov dword [esi + 0x20], ebx
or eax, 1
mov dword [0x10132bd0], eax
mov eax, dword [0x1012d324]
mov dword [esi + 0x14], eax
mov dword [esi + 0x328], 4
lea ecx, [esi + 0x48]
push str.CBaseEntity__m_iTeamNum
call fcn.100083b0
cmp dword [esi + 0x5c], 0x10
lea eax, [esi + 0x48]
mov dword [esi + 0xc], eax
jb 0x100d1e19
mov eax, dword [esi + 0x48]
mov dword [esi + 0xc], eax
mov eax, dword [esi + 0x58]
mov dword [esi + 4], eax
test eax, eax
je 0x100d1e94
cmp dword [esi + 4], 4
jae 0x100d1ea5
mov eax, 0x811c9dc5
xor ecx, ecx
jmp 0x100d1eef
mov dword [esi + 0x28], edx
mov dword [esi + 0x20], ebx
or eax, 1
mov dword [0x10132bd0], eax
mov eax, dword [0x1012d324]
mov dword [esi + 0x24], eax
mov dword [esi + 0x328], 6
lea ecx, [esi + 0x48]
push str.CBaseEntity__m_iTeamNum
call fcn.100083b0
cmp dword [esi + 0x5c], 0x10
lea eax, [esi + 0x48]
mov dword [esi + 0x14], eax
jb 0x100d1e74
mov eax, dword [esi + 0x48]
mov dword [esi + 0x14], eax
mov eax, dword [esi + 0x58]
mov dword [esi + 0xc], eax
test eax, eax
je 0x100d1e9b
cmp dword [esi + 0xc], 4
jae 0x100d1f87
mov eax, 0x811c9dc5
xor ecx, ecx
jmp 0x100d1fd1
mov eax, 0x811c9dc5
jmp 0x100d1f0d
mov eax, 0x811c9dc5
jmp 0x100d1fef
mov edx, dword [esi + 4]
and edx, 0xfffffffc
mov eax, 0x811c9dc5
xor ecx, ecx
mov ebx, dword [esi + 0xc]
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 0x100d1eb2
mov edx, dword [esi + 4]
and edx, 3
je 0x100d1f0d
add ecx, dword [esi + 0xc]
xor edi, edi
movzx ebx, byte [ecx + edi]
xor ebx, eax
imul eax, ebx, 0x1000193
inc edi
cmp edx, edi
jne 0x100d1efc
mov edx, dword [esi + 0x14]
and eax, dword [edx + 0x18]
mov ecx, dword [edx + 0xc]
mov edi, dword [ecx + eax*8 + 4]
cmp edi, dword [edx + 4]
je 0x100d3dae
add eax, eax
mov ebx, dword [ecx + eax*4]
mov eax, dword [esi + 4]
cmp eax, dword [edi + 0x18]
jne 0x100d1f51
cmp dword [edi + 0x1c], 0x10
jb 0x100d1f3b
mov eax, dword [edi + 8]
jmp 0x100d1f3e
lea eax, [edi + 8]
push dword [esi + 4]
push eax
push dword [esi + 0xc]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x100d1f5e
cmp edi, ebx
je 0x100d3dae
mov edi, dword [edi + 4]
jmp 0x100d1f28
add edi, 0x20
lea ecx, [esi + 0x48]
call fcn.100029d0
mov dword [0x10132bcc], edi
mov eax, dword [0x10132bd0]
mov ecx, dword [0x1012d35c]
mov ecx, dword [ecx]
mov dword [esi + 4], ecx
mov ebx, dword [esi + 0x20]
jmp 0x100d1b44
mov edx, dword [esi + 0xc]
and edx, 0xfffffffc
mov eax, 0x811c9dc5
xor ecx, ecx
mov ebx, dword [esi + 0x14]
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 0x100d1f94
mov edx, dword [esi + 0xc]
and edx, 3
je 0x100d1fef
add ecx, dword [esi + 0x14]
xor edi, edi
movzx ebx, byte [ecx + edi]
xor ebx, eax
imul eax, ebx, 0x1000193
inc edi
cmp edx, edi
jne 0x100d1fde
mov edx, dword [esi + 0x24]
and eax, dword [edx + 0x18]
mov ecx, dword [edx + 0xc]
mov edi, dword [ecx + eax*8 + 4]
cmp edi, dword [edx + 4]
je 0x100d3d97
add eax, eax
mov ebx, dword [ecx + eax*4]
mov eax, dword [esi + 0xc]
cmp eax, dword [edi + 0x18]
jne 0x100d2033
cmp dword [edi + 0x1c], 0x10
jb 0x100d201d
mov eax, dword [edi + 8]
jmp 0x100d2020
lea eax, [edi + 8]
push dword [esi + 0xc]
push eax
push dword [esi + 0x14]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x100d2040
cmp edi, ebx
je 0x100d3d97
mov edi, dword [edi + 4]
jmp 0x100d200a
lea ebx, [edi + 0x20]
lea ecx, [esi + 0x48]
call fcn.100029d0
mov dword [0x10132bcc], ebx
mov ecx, dword [edi + 0x24]
mov ebx, dword [esi + 0x20]
mov edx, dword [esi + 0x28]
jmp 0x100d1b55
mov eax, dword [0x1012d35c]
mov ecx, dword [eax]
mov eax, dword [0x1012d494]
test al, 1
je 0x100d3223
mov ebx, dword [0x1012d490]
mov eax, dword [ebx + 4]
cmp dword [eax + ecx], 0
jle 0x100d31ef
mov eax, dword [0x1012d49c]
test al, 1
je 0x100d3288
mov ebx, dword [0x1012d498]
mov eax, dword [ebx + 4]
cmp byte [eax + ecx], 0
jne 0x100d31ef
mov ecx, dword [esi + 0x1c]
cmp byte [ecx + 0x176], 0
je 0x100d20ca
lea eax, [ecx + 0x250]
mov dword [esi + 0x328], 0xffffffff
push 0
push eax
call fcn.100c92e0
mov eax, dword [0x1012d32c]
mov eax, dword [eax + 0x20]
test eax, eax
je 0x100d21fe
push eax
call dword [sym.imp.USER32.dll_GetKeyState]
test ax, ax
jns 0x100d21fe
mov ecx, dword [0x1012d368]
mov eax, dword [ecx]
mov eax, dword [eax + 0x94]
mov dword [esi + 0x328], 0xffffffff
call eax
mov edi, eax
call fcn.100287b0
mov ecx, dword [0x1012d32c]
vmovss xmm2, dword [ecx + 0x30]
vmovss xmm3, dword [ecx + 0x34]
vmovss xmm0, dword [ecx + 0x38]
vmulss xmm1, xmm3, dword [edi + 0x34]
vfmadd231ss xmm1, xmm2, dword [edi + 0x30]
vfmadd231ss xmm1, xmm0, dword [edi + 0x38]
vaddss xmm1, xmm1, dword [edi + 0x3c]
vmovss xmm4, dword [0x101011a0]
vucomiss xmm4, xmm1
ja 0x100d21fe
vmovups xmm4, xmmword [edi + 8]
vmovups xmm5, xmmword [edi]
vmovups xmm6, xmmword [edi + 4]
vmovups xmm7, xmmword [edi + 0xc]
vbroadcastss xmm3, xmm3
vinsertps xmm6, xmm6, dword [edi + 0x14], 0x10
vmulps xmm3, xmm3, xmm6
vinsertps xmm5, xmm5, dword [edi + 0x10], 0x10
vbroadcastss xmm2, xmm2
vfmadd213ps xmm2, xmm5, xmm3
vinsertps xmm3, xmm4, dword [edi + 0x18], 0x10
vbroadcastss xmm0, xmm0
vfmadd213ps xmm0, xmm3, xmm2
vinsertps xmm2, xmm7, dword [edi + 0x1c], 0x10
vaddps xmm0, xmm0, xmm2
vbroadcastss xmm1, xmm1
vdivps xmm0, xmm0, xmm1
vmovsd xmm1, qword [eax + 8]
vbroadcastss xmm2, dword [0x100f54dc]
vmulps xmm3, xmm1, xmm2
vmulps xmm0, xmm0, xmm1
vmulps xmm0, xmm0, xmm2
vaddps xmm1, xmm3, xmm0
vsubps xmm0, xmm3, xmm0
vblendps xmm0, xmm1, xmm0, 2
vmovlps qword [esi + 0x1c0], xmm0
vmovaps xmm0, xmmword [0x10101210]
vmovups xmmword [esi + 0x48], xmm0
lea eax, [esi + 0x48]
push eax
call fcn.10023df0
add esp, 4
lea ecx, [esi + 0x1c0]
push eax
push 0x10
push 0x41800000
push ecx
call fcn.100ca680
vmovss xmm1, dword [esi + 0x10]
vmulss xmm0, xmm1, dword [0x100f56ac]
vaddss xmm0, xmm1, xmm0
vmovss dword [esi + 8], xmm0
cmp dword [esi + 0x18], 0
je 0x100d2604
mov eax, dword [0x10132d84]
test al, 1
je 0x100d34a1
mov ebx, dword [0x10132d80]
mov eax, dword [ebx + 4]
mov ecx, dword [esi + 0x18]
cmp byte [eax + ecx], 0
je 0x100d2604
mov eax, dword [esi + 0x1c]
cmp byte [eax + 0x175], 0
je 0x100d2604
mov eax, dword [0x1012d35c]
mov edx, dword [eax]
mov eax, dword [0x10132ba8]
test al, 1
je 0x100d3507
mov ebx, dword [0x10132ba4]
mov edi, dword [ebx + 4]
mov ecx, edi
test al, 1
je 0x100d3570
mov eax, dword [esi + 0x18]
vmovss xmm0, dword [ecx + eax + 8]
vsubss xmm0, xmm0, dword [edx + edi + 8]
vmovss xmm1, dword [ecx + eax]
vmovss xmm2, dword [ecx + eax + 4]
vsubss xmm2, xmm2, dword [edx + edi + 4]
vsubss xmm1, xmm1, dword [edx + edi]
vmulss xmm2, xmm2, xmm2
vfmadd231ss xmm2, xmm1, xmm1
vfmadd231ss xmm2, xmm0, xmm0
vcvtss2sd xmm0, xmm2, xmm2
vsqrtsd xmm0, xmm0, xmm0
vcvtsd2ss xmm0, xmm0, xmm0
vmulss xmm0, xmm0, xmm0
vdivss xmm0, xmm0, dword [0x101012e4]
vcvtss2sd xmm0, xmm0, xmm0
sub esp, 8
vmovsd qword [esp], xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll_exp
add esp, 8
fstp dword [esi + 0x44]
vmovss xmm0, dword [esi + 0x44]
vmulss xmm0, xmm0, dword [0x100fe39c]
vmovss dword [esi + 0x40], xmm0
mov ecx, dword [0x1012d33c]
mov eax, dword [0x1012d35c]
mov eax, dword [eax]
mov dword [esi + 0x328], 0xffffffff
lea edx, [esi + 0x40]
push 0
push 0
push 0x3f800000
push edx
push eax
call fcn.10091340
mov eax, dword [0x1012d35c]
mov ecx, dword [eax]
mov eax, dword [0x1012d494]
test al, 1
je 0x100d35dc
mov ebx, dword [0x1012d490]
vmovss xmm4, dword [esi + 0x40]
vucomiss xmm4, dword [0x100f54d0]
jb 0x100d2474
mov eax, dword [ebx + 4]
vxorps xmm7, xmm7, xmm7
vcvtsi2ss xmm5, xmm7, dword [eax + ecx]
vdivss xmm0, xmm4, xmm5
vxorps xmm1, xmm1, xmm1
vmaxss xmm1, xmm1, xmm0
vmovss xmm2, dword [0x100f54d0]
vcmpltss xmm0, xmm2, xmm0
vbroadcastss xmm3, dword [0x100f54d0]
vblendvps xmm0, xmm1, xmm3, xmm0
vmovss xmm1, dword [0x100f54e0]
vmulss xmm3, xmm0, xmm1
vcvttss2si eax, xmm3
movzx eax, al
vsubss xmm0, xmm2, xmm0
vmulss xmm0, xmm0, xmm1
vcvttss2si ecx, xmm0
movzx ecx, cl
shl ecx, 8
lea edi, [ecx + eax]
add edi, 0xff0000
vmovss dword [esi + 0x10], xmm5
vucomiss xmm4, xmm5
mov ebx, str.FATAL
vmovss dword [esi + 4], xmm4
jae 0x100d23fd
vcvttss2si eax, xmm4
mov dword [esi + 0x4c], eax
mov dword [esi + 0x48], 0x10000000
mov dword [esi + 0x328], 0xffffffff
lea eax, [esi + 0x48]
lea ebx, [esi + 0x1a8]
push eax
push 1
push 6
push str.__HP
push ebx
call fcn.100b3bd0
add esp, 0x14
cmp dword [esi + 0x1bc], 0x10
jb 0x100d23fd
mov ebx, dword [esi + 0x1a8]
push ebx
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
mov ecx, dword [esi + 0x1c]
mov ecx, dword [ecx + 0x214]
mov dword [esi + 0x328], 0x14
sub esp, 0x1c
mov dword [esp + 0x14], edi
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], ebx
mov dword [esp + 8], ecx
vmovss xmm0, dword [esi + 8]
vmovss dword [esp + 4], xmm0
mov dword [esp + 0x18], 0
mov dword [esp], 0x41f00000
call fcn.100cab40
vmovss xmm0, dword [esi + 4]
vucomiss xmm0, dword [esi + 0x10]
jae 0x100d2462
lea ecx, [esi + 0x1a8]
call fcn.100029d0
vmovss xmm0, dword [esi + 8]
vaddss xmm0, xmm0, dword [0x100fe138]
vmovss dword [esi + 8], xmm0
mov eax, dword [0x10132d8c]
test al, 1
je 0x100d3645
mov ebx, dword [0x10132d88]
mov eax, dword [ebx + 4]
mov ecx, dword [esi + 0x18]
vmovss xmm0, dword [eax + ecx]
mov eax, dword [0x1012d364]
vsubss xmm0, xmm0, dword [eax + 0x10]
mov eax, dword [0x10132d94]
test al, 1
je 0x100d36ab
mov ebx, dword [0x10132d90]
mov dword [esi + 0x328], 0x19
mov eax, dword [ebx + 4]
mov ecx, dword [esi + 0x18]
cmp dword [eax + ecx], 0
mov dword [esi + 0x30], 0x70000004
mov dword [esi + 0x2c], 0xb0000000
mov eax, 0x10122a00
mov ecx, 0x10122980
cmove ecx, eax
mov dword [esi + 0x34], ecx
vmovss dword [esi + 0x38], xmm0
vxorps xmm0, xmm0, xmm0
vmovaps xmmword [esi + 0x1c0], xmm0
mov dword [esi + 0x1d0], 0
mov dword [esi + 0x1d4], 0xf
sub esp, 8
movzx eax, byte [esi + 0x48]
mov byte [esp + 4], al
mov dword [esp], 0x34
lea ecx, [esi + 0x1c0]
call fcn.10011730
mov dword [esi + 0x1d0], 0
lea eax, [esi + 0x2c]
lea ecx, [esi + 0x48]
push eax
push 2
push 0xc
push str.___:.1fs
lea eax, [esi + 0x1c0]
push eax
push ecx
call fcn.100b4d30
add esp, 0x18
cmp dword [esi + 0x1d4], 0x10
lea edi, [esi + 0x1c0]
jb 0x100d2562
mov edi, dword [esi + 0x1c0]
push edi
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
mov ecx, dword [esi + 0x1c]
mov ecx, dword [ecx + 0x214]
mov dword [esi + 0x328], 0x1a
sub esp, 0x1c
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], edi
mov dword [esp + 8], ecx
vmovss xmm0, dword [esi + 8]
vmovss dword [esp + 4], xmm0
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0xb4ffffff
mov dword [esp], 0x41f00000
call fcn.100cab40
mov eax, dword [esi + 0x1d4]
cmp eax, 0x10
jb 0x100d25f2
mov ecx, dword [esi + 0x1c0]
lea edi, [eax + 1]
cmp edi, 0x1000
jb 0x100d25e8
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x100d3cb9
add eax, 0x24
mov edi, eax
mov ecx, edx
push edi
push ecx
call fcn.100f1e8b
add esp, 8
vmovss xmm0, dword [esi + 8]
vaddss xmm0, xmm0, dword [0x100fe134]
vmovss dword [esi + 8], xmm0
mov eax, dword [esi + 0x1c]
test byte [eax + 0x17c], 7
je 0x100d26a8
mov eax, dword [0x1012d348]
mov eax, dword [eax + 0x34]
test eax, eax
je 0x100d26a8
push eax
call dword [sym.imp.USER32.dll_GetKeyState]
test ax, ax
je 0x100d26a8
vmovaps xmm0, xmmword [0x10101210]
vmovups xmmword [esi + 0x48], xmm0
mov dword [esi + 0x328], 0xffffffff
lea eax, [esi + 0x48]
push eax
call fcn.10023df0
add esp, 4
mov ecx, dword [esi + 0x1c]
mov ecx, dword [ecx + 0x214]
sub esp, 0x1c
mov dword [esp + 0x14], eax
mov dword [esp + 8], ecx
vmovss xmm0, dword [esi + 8]
vmovss dword [esp + 4], xmm0
mov dword [esp + 0x18], 0
mov dword [esp + 0x10], 2
mov dword [esp + 0xc], 0x1012207f
mov dword [esp], 0x41f00000
call fcn.100cab40
vmovss xmm0, dword [esi + 8]
vaddss xmm0, xmm0, dword [0x101012e8]
vmovss dword [esi + 8], xmm0
mov eax, dword [esi + 0x1c]
test byte [eax + 0x17c], 6
je 0x100d274c
mov eax, dword [0x1012d348]
mov eax, dword [eax + 0x30]
test eax, eax
je 0x100d274c
push eax
call dword [sym.imp.USER32.dll_GetKeyState]
test ax, ax
jns 0x100d274c
vmovaps xmm0, xmmword [0x10101210]
vmovups xmmword [esi + 0x48], xmm0
mov dword [esi + 0x328], 0xffffffff
lea eax, [esi + 0x48]
push eax
call fcn.10023df0
add esp, 4
mov ecx, dword [esi + 0x1c]
mov ecx, dword [ecx + 0x214]
sub esp, 0x1c
mov dword [esp + 0x14], eax
mov dword [esp + 8], ecx
vmovss xmm0, dword [esi + 8]
vmovss dword [esp + 4], xmm0
mov dword [esp + 0x18], 0
mov dword [esp + 0x10], 2
mov dword [esp + 0xc], 0x101229b1
mov dword [esp], 0x41f00000
call fcn.100cab40
vmovss xmm0, dword [esi + 8]
vaddss xmm0, xmm0, dword [0x101012e8]
vmovss dword [esi + 8], xmm0
mov eax, dword [esi + 0x1c]
test byte [eax + 0x17c], 5
je 0x100d27f0
mov eax, dword [0x1012d348]
mov eax, dword [eax + 0x24]
test eax, eax
je 0x100d27f0
push eax
call dword [sym.imp.USER32.dll_GetKeyState]
test ax, ax
je 0x100d27f0
vmovaps xmm0, xmmword [0x10101210]
vmovups xmmword [esi + 0x48], xmm0
mov dword [esi + 0x328], 0xffffffff
lea eax, [esi + 0x48]
push eax
call fcn.10023df0
add esp, 4
mov ecx, dword [esi + 0x1c]
mov ecx, dword [ecx + 0x214]
sub esp, 0x1c
mov dword [esp + 0x14], eax
mov dword [esp + 8], ecx
vmovss xmm0, dword [esi + 8]
vmovss dword [esp + 4], xmm0
mov dword [esp + 0x18], 0
mov dword [esp + 0x10], 3
mov dword [esp + 0xc], 0x101221ac
mov dword [esp], 0x41f00000
call fcn.100cab40
vmovss xmm0, dword [esi + 8]
vaddss xmm0, xmm0, dword [0x101012e8]
vmovss dword [esi + 8], xmm0
mov eax, dword [esi + 0x1c]
test byte [eax + 0x17c], 4
je 0x100d2894
mov eax, dword [0x1012d32c]
mov eax, dword [eax + 0x18]
test eax, eax
je 0x100d2894
push eax
call dword [sym.imp.USER32.dll_GetKeyState]
test ax, ax
je 0x100d2894
vmovaps xmm0, xmmword [0x101012f0]
vmovups xmmword [esi + 0x48], xmm0
mov dword [esi + 0x328], 0xffffffff
lea eax, [esi + 0x48]
push eax
call fcn.10023df0
add esp, 4
mov ecx, dword [esi + 0x1c]
mov ecx, dword [ecx + 0x214]
sub esp, 0x1c
mov dword [esp + 0x14], eax
mov dword [esp + 8], ecx
vmovss xmm0, dword [esi + 8]
vmovss dword [esp + 4], xmm0
mov dword [esp + 0x18], 0
mov dword [esp + 0x10], 4
mov dword [esp + 0xc], str.DUCK
mov dword [esp], 0x41f00000
call fcn.100cab40
vmovss xmm0, dword [esi + 8]
vaddss xmm0, xmm0, dword [0x101012e8]
vmovss dword [esi + 8], xmm0
mov eax, dword [esi + 0x1c]
mov eax, dword [eax + 0x17c]
test al, 3
je 0x100d292f
mov ecx, dword [0x1012d328]
cmp dword [ecx + 0x2c], 1
jne 0x100d292f
vmovaps xmm0, xmmword [0x10101210]
vmovups xmmword [esi + 0x48], xmm0
mov dword [esi + 0x328], 0xffffffff
lea eax, [esi + 0x48]
push eax
call fcn.10023df0
add esp, 4
mov edi, dword [esi + 0x1c]
mov ecx, dword [edi + 0x214]
sub esp, 0x1c
mov dword [esp + 0x14], eax
mov dword [esp + 8], ecx
vmovss xmm0, dword [esi + 8]
vmovss dword [esp + 4], xmm0
mov dword [esp + 0x18], 0
mov dword [esp + 0x10], 4
mov dword [esp + 0xc], str.OSAA
mov dword [esp], 0x41f00000
call fcn.100cab40
vmovss xmm0, dword [esi + 8]
vaddss xmm0, xmm0, dword [0x101012e8]
vmovss dword [esi + 8], xmm0
mov eax, dword [edi + 0x17c]
test al, 2
je 0x100d29fe
mov ecx, dword [0x1012d328]
mov edx, dword [ecx + 0x2c]
cmp edx, 5
ja 0x100d29fe
mov edi, 0x2c
bt edi, edx
jae 0x100d29fe
xor eax, eax
cmp byte [ecx + 0x16], 0
sete al
vmovss xmm0, dword [eax*4 + 0x10101300]
vxorps xmm1, xmm1, xmm1
je 0x100d2977
vmovss xmm1, dword [0x101012e0]
vmovss dword [esi + 0x48], xmm0
vmovss dword [esi + 0x4c], xmm1
vmovss dword [esi + 0x50], xmm1
mov dword [esi + 0x54], 0x3f800000
mov dword [esi + 0x328], 0xffffffff
lea eax, [esi + 0x48]
push eax
call fcn.10023df0
add esp, 4
mov edi, dword [esi + 0x1c]
mov ecx, dword [edi + 0x214]
sub esp, 0x1c
mov dword [esp + 0x14], eax
mov dword [esp + 8], ecx
vmovss xmm0, dword [esi + 8]
vmovss dword [esp + 4], xmm0
mov dword [esp + 0x18], 0
mov dword [esp + 0x10], 2
mov dword [esp + 0xc], 0x1012201f
mov dword [esp], 0x41f00000
call fcn.100cab40
vmovss xmm0, dword [esi + 8]
vaddss xmm0, xmm0, dword [0x101012e8]
vmovss dword [esi + 8], xmm0
mov eax, dword [edi + 0x17c]
test al, 1
je 0x100d2ad1
mov ecx, dword [0x1012d320]
mov eax, 0xb415c27b
cmp byte [ecx + 0x1b4], 0
jne 0x100d2a84
mov eax, dword [0x1012d35c]
mov ecx, dword [eax]
mov eax, dword [0x10132c18]
test al, 1
je 0x100d37eb
mov ebx, dword [0x10132c14]
mov eax, dword [ebx + 4]
vmovss xmm0, dword [eax + ecx]
vmovss xmm1, dword [eax + ecx + 4]
vmulss xmm1, xmm1, xmm1
vfmadd231ss xmm1, xmm0, xmm0
vcvtss2sd xmm0, xmm1, xmm1
vsqrtsd xmm0, xmm0, xmm0
vcvtsd2ss xmm0, xmm0, xmm0
vucomiss xmm0, dword [0x10101308]
jbe 0x100d2ad1
mov eax, dword [0x1012d320]
cmp byte [eax + 0x1b4], 0
mov ecx, 0xb40000ff
mov eax, 0xb415c27b
cmove eax, ecx
mov dword [esi + 0x328], 0xffffffff
mov ecx, dword [esi + 0x1c]
mov ecx, dword [ecx + 0x214]
mov dword [esi + 0x328], 0xffffffff
sub esp, 0x1c
mov dword [esp + 0x14], eax
mov dword [esp + 8], ecx
vmovss xmm0, dword [esi + 8]
vmovss dword [esp + 4], xmm0
mov dword [esp + 0x18], 0
mov dword [esp + 0x10], 2
mov dword [esp + 0xc], 0x10122665
mov dword [esp], 0x41f00000
call fcn.100cab40
mov eax, dword [esi + 0x1c]
cmp byte [eax + 0x178], 0
je 0x100d3123
mov dword [esi + 0x2c], 0
mov dword [esi + 0x30], 0
mov dword [esi + 0x34], 0
mov edx, 1
jmp 0x100d2b04
mov edx, dword [esi + 8]
inc edx
mov eax, dword [0x1012d364]
cmp edx, dword [eax + 0x18]
jg 0x100d306a
mov ecx, dword [0x1012d36c]
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
mov dword [esi + 0x328], 0x1d
mov dword [esi + 8], edx
push edx
call eax
test eax, eax
je 0x100d2b00
mov ecx, dword [0x1012d35c]
cmp eax, dword [ecx]
je 0x100d2b00
mov ecx, dword [0x1012d494]
test cl, 1
je 0x100d2cb0
mov edi, dword [0x1012d490]
mov ecx, dword [edi + 4]
cmp dword [ecx + eax], 0
jle 0x100d2b77
mov ecx, dword [0x1012d49c]
test cl, 1
je 0x100d2d11
mov edi, dword [0x1012d498]
mov ecx, dword [edi + 4]
cmp byte [ecx + eax], 0
je 0x100d2b00
mov dword [esi + 4], eax
mov ecx, eax
add ecx, 8
mov eax, dword [eax + 8]
mov eax, dword [eax + 0x24]
mov dword [esi + 0x328], 0x1d
call eax
mov ebx, dword [esi + 4]
test al, al
jne 0x100d2b00
mov ecx, dword [0x1012d36c]
mov eax, dword [0x10132d9c]
test al, 1
je 0x100d2d72
mov edi, dword [0x10132d98]
mov eax, dword [edi + 4]
mov edx, dword [ecx]
push dword [eax + ebx]
call dword [edx + 0x10]
test eax, eax
je 0x100d2b00
mov ecx, eax
add ecx, 8
mov eax, dword [eax + 8]
call dword [eax + 0x28]
mov dword [esi + 4], eax
mov eax, dword [0x1012d35c]
mov ecx, dword [eax]
mov eax, dword [ecx + 8]
add ecx, 8
call dword [eax + 0x28]
cmp dword [esi + 4], eax
jne 0x100d2b00
mov ecx, dword [0x1012d368]
vxorps xmm0, xmm0, xmm0
vmovups ymmword [esi + 0x255], ymm0
vmovaps ymmword [esi + 0x240], ymm0
vmovaps ymmword [esi + 0x220], ymm0
vmovaps ymmword [esi + 0x200], ymm0
vmovaps ymmword [esi + 0x1e0], ymm0
vmovaps ymmword [esi + 0x1c0], ymm0
lea eax, [esi + 0x278]
vmovups ymmword [eax + 0x60], ymm0
vmovups ymmword [eax + 0x40], ymm0
vmovups ymmword [eax + 0x20], ymm0
vmovups ymmword [eax], ymm0
mov dword [eax + 0x82], 0
mov dword [eax + 0x7e], 0
vxorps xmm0, xmm0, xmm0
vmovups xmmword [eax + 0x88], xmm0
mov byte [eax + 0x98], 0
mov eax, dword [ecx]
lea edx, [esi + 0x1c0]
push edx
push dword [esi + 8]
vzeroupper
call dword [eax + 0x20]
test al, al
je 0x100d2b00
push 0x158
lea eax, [esi + 0x1c0]
push eax
lea eax, [esi + 0x48]
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov byte [esi + 0x1a0], 1
lea ecx, [esi + 0x2c]
lea eax, [esi + 0x58]
push eax
call fcn.100d9fd0
jmp 0x100d2b00
mov dword [esi + 4], eax
or ecx, 1
mov dword [0x1012d494], ecx
mov eax, dword [0x1012d324]
mov dword [esi + 0xc], eax
mov dword [esi + 0x328], 0x22
lea ecx, [esi + 0x48]
push str.CBasePlayer__m_iHealth
call fcn.100083b0
cmp dword [esi + 0x5c], 0x10
lea eax, [esi + 0x48]
mov dword [esi + 0x10], eax
jb 0x100d2ced
mov eax, dword [esi + 0x48]
mov dword [esi + 0x10], eax
mov eax, dword [esi + 0x58]
mov dword [esi + 0x18], eax
test eax, eax
je 0x100d2dd2
cmp dword [esi + 0x18], 4
jae 0x100d2dd9
mov eax, 0x811c9dc5
xor ecx, ecx
jmp 0x100d2e23
mov dword [esi + 4], eax
or ecx, 1
mov dword [0x1012d49c], ecx
mov eax, dword [0x1012d324]
mov dword [esi + 0xc], eax
mov dword [esi + 0x328], 0x20
lea ecx, [esi + 0x48]
push str.CBasePlayer__m_lifeState
call fcn.100083b0
cmp dword [esi + 0x5c], 0x10
lea eax, [esi + 0x48]
mov dword [esi + 0x10], eax
jb 0x100d2d4e
mov eax, dword [esi + 0x48]
mov dword [esi + 0x10], eax
mov eax, dword [esi + 0x58]
mov dword [esi + 0x18], eax
test eax, eax
je 0x100d2eab
cmp dword [esi + 0x18], 4
jae 0x100d2eb2
mov eax, 0x811c9dc5
xor ecx, ecx
jmp 0x100d2efc
mov dword [esi + 0x14], ecx
or eax, 1
mov dword [0x10132d9c], eax
mov eax, dword [0x1012d324]
mov dword [esi + 0xc], eax
mov dword [esi + 0x328], 0x1e
lea ecx, [esi + 0x48]
push str.CBasePlayer__m_hObserverTarget
call fcn.100083b0
cmp dword [esi + 0x5c], 0x10
lea eax, [esi + 0x48]
mov dword [esi + 0x10], eax
jb 0x100d2dae
mov eax, dword [esi + 0x48]
mov dword [esi + 0x10], eax
mov eax, dword [esi + 0x58]
mov dword [esi + 0x18], eax
test eax, eax
je 0x100d2f84
cmp dword [esi + 0x18], 4
jae 0x100d2f8b
mov eax, 0x811c9dc5
xor ecx, ecx
jmp 0x100d2fd5
mov eax, 0x811c9dc5
jmp 0x100d2e41
mov edx, dword [esi + 0x18]
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 0x100d2de6
mov edx, dword [esi + 0x18]
and edx, 3
je 0x100d2e41
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 0x100d2e30
mov edx, dword [esi + 0xc]
and eax, dword [edx + 0x18]
mov ecx, dword [edx + 0xc]
mov edi, dword [ecx + eax*8 + 4]
cmp edi, dword [edx + 4]
je 0x100d3df3
add eax, eax
mov ebx, dword [ecx + eax*4]
mov eax, dword [esi + 0x18]
cmp eax, dword [edi + 0x18]
jne 0x100d2e85
cmp dword [edi + 0x1c], 0x10
jb 0x100d2e6f
mov eax, dword [edi + 8]
jmp 0x100d2e72
lea eax, [edi + 8]
push dword [esi + 0x18]
push eax
push dword [esi + 0x10]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x100d2e92
cmp edi, ebx
je 0x100d3df3
mov edi, dword [edi + 4]
jmp 0x100d2e5c
add edi, 0x20
lea ecx, [esi + 0x48]
call fcn.100029d0
mov dword [0x1012d490], edi
mov eax, dword [esi + 4]
jmp 0x100d2b50
mov eax, 0x811c9dc5
jmp 0x100d2f1a
mov edx, dword [esi + 0x18]
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 0x100d2ebf
mov edx, dword [esi + 0x18]
and edx, 3
je 0x100d2f1a
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 0x100d2f09
mov edx, dword [esi + 0xc]
and eax, dword [edx + 0x18]
mov ecx, dword [edx + 0xc]
mov edi, dword [ecx + eax*8 + 4]
cmp edi, dword [edx + 4]
je 0x100d3e0a
add eax, eax
mov ebx, dword [ecx + eax*4]
mov eax, dword [esi + 0x18]
cmp eax, dword [edi + 0x18]
jne 0x100d2f5e
cmp dword [edi + 0x1c], 0x10
jb 0x100d2f48
mov eax, dword [edi + 8]
jmp 0x100d2f4b
lea eax, [edi + 8]
push dword [esi + 0x18]
push eax
push dword [esi + 0x10]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x100d2f6b
cmp edi, ebx
je 0x100d3e0a
mov edi, dword [edi + 4]
jmp 0x100d2f35
add edi, 0x20
lea ecx, [esi + 0x48]
call fcn.100029d0
mov dword [0x1012d498], edi
mov eax, dword [esi + 4]
jmp 0x100d2b6e
mov eax, 0x811c9dc5
jmp 0x100d2ff3
mov edx, dword [esi + 0x18]
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 0x100d2f98
mov edx, dword [esi + 0x18]
and edx, 3
je 0x100d2ff3
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 0x100d2fe2
mov edx, dword [esi + 0xc]
and eax, dword [edx + 0x18]
mov ecx, dword [edx + 0xc]
mov edi, dword [ecx + eax*8 + 4]
cmp edi, dword [edx + 4]
je 0x100d3e21
add eax, eax
mov ebx, dword [ecx + eax*4]
mov eax, dword [esi + 0x18]
cmp eax, dword [edi + 0x18]
jne 0x100d3037
cmp dword [edi + 0x1c], 0x10
jb 0x100d3021
mov eax, dword [edi + 8]
jmp 0x100d3024
lea eax, [edi + 8]
push dword [esi + 0x18]
push eax
push dword [esi + 0x10]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x100d3044
cmp edi, ebx
je 0x100d3e21
mov edi, dword [edi + 4]
jmp 0x100d300e
add edi, 0x20
lea ecx, [esi + 0x48]
call fcn.100029d0
mov dword [0x10132d98], edi
mov dword [esi + 0x328], 0x1d
mov ebx, dword [esi + 4]
mov ecx, dword [esi + 0x14]
jmp 0x100d2bb5
mov eax, dword [esi + 0x2c]
mov ecx, dword [esi + 0x30]
mov dword [esi + 0x18], ecx
xor ebx, ebx
cmp eax, dword [esi + 0x18]
je 0x100d311b
nop
cmp dword [eax + 0x14], 0x10
mov edi, eax
jb 0x100d308a
mov edi, dword [eax]
mov dword [esi + 8], eax
push edi
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
lea ecx, [ebx + 0xa]
vmovd xmm0, ecx
mov ecx, dword [esi + 0x1c]
mov ecx, dword [ecx + 0x204]
mov edx, dword [esi + 0x3c]
vmovss xmm1, dword [0x1010130c]
vaddss xmm1, xmm1, dword [edx + 8]
vpor xmm0, xmm0, xmmword [0x100fcfa0]
vsubsd xmm0, xmm0, qword [0x100fca08]
vcvtsd2ss xmm0, xmm0, xmm0
mov dword [esi + 0x328], 0x1d
sub esp, 0x1c
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], edi
mov dword [esp + 8], ecx
vmovss dword [esp + 4], xmm0
vmovss dword [esp], xmm1
mov dword [esp + 0x18], 4
mov dword [esp + 0x14], 0xb4ffffff
mov dword [esi + 4], ebx
call fcn.100cab40
mov ebx, dword [esi + 4]
add ebx, 0x14
mov eax, dword [esi + 8]
add eax, 0x18
cmp eax, dword [esi + 0x18]
jne 0x100d3080
lea ecx, [esi + 0x2c]
call fcn.100da460
mov eax, dword [esi + 0x1c]
cmp byte [eax + 0x179], 0
je 0x100d31ef
mov eax, dword [esi + 0x1c]
cmp byte [eax + 0x24c], 0
je 0x100d31ef
mov eax, dword [esi + 0x3c]
vmovss xmm1, dword [0x100f54dc]
vmulss xmm0, xmm1, dword [eax + 0xc]
vmulss xmm1, xmm1, dword [eax + 8]
mov edx, dword [esi + 0x1c]
cmp dword [edx + 0x248], 4
mov eax, 0xb40000ff
mov ecx, 0xb400ff00
cmove ecx, eax
cmp dword [edx + 0x23c], 0
mov eax, 0xb4ff0000
cmovle eax, ecx
vmovss xmm2, dword [0x100f54b0]
vaddss xmm1, xmm1, xmm2
vmovss dword [esi + 8], xmm1
vaddss xmm0, xmm0, xmm2
vmovss dword [esi + 0x1c], xmm0
mov ecx, dword [0x1012d3a0]
mov edx, dword [ecx]
mov edx, dword [edx + 0x38]
mov dword [esi + 0x328], 0xffffffff
push eax
call edx
mov ecx, dword [0x1012d3a0]
vmovss xmm0, dword [0x100f551c]
vmovss xmm3, dword [esi + 0x1c]
vaddss xmm1, xmm3, xmm0
vmovss xmm2, dword [esi + 8]
vaddss xmm0, xmm2, xmm0
mov eax, dword [ecx]
mov dword [esi + 4], eax
vcvttss2si edx, xmm1
vcvttss2si edi, xmm0
vcvttss2si ebx, xmm3
vcvttss2si eax, xmm2
push edx
push edi
push ebx
push eax
mov eax, dword [esi + 4]
call dword [eax + 0x40]
mov eax, dword [esi + 0x320]
mov dword fs:[0], eax
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov byte [0x10132d24], 1
mov ecx, eax
mov eax, dword [0x1012d370]
mov eax, dword [eax + 0x16c]
mov dword [0x10132d20], eax
mov eax, ecx
jmp 0x100d176a
mov dword [esi + 0x14], ecx
or eax, 1
mov dword [0x1012d494], eax
mov eax, dword [0x1012d324]
mov dword [esi + 0x20], eax
mov dword [esi + 0x328], 8
lea ecx, [esi + 0x48]
mov dword [esi + 4], ecx
push str.CBasePlayer__m_iHealth
call fcn.100083b0
mov eax, dword [esi + 0x58]
mov dword [esi + 8], eax
cmp dword [esi + 0x5c], 0x10
jb 0x100d3262
mov eax, dword [esi + 0x48]
mov dword [esi + 4], eax
cmp dword [esi + 8], 0
je 0x100d32f1
mov eax, dword [esi + 8]
mov ecx, eax
and ecx, 3
mov dword [esi + 0xc], ecx
cmp eax, 4
jae 0x100d32f8
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x100d3342
mov dword [esi + 0x14], ecx
or eax, 1
mov dword [0x1012d49c], eax
mov eax, dword [0x1012d324]
mov dword [esi + 0x20], eax
mov dword [esi + 0x328], 0xa
lea ecx, [esi + 0x48]
mov dword [esi + 4], ecx
push str.CBasePlayer__m_lifeState
call fcn.100083b0
mov eax, dword [esi + 0x58]
mov dword [esi + 8], eax
cmp dword [esi + 0x5c], 0x10
jb 0x100d32c7
mov eax, dword [esi + 0x48]
mov dword [esi + 4], eax
cmp dword [esi + 8], 0
je 0x100d33c9
mov eax, dword [esi + 8]
mov ecx, eax
and ecx, 3
mov dword [esi + 0xc], ecx
cmp eax, 4
jae 0x100d33d0
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x100d341a
mov ecx, 0x811c9dc5
jmp 0x100d335f
mov edi, dword [esi + 8]
and edi, 0xfffffffc
mov ecx, 0x811c9dc5
xor edx, edx
mov eax, dword [esi + 4]
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 0x100d3308
cmp dword [esi + 0xc], 0
je 0x100d335f
add edx, dword [esi + 4]
xor edi, edi
movzx ebx, byte [edx + edi]
xor ebx, ecx
imul ecx, ebx, 0x1000193
inc edi
cmp dword [esi + 0xc], edi
jne 0x100d334d
mov edx, dword [esi + 0x20]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov ebx, dword [eax + ecx*8 + 4]
cmp ebx, dword [edx + 4]
je 0x100d3e38
add ecx, ecx
mov edi, dword [eax + ecx*4]
mov eax, dword [esi + 8]
cmp eax, dword [ebx + 0x18]
jne 0x100d33a3
cmp dword [ebx + 0x1c], 0x10
jb 0x100d338d
mov eax, dword [ebx + 8]
jmp 0x100d3390
lea eax, [ebx + 8]
push dword [esi + 8]
push eax
push dword [esi + 4]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x100d33b0
cmp ebx, edi
je 0x100d3e38
mov ebx, dword [ebx + 4]
jmp 0x100d337a
add ebx, 0x20
lea ecx, [esi + 0x48]
call fcn.100029d0
mov dword [0x1012d490], ebx
mov ecx, dword [esi + 0x14]
jmp 0x100d2079
mov ecx, 0x811c9dc5
jmp 0x100d3437
mov edi, dword [esi + 8]
and edi, 0xfffffffc
mov ecx, 0x811c9dc5
xor edx, edx
mov eax, dword [esi + 4]
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 0x100d33e0
cmp dword [esi + 0xc], 0
je 0x100d3437
add edx, dword [esi + 4]
xor edi, edi
movzx ebx, byte [edx + edi]
xor ebx, ecx
imul ecx, ebx, 0x1000193
inc edi
cmp dword [esi + 0xc], edi
jne 0x100d3425
mov edx, dword [esi + 0x20]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov ebx, dword [eax + ecx*8 + 4]
cmp ebx, dword [edx + 4]
je 0x100d3e4f
add ecx, ecx
mov edi, dword [eax + ecx*4]
mov eax, dword [esi + 8]
cmp eax, dword [ebx + 0x18]
jne 0x100d347b
cmp dword [ebx + 0x1c], 0x10
jb 0x100d3465
mov eax, dword [ebx + 8]
jmp 0x100d3468
lea eax, [ebx + 8]
push dword [esi + 8]
push eax
push dword [esi + 4]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x100d3488
cmp ebx, edi
je 0x100d3e4f
mov ebx, dword [ebx + 4]
jmp 0x100d3452
add ebx, 0x20
lea ecx, [esi + 0x48]
call fcn.100029d0
mov dword [0x1012d498], ebx
mov ecx, dword [esi + 0x14]
jmp 0x100d2099
or eax, 1
mov dword [0x10132d84], eax
mov eax, dword [0x1012d324]
mov dword [esi + 0x14], eax
mov dword [esi + 0x328], 0xc
lea ecx, [esi + 0x48]
mov dword [esi + 0x10], ecx
push str.CPlantedC4__m_bBombTicking
call fcn.100083b0
mov eax, dword [esi + 0x58]
mov dword [esi + 4], eax
cmp dword [esi + 0x5c], 0x10
jb 0x100d34dd
mov eax, dword [esi + 0x48]
mov dword [esi + 0x10], eax
cmp dword [esi + 4], 0
je 0x100d3716
mov eax, dword [esi + 4]
mov ecx, eax
and ecx, 3
mov dword [esi + 0xc], ecx
cmp eax, 4
jae 0x100d371d
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x100d3767
mov dword [esi + 0x14], edx
or eax, 1
mov dword [0x10132ba8], eax
mov eax, dword [0x1012d324]
mov dword [esi + 0x20], eax
mov dword [esi + 0x328], 0xe
lea ecx, [esi + 0x48]
mov dword [esi + 0x10], ecx
push str.CBaseEntity__m_vecOrigin
call fcn.100083b0
mov eax, dword [esi + 0x58]
mov dword [esi + 4], eax
cmp dword [esi + 0x5c], 0x10
jb 0x100d3546
mov eax, dword [esi + 0x48]
mov dword [esi + 0x10], eax
cmp dword [esi + 4], 0
je 0x100d3854
mov eax, dword [esi + 4]
mov ecx, eax
and ecx, 3
mov dword [esi + 0xc], ecx
cmp eax, 4
jae 0x100d3886
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x100d38d0
mov dword [esi + 0x24], edi
mov dword [esi + 0x14], edx
or eax, 1
mov dword [0x10132ba8], eax
mov eax, dword [0x1012d324]
mov dword [esi + 0x20], eax
mov dword [esi + 0x328], 0x10
lea ecx, [esi + 0x48]
mov dword [esi + 0x10], ecx
push str.CBaseEntity__m_vecOrigin
call fcn.100083b0
mov eax, dword [esi + 0x58]
mov dword [esi + 4], eax
cmp dword [esi + 0x5c], 0x10
jb 0x100d35b2
mov eax, dword [esi + 0x48]
mov dword [esi + 0x10], eax
cmp dword [esi + 4], 0
je 0x100d385e
mov eax, dword [esi + 4]
mov ecx, eax
and ecx, 3
mov dword [esi + 0xc], ecx
cmp eax, 4
jae 0x100d395c
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x100d39a6
mov dword [esi + 0x20], ecx
or eax, 1
mov dword [0x1012d494], eax
mov eax, dword [0x1012d324]
mov dword [esi + 0x14], eax
mov dword [esi + 0x328], 0x12
lea ecx, [esi + 0x48]
mov dword [esi + 0x10], ecx
push str.CBasePlayer__m_iHealth
call fcn.100083b0
mov eax, dword [esi + 0x58]
mov dword [esi + 4], eax
cmp dword [esi + 0x5c], 0x10
jb 0x100d361b
mov eax, dword [esi + 0x48]
mov dword [esi + 0x10], eax
cmp dword [esi + 4], 0
je 0x100d3868
mov eax, dword [esi + 4]
mov ecx, eax
and ecx, 3
mov dword [esi + 0xc], ecx
cmp eax, 4
jae 0x100d3a3d
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x100d3a87
or eax, 1
mov dword [0x10132d8c], eax
mov eax, dword [0x1012d324]
mov dword [esi + 0x14], eax
mov dword [esi + 0x328], 0x15
lea ecx, [esi + 0x48]
mov dword [esi + 0x10], ecx
push str.CPlantedC4__m_flC4Blow
call fcn.100083b0
mov eax, dword [esi + 0x58]
mov dword [esi + 4], eax
cmp dword [esi + 0x5c], 0x10
jb 0x100d3681
mov eax, dword [esi + 0x48]
mov dword [esi + 0x10], eax
cmp dword [esi + 4], 0
je 0x100d3872
mov eax, dword [esi + 4]
mov ecx, eax
and ecx, 3
mov dword [esi + 0xc], ecx
cmp eax, 4
jae 0x100d3b0e
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x100d3b58
vmovss dword [esi + 0x20], xmm0
or eax, 1
mov dword [0x10132d94], eax
mov eax, dword [0x1012d324]
mov dword [esi + 0x14], eax
mov dword [esi + 0x328], 0x17
lea ecx, [esi + 0x48]
mov dword [esi + 0x10], ecx
push str.CPlantedC4__m_nBombSite
call fcn.100083b0
mov eax, dword [esi + 0x58]
mov dword [esi + 4], eax
cmp dword [esi + 0x5c], 0x10
jb 0x100d36ec
mov eax, dword [esi + 0x48]
mov dword [esi + 0x10], eax
cmp dword [esi + 4], 0
je 0x100d387c
mov eax, dword [esi + 4]
mov ecx, eax
and ecx, 3
mov dword [esi + 0xc], ecx
cmp eax, 4
jae 0x100d3bdc
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x100d3c26
mov ecx, 0x811c9dc5
jmp 0x100d3784
mov edi, dword [esi + 4]
and edi, 0xfffffffc
mov ecx, 0x811c9dc5
xor edx, edx
mov eax, dword [esi + 0x10]
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 0x100d372d
cmp dword [esi + 0xc], 0
je 0x100d3784
add edx, dword [esi + 0x10]
xor edi, edi
movzx ebx, byte [edx + edi]
xor ebx, ecx
imul ecx, ebx, 0x1000193
inc edi
cmp dword [esi + 0xc], edi
jne 0x100d3772
mov edx, dword [esi + 0x14]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov ebx, dword [eax + ecx*8 + 4]
cmp ebx, dword [edx + 4]
je 0x100d3e66
add ecx, ecx
mov edi, dword [eax + ecx*4]
mov eax, dword [esi + 4]
cmp eax, dword [ebx + 0x18]
jne 0x100d37c8
cmp dword [ebx + 0x1c], 0x10
jb 0x100d37b2
mov eax, dword [ebx + 8]
jmp 0x100d37b5
lea eax, [ebx + 8]
push dword [esi + 4]
push eax
push dword [esi + 0x10]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x100d37d5
cmp ebx, edi
je 0x100d3e66
mov ebx, dword [ebx + 4]
jmp 0x100d379f
add ebx, 0x20
lea ecx, [esi + 0x48]
call fcn.100029d0
mov dword [0x10132d80], ebx
jmp 0x100d2231
mov dword [esi + 0x14], ecx
or eax, 1
mov dword [0x10132c18], eax
mov eax, dword [0x1012d324]
mov dword [esi + 0xc], eax
mov dword [esi + 0x328], 0x1b
lea ecx, [esi + 0x48]
mov dword [esi + 0x18], ecx
push str.CBasePlayer__m_vecVelocity_0_
call fcn.100083b0
mov eax, dword [esi + 0x58]
mov dword [esi + 4], eax
cmp dword [esi + 0x5c], 0x10
jb 0x100d382a
mov eax, dword [esi + 0x48]
mov dword [esi + 0x18], eax
cmp dword [esi + 4], 0
je 0x100d3cbf
mov eax, dword [esi + 4]
mov ecx, eax
and ecx, 3
mov dword [esi + 0x10], ecx
cmp eax, 4
jae 0x100d3cc6
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x100d3d10
mov ecx, 0x811c9dc5
jmp 0x100d38ed
mov ecx, 0x811c9dc5
jmp 0x100d39c3
mov ecx, 0x811c9dc5
jmp 0x100d3aa4
mov ecx, 0x811c9dc5
jmp 0x100d3b75
mov ecx, 0x811c9dc5
jmp 0x100d3c43
mov edi, dword [esi + 4]
and edi, 0xfffffffc
mov ecx, 0x811c9dc5
xor edx, edx
mov eax, dword [esi + 0x10]
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 0x100d3896
cmp dword [esi + 0xc], 0
je 0x100d38ed
add edx, dword [esi + 0x10]
xor edi, edi
movzx ebx, byte [edx + edi]
xor ebx, ecx
imul ecx, ebx, 0x1000193
inc edi
cmp dword [esi + 0xc], edi
jne 0x100d38db
mov edx, dword [esi + 0x20]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov ebx, dword [eax + ecx*8 + 4]
cmp ebx, dword [edx + 4]
je 0x100d3e7d
add ecx, ecx
mov edi, dword [eax + ecx*4]
mov eax, dword [esi + 4]
cmp eax, dword [ebx + 0x18]
jne 0x100d3931
cmp dword [ebx + 0x1c], 0x10
jb 0x100d391b
mov eax, dword [ebx + 8]
jmp 0x100d391e
lea eax, [ebx + 8]
push dword [esi + 4]
push eax
push dword [esi + 0x10]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x100d393e
cmp ebx, edi
je 0x100d3e7d
mov ebx, dword [ebx + 4]
jmp 0x100d3908
add ebx, 0x20
lea ecx, [esi + 0x48]
call fcn.100029d0
mov dword [0x10132ba4], ebx
mov eax, dword [0x10132ba8]
mov edx, dword [esi + 0x14]
jmp 0x100d226b
mov edi, dword [esi + 4]
and edi, 0xfffffffc
mov ecx, 0x811c9dc5
xor edx, edx
mov eax, dword [esi + 0x10]
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 0x100d396c
cmp dword [esi + 0xc], 0
je 0x100d39c3
add edx, dword [esi + 0x10]
xor edi, edi
movzx ebx, byte [edx + edi]
xor ebx, ecx
imul ecx, ebx, 0x1000193
inc edi
cmp dword [esi + 0xc], edi
jne 0x100d39b1
mov edx, dword [esi + 0x20]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov ebx, dword [eax + ecx*8 + 4]
cmp ebx, dword [edx + 4]
je 0x100d3e94
add ecx, ecx
mov edi, dword [eax + ecx*4]
mov eax, dword [esi + 4]
cmp eax, dword [ebx + 0x18]
jne 0x100d3a07
cmp dword [ebx + 0x1c], 0x10
jb 0x100d39f1
mov eax, dword [ebx + 8]
jmp 0x100d39f4
lea eax, [ebx + 8]
push dword [esi + 4]
push eax
push dword [esi + 0x10]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x100d3a14
cmp ebx, edi
je 0x100d3e94
mov ebx, dword [ebx + 4]
jmp 0x100d39de
lea edi, [ebx + 0x20]
lea ecx, [esi + 0x48]
call fcn.100029d0
mov dword [0x10132ba4], edi
mov ecx, dword [ebx + 0x24]
mov dword [esi + 0x328], 0xffffffff
mov edx, dword [esi + 0x14]
mov edi, dword [esi + 0x24]
jmp 0x100d2278
mov edi, dword [esi + 4]
and edi, 0xfffffffc
mov ecx, 0x811c9dc5
xor edx, edx
mov eax, dword [esi + 0x10]
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 0x100d3a4d
cmp dword [esi + 0xc], 0
je 0x100d3aa4
add edx, dword [esi + 0x10]
xor edi, edi
movzx ebx, byte [edx + edi]
xor ebx, ecx
imul ecx, ebx, 0x1000193
inc edi
cmp dword [esi + 0xc], edi
jne 0x100d3a92
mov edx, dword [esi + 0x14]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov ebx, dword [eax + ecx*8 + 4]
cmp ebx, dword [edx + 4]
je 0x100d3eab
add ecx, ecx
mov edi, dword [eax + ecx*4]
mov eax, dword [esi + 4]
cmp eax, dword [ebx + 0x18]
jne 0x100d3ae8
cmp dword [ebx + 0x1c], 0x10
jb 0x100d3ad2
mov eax, dword [ebx + 8]
jmp 0x100d3ad5
lea eax, [ebx + 8]
push dword [esi + 4]
push eax
push dword [esi + 0x10]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x100d3af5
cmp ebx, edi
je 0x100d3eab
mov ebx, dword [ebx + 4]
jmp 0x100d3abf
add ebx, 0x20
lea ecx, [esi + 0x48]
call fcn.100029d0
mov dword [0x1012d490], ebx
mov ecx, dword [esi + 0x20]
jmp 0x100d2330
mov edi, dword [esi + 4]
and edi, 0xfffffffc
mov ecx, 0x811c9dc5
xor edx, edx
mov eax, dword [esi + 0x10]
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 0x100d3b1e
cmp dword [esi + 0xc], 0
je 0x100d3b75
add edx, dword [esi + 0x10]
xor edi, edi
movzx ebx, byte [edx + edi]
xor ebx, ecx
imul ecx, ebx, 0x1000193
inc edi
cmp dword [esi + 0xc], edi
jne 0x100d3b63
mov edx, dword [esi + 0x14]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov ebx, dword [eax + ecx*8 + 4]
cmp ebx, dword [edx + 4]
je 0x100d3ec2
add ecx, ecx
mov edi, dword [eax + ecx*4]
mov eax, dword [esi + 4]
cmp eax, dword [ebx + 0x18]
jne 0x100d3bb9
cmp dword [ebx + 0x1c], 0x10
jb 0x100d3ba3
mov eax, dword [ebx + 8]
jmp 0x100d3ba6
lea eax, [ebx + 8]
push dword [esi + 4]
push eax
push dword [esi + 0x10]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x100d3bc6
cmp ebx, edi
je 0x100d3ec2
mov ebx, dword [ebx + 4]
jmp 0x100d3b90
add ebx, 0x20
lea ecx, [esi + 0x48]
call fcn.100029d0
mov dword [0x10132d88], ebx
jmp 0x100d2487
mov edi, dword [esi + 4]
and edi, 0xfffffffc
mov ecx, 0x811c9dc5
xor edx, edx
mov eax, dword [esi + 0x10]
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 0x100d3bec
cmp dword [esi + 0xc], 0
je 0x100d3c43
add edx, dword [esi + 0x10]
xor edi, edi
movzx ebx, byte [edx + edi]
xor ebx, ecx
imul ecx, ebx, 0x1000193
inc edi
cmp dword [esi + 0xc], edi
jne 0x100d3c31
mov edx, dword [esi + 0x14]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov ebx, dword [eax + ecx*8 + 4]
cmp ebx, dword [edx + 4]
je 0x100d3ed9
add ecx, ecx
mov edi, dword [eax + ecx*4]
mov eax, dword [esi + 4]
cmp eax, dword [ebx + 0x18]
jne 0x100d3c87
cmp dword [ebx + 0x1c], 0x10
jb 0x100d3c71
mov eax, dword [ebx + 8]
jmp 0x100d3c74
lea eax, [ebx + 8]
push dword [esi + 4]
push eax
push dword [esi + 0x10]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x100d3c94
cmp ebx, edi
je 0x100d3ed9
mov ebx, dword [ebx + 4]
jmp 0x100d3c5e
add ebx, 0x20
lea ecx, [esi + 0x48]
call fcn.100029d0
mov dword [0x10132d90], ebx
mov dword [esi + 0x328], 0x19
vmovss xmm0, dword [esi + 0x20]
jmp 0x100d24b9
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
mov ecx, 0x811c9dc5
jmp 0x100d3d2d
mov edi, dword [esi + 4]
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 0x100d3cd6
cmp dword [esi + 0x10], 0
je 0x100d3d2d
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 + 0x10], edi
jne 0x100d3d1b
mov edx, dword [esi + 0xc]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov ebx, dword [eax + ecx*8 + 4]
cmp ebx, dword [edx + 4]
je 0x100d3ef0
add ecx, ecx
mov edi, dword [eax + ecx*4]
mov eax, dword [esi + 4]
cmp eax, dword [ebx + 0x18]
jne 0x100d3d71
cmp dword [ebx + 0x1c], 0x10
jb 0x100d3d5b
mov eax, dword [ebx + 8]
jmp 0x100d3d5e
lea eax, [ebx + 8]
push dword [esi + 4]
push eax
push dword [esi + 0x18]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x100d3d7e
cmp ebx, edi
je 0x100d3ef0
mov ebx, dword [ebx + 4]
jmp 0x100d3d48
add ebx, 0x20
lea ecx, [esi + 0x48]
call fcn.100029d0
mov dword [0x10132c14], ebx
mov ecx, dword [esi + 0x14]
jmp 0x100d2a34
mov dword [esi + 0x328], 7
push 0x1011ed9d
call sub.MSVCP140.dll_void___cdecl_std::_Xout_of_range_char_const__
add esp, 4
mov dword [esi + 0x328], 5
push 0x1011ed9d
call sub.MSVCP140.dll_void___cdecl_std::_Xout_of_range_char_const__
add esp, 4
mov dword [esi + 0x328], 3
push 0x1011ed9d
call sub.MSVCP140.dll_void___cdecl_std::_Xout_of_range_char_const__
add esp, 4
mov dword [esi + 0x328], 1
push 0x1011ed9d
call sub.MSVCP140.dll_void___cdecl_std::_Xout_of_range_char_const__
add esp, 4
mov dword [esi + 0x328], 0x23
push 0x1011ed9d
call sub.MSVCP140.dll_void___cdecl_std::_Xout_of_range_char_const__
add esp, 4
mov dword [esi + 0x328], 0x21
push 0x1011ed9d
call sub.MSVCP140.dll_void___cdecl_std::_Xout_of_range_char_const__
add esp, 4
mov dword [esi + 0x328], 0x1f
push 0x1011ed9d
call sub.MSVCP140.dll_void___cdecl_std::_Xout_of_range_char_const__
add esp, 4
mov dword [esi + 0x328], 9
push 0x1011ed9d
call sub.MSVCP140.dll_void___cdecl_std::_Xout_of_range_char_const__
add esp, 4
mov dword [esi + 0x328], 0xb
push 0x1011ed9d
call sub.MSVCP140.dll_void___cdecl_std::_Xout_of_range_char_const__
add esp, 4
mov dword [esi + 0x328], 0xd
push 0x1011ed9d
call sub.MSVCP140.dll_void___cdecl_std::_Xout_of_range_char_const__
add esp, 4
mov dword [esi + 0x328], 0xf
push 0x1011ed9d
call sub.MSVCP140.dll_void___cdecl_std::_Xout_of_range_char_const__
add esp, 4
mov dword [esi + 0x328], 0x11
push 0x1011ed9d
call sub.MSVCP140.dll_void___cdecl_std::_Xout_of_range_char_const__
add esp, 4
mov dword [esi + 0x328], 0x13
push 0x1011ed9d
call sub.MSVCP140.dll_void___cdecl_std::_Xout_of_range_char_const__
add esp, 4
mov dword [esi + 0x328], 0x16
push 0x1011ed9d
call sub.MSVCP140.dll_void___cdecl_std::_Xout_of_range_char_const__
add esp, 4
mov dword [esi + 0x328], 0x18
push 0x1011ed9d
call sub.MSVCP140.dll_void___cdecl_std::_Xout_of_range_char_const__
add esp, 4
mov dword [esi + 0x328], 0x1c
push 0x1011ed9d
call sub.MSVCP140.dll_void___cdecl_std::_Xout_of_range_char_const__
add esp, 4
nop word [eax + eax]
push ebp
sub esp, 0x1c
lea esi, [ebp - 0x32c]
mov ebp, dword [esi + 0x318]
lea ecx, [esi + 0x48]
call fcn.100029d0
add esp, 0x1c
pop ebp
ret