Function at 0x100b9ef0
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
push ebp
push ebx
push edi
push esi
mov eax, 0x3038
call fcn.100d8110
mov eax, dword [0x1017f528]
xor eax, esp
mov dword [esp + 0x3034], eax
mov eax, dword [0x1017f608]
mov bl, 1
cmp dword [eax], 0
je 0x100bae6e
mov edi, ecx
mov ecx, dword [0x1017f614]
mov eax, dword [ecx]
call dword [eax + 0x68]
test al, al
je 0x100bae6e
mov eax, dword [esp + 0x304c]
mov ecx, dword [eax + 0x250]
test ecx, ecx
je 0x100b9f54
mov eax, dword [ecx]
call dword [eax]
cmp dword [eax + 4], 0x776f6c67
jne 0x100b9f6c
jmp 0x100bae6e
mov eax, dword [eax + 0x260]
cmp eax, 2
je 0x100bae6e
cmp eax, 4
je 0x100bae6e
mov eax, dword [esp + 0x3058]
mov esi, dword [eax + 0x18]
test esi, esi
je 0x100bae6e
cmp dword [eax], 0
je 0x100bae6e
cmp byte [edi + 0x2f0], 0
jne 0x100bae6e
mov eax, esi
add eax, 0xfffffffc
mov dword [esp + 0x20], eax
je 0x100bae6e
mov eax, dword [esi + 4]
add esi, 4
mov ecx, esi
call dword [eax + 8]
test eax, eax
je 0x100bae6e
mov dword [esp + 0xc], eax
mov dword [esp + 0x2c], esi
mov esi, dword [0x1017f618]
mov eax, dword [0x10185028]
test al, 1
je 0x100ba34f
mov ebp, dword [0x10185024]
mov eax, dword [ebp + 4]
mov edx, dword [esi]
mov ecx, esi
mov esi, dword [esp + 0x20]
push dword [eax + esi]
call dword [edx + 0x10]
test eax, eax
mov dword [esp + 0x14], eax
je 0x100ba017
mov esi, eax
add esi, 8
mov eax, dword [eax + 8]
mov ecx, esi
call dword [eax + 0x28]
test eax, eax
mov ebp, dword [esp + 0x304c]
jle 0x100ba022
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x28]
cmp eax, 0x41
setl dl
jmp 0x100ba024
xor edx, edx
mov ebp, dword [esp + 0x304c]
jmp 0x100ba024
xor edx, edx
mov esi, dword [esp + 0x3058]
mov eax, dword [esi]
mov ecx, dword [eax + 0x1a]
cmp byte [edi + 0x1e4], 0
je 0x100ba104
cmp ecx, 0x79616c70
mov dword [esp + 8], ecx
mov dword [esp + 0x18], edx
jne 0x100ba0aa
mov eax, dword [0x10184e24]
test al, 1
je 0x100ba3bd
mov esi, dword [0x10184e20]
mov ecx, dword [esi + 4]
mov edx, dword [esp + 0x20]
mov ebp, dword [ecx + edx]
mov edx, dword [0x1017f608]
mov esi, dword [edx]
test al, 1
je 0x100ba422
cmp ebp, dword [ecx + esi]
mov esi, dword [esp + 0x3058]
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 8]
mov ebp, dword [esp + 0x304c]
jne 0x100ba0aa
mov eax, dword [0x1017f608]
mov ecx, dword [esp + 0x20]
cmp dword [eax], ecx
mov ecx, dword [esp + 8]
jne 0x100bae6c
test dl, dl
je 0x100ba104
mov eax, dword [0x10184e24]
test al, 1
je 0x100ba56e
mov esi, dword [0x10184e20]
mov ecx, dword [esi + 4]
mov edx, dword [esp + 0x14]
mov esi, dword [ecx + edx]
mov edx, dword [0x1017f608]
mov edx, dword [edx]
test al, 1
je 0x100ba5d3
cmp esi, dword [ecx + edx]
mov esi, dword [esp + 0x3058]
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 8]
jne 0x100ba104
mov eax, dword [0x1017f608]
mov ecx, dword [esp + 0x14]
cmp ecx, dword [eax]
mov ecx, dword [esp + 8]
jne 0x100bae6c
cmp byte [edi + 0x1e5], 0
je 0x100ba11b
mov eax, dword [esp + 0xc]
cmp dword [eax + 0x14], 0x2a
je 0x100bae6c
cmp ecx, 0x79616c70
jne 0x100ba22a
cmp byte [edi + 0x9b], 0
jne 0x100ba13e
mov eax, dword [esp + 0xc]
cmp dword [eax + 0x14], 0x2a
je 0x100bae6e
mov eax, dword [0x10184e24]
test al, 1
je 0x100ba639
mov esi, dword [0x10184e20]
mov ecx, dword [esi + 4]
mov edx, dword [esp + 0x20]
mov esi, dword [ecx + edx]
mov edx, dword [0x1017f608]
mov edx, dword [edx]
test al, 1
je 0x100ba6a1
cmp esi, dword [ecx + edx]
jne 0x100bacb5
mov eax, dword [0x1017f608]
mov ecx, dword [esp + 0x20]
cmp dword [eax], ecx
mov esi, dword [esp + 0x3058]
je 0x100ba2ac
cmp byte [edi + 0x97], 0
je 0x100ba20a
vmovups xmm0, xmmword [edi + 0xfc]
mov eax, dword [edi + 0xa8]
sub esp, 0x18
vmovups xmmword [esp + 8], xmm0
mov dword [esp], eax
mov dword [esp + 4], 1
call fcn.100ad9f0
mov ecx, ebp
mov edx, dword [esp + 0x3050]
push dword [esp + 0x306c]
push dword [esp + 0x306c]
push dword [esp + 0x306c]
push dword [esp + 0x306c]
push dword [esp + 0x306c]
push esi
push dword [esp + 0x306c]
call dword [0x1017f688]
mov ecx, dword [0x1017f640]
mov eax, dword [ecx]
push 0
push 0
push 0
call dword [eax + 0x84]
cmp byte [edi + 0x96], 0
je 0x100bae6e
vmovups xmm0, xmmword [edi + 0xec]
mov eax, dword [edi + 0xa8]
jmp 0x100bae05
mov eax, dword [esi]
cmp dword [eax + 0x1d], 0x736d7261
jne 0x100ba255
cmp byte [edi + 0x9c], 0
je 0x100bae6e
vmovups xmm0, xmmword [edi + 0x13c]
mov eax, dword [edi + 0xc0]
jmp 0x100bae05
cmp dword [eax + 0xc], 0x70616577
jne 0x100ba284
cmp byte [eax + 0x14], 0x76
jne 0x100ba284
cmp byte [edi + 0x9d], 0
je 0x100bae6e
vmovups xmm0, xmmword [edi + 0x14c]
mov eax, dword [edi + 0xc4]
jmp 0x100bae05
test dl, dl
je 0x100bae6e
cmp byte [edi + 0x9e], 0
je 0x100bae6e
vmovups xmm0, xmmword [edi + 0x15c]
mov eax, dword [edi + 0xbc]
jmp 0x100bae05
cmp byte [edi + 0x99], 0
je 0x100ba32f
vmovups xmm0, xmmword [edi + 0x11c]
mov eax, dword [edi + 0xb0]
sub esp, 0x18
vmovups xmmword [esp + 8], xmm0
mov dword [esp], eax
mov dword [esp + 4], 0
call fcn.100ad9f0
mov eax, 0x6014
add eax, dword [0x1017f5d4]
mov ecx, ebp
mov edx, dword [esp + 0x3050]
push dword [esp + 0x306c]
push dword [esp + 0x306c]
push dword [esp + 0x306c]
push dword [esp + 0x306c]
push eax
push esi
push dword [esp + 0x306c]
call dword [0x1017f688]
mov ecx, dword [0x1017f640]
mov eax, dword [ecx]
push 0
push 0
push 0
call dword [eax + 0x84]
cmp byte [edi + 0x98], 0
je 0x100bae6e
vmovups xmm0, xmmword [edi + 0x10c]
mov eax, dword [edi + 0xac]
jmp 0x100bae05
or eax, 1
mov dword [0x10185028], eax
mov eax, dword [0x1017f5c4]
mov dword [esp + 4], eax
lea ecx, [esp + 0x30]
mov dword [esp + 0x18], ecx
push str.CBaseEntity__moveparent
call fcn.10005ce0
mov eax, dword [esp + 0x40]
mov dword [esp + 8], eax
cmp dword [esp + 0x44], 0x10
jb 0x100ba389
mov eax, dword [esp + 0x30]
mov dword [esp + 0x18], eax
cmp dword [esp + 8], 0
je 0x100ba3b3
mov eax, dword [esp + 8]
lea ecx, [eax - 1]
and eax, 3
mov dword [esp + 0x14], eax
cmp ecx, 3
jae 0x100ba48b
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x100ba4dc
mov ecx, 0x811c9dc5
jmp 0x100ba4fc
or eax, 1
mov dword [0x10184e24], eax
mov eax, dword [0x1017f5c4]
mov dword [esp + 0x1c], eax
lea ecx, [esp + 0x30]
mov dword [esp + 4], ecx
push str.CBaseEntity__m_iTeamNum
call fcn.10005ce0
mov eax, dword [esp + 0x40]
mov dword [esp], eax
cmp dword [esp + 0x44], 0x10
jb 0x100ba3f6
mov eax, dword [esp + 0x30]
mov dword [esp + 4], eax
cmp dword [esp], 0
je 0x100ba707
mov eax, dword [esp]
lea ecx, [eax - 1]
and eax, 3
mov dword [esp + 0x10], eax
cmp ecx, 3
jae 0x100ba72f
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x100ba77a
mov dword [esp + 0x24], ebp
or eax, 1
mov dword [0x10184e24], eax
mov eax, dword [0x1017f5c4]
mov dword [esp + 0x28], eax
lea ecx, [esp + 0x30]
mov dword [esp + 0x10], ecx
push str.CBaseEntity__m_iTeamNum
call fcn.10005ce0
mov eax, dword [esp + 0x40]
mov dword [esp], eax
cmp dword [esp + 0x44], 0x10
jb 0x100ba45f
mov eax, dword [esp + 0x30]
mov dword [esp + 0x10], eax
cmp dword [esp], 0
je 0x100ba711
mov eax, dword [esp]
lea ecx, [eax - 1]
and eax, 3
mov dword [esp + 4], eax
cmp ecx, 3
jae 0x100ba809
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x100ba85b
mov eax, dword [esp + 8]
and eax, 0xfffffffc
mov dword [esp], eax
mov ecx, 0x811c9dc5
xor edx, edx
mov ebp, dword [esp + 0x18]
movzx eax, byte [ebp + edx]
xor eax, ecx
imul eax, eax, 0x1000193
movzx ecx, byte [ebp + edx + 1]
xor ecx, eax
imul eax, ecx, 0x1000193
movzx ecx, byte [ebp + edx + 2]
xor ecx, eax
imul eax, ecx, 0x1000193
movzx ecx, byte [ebp + edx + 3]
xor ecx, eax
imul ecx, ecx, 0x1000193
add edx, 4
cmp dword [esp], edx
jne 0x100ba4a0
cmp dword [esp + 0x14], 0
je 0x100ba4fc
add edx, dword [esp + 0x18]
xor ebp, ebp
movzx eax, byte [edx + ebp]
xor eax, ecx
imul ecx, eax, 0x1000193
inc ebp
cmp dword [esp + 0x14], ebp
jne 0x100ba4e9
mov edx, dword [esp + 4]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov ebp, dword [eax + ecx*8 + 4]
cmp ebp, dword [edx + 4]
je 0x100bae8b
add ecx, ecx
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 8]
cmp eax, dword [ebp + 0x18]
jne 0x100ba548
cmp dword [ebp + 0x1c], 0x10
jb 0x100ba530
mov eax, dword [ebp + 8]
jmp 0x100ba533
lea eax, [ebp + 8]
push dword [esp + 8]
push eax
push dword [esp + 0x20]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x100ba557
cmp ebp, dword [esp + 0x14]
je 0x100bae8b
mov ebp, dword [ebp + 4]
jmp 0x100ba51c
add ebp, 0x20
lea ecx, [esp + 0x30]
call fcn.100026e0
mov dword [0x10185024], ebp
jmp 0x100b9fd7
or eax, 1
mov dword [0x10184e24], eax
mov eax, dword [0x1017f5c4]
mov dword [esp + 0x1c], eax
lea ecx, [esp + 0x30]
mov dword [esp + 4], ecx
push str.CBaseEntity__m_iTeamNum
call fcn.10005ce0
mov eax, dword [esp + 0x40]
mov dword [esp], eax
cmp dword [esp + 0x44], 0x10
jb 0x100ba5a7
mov eax, dword [esp + 0x30]
mov dword [esp + 4], eax
cmp dword [esp], 0
je 0x100ba71b
mov eax, dword [esp]
lea ecx, [eax - 1]
and eax, 3
mov dword [esp + 0x10], eax
cmp ecx, 3
jae 0x100ba90b
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x100ba956
mov dword [esp + 0x24], edx
mov dword [esp + 0x28], esi
or eax, 1
mov dword [0x10184e24], eax
mov eax, dword [0x1017f5c4]
mov dword [esp + 0x1c], eax
lea ecx, [esp + 0x30]
mov dword [esp + 4], ecx
push str.CBaseEntity__m_iTeamNum
call fcn.10005ce0
mov esi, dword [esp + 0x40]
cmp dword [esp + 0x44], 0x10
jb 0x100ba611
mov eax, dword [esp + 0x30]
mov dword [esp + 4], eax
test esi, esi
je 0x100ba725
mov eax, esi
lea ecx, [esi - 1]
and eax, 3
mov dword [esp], eax
cmp ecx, 3
jae 0x100ba9ec
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x100baa3d
or eax, 1
mov dword [0x10184e24], eax
mov eax, dword [0x1017f5c4]
mov dword [esp + 0x18], eax
lea ecx, [esp + 0x30]
mov dword [esp + 8], ecx
push str.CBaseEntity__m_iTeamNum
call fcn.10005ce0
mov eax, dword [esp + 0x40]
mov dword [esp + 0xc], eax
cmp dword [esp + 0x44], 0x10
jb 0x100ba673
mov eax, dword [esp + 0x30]
mov dword [esp + 8], eax
cmp dword [esp + 0xc], 0
je 0x100ba8f7
mov eax, dword [esp + 0xc]
lea ecx, [eax - 1]
and eax, 3
mov dword [esp + 0x14], eax
cmp ecx, 3
jae 0x100baadb
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x100bab27
mov dword [esp + 4], edx
mov dword [esp], esi
or eax, 1
mov dword [0x10184e24], eax
mov eax, dword [0x1017f5c4]
mov dword [esp + 0x18], eax
lea ecx, [esp + 0x30]
mov dword [esp + 8], ecx
push str.CBaseEntity__m_iTeamNum
call fcn.10005ce0
mov esi, dword [esp + 0x40]
cmp dword [esp + 0x44], 0x10
jb 0x100ba6de
mov eax, dword [esp + 0x30]
mov dword [esp + 8], eax
test esi, esi
je 0x100ba901
mov eax, esi
lea ecx, [esi - 1]
and eax, 3
mov dword [esp + 0xc], eax
cmp ecx, 3
jae 0x100babbf
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x100bac10
mov ecx, 0x811c9dc5
jmp 0x100ba79a
mov ecx, 0x811c9dc5
jmp 0x100ba87b
mov ecx, 0x811c9dc5
jmp 0x100ba976
mov ecx, 0x811c9dc5
jmp 0x100baa5b
mov esi, dword [esp]
and esi, 0xfffffffc
mov ecx, 0x811c9dc5
xor edx, edx
mov eax, dword [esp + 4]
movzx ebp, byte [eax + edx]
xor ebp, ecx
imul ecx, ebp, 0x1000193
movzx ebp, byte [eax + edx + 1]
xor ebp, ecx
imul ecx, ebp, 0x1000193
movzx ebp, byte [eax + edx + 2]
xor ebp, ecx
imul ecx, ebp, 0x1000193
movzx ebp, byte [eax + edx + 3]
xor ebp, ecx
imul ecx, ebp, 0x1000193
add edx, 4
cmp esi, edx
jne 0x100ba740
cmp dword [esp + 0x10], 0
je 0x100ba79a
add edx, dword [esp + 4]
xor esi, esi
movzx ebp, byte [edx + esi]
xor ebp, ecx
imul ecx, ebp, 0x1000193
inc esi
cmp dword [esp + 0x10], esi
jne 0x100ba787
mov edx, dword [esp + 0x1c]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov esi, dword [eax + ecx*8 + 4]
cmp esi, dword [edx + 4]
je 0x100bae8b
add ecx, ecx
mov ebp, dword [eax + ecx*4]
mov eax, dword [esp]
cmp eax, dword [esi + 0x18]
jne 0x100ba7e0
cmp dword [esi + 0x1c], 0x10
jb 0x100ba7c9
mov eax, dword [esi + 8]
jmp 0x100ba7cc
lea eax, [esi + 8]
push dword [esp]
push eax
push dword [esp + 0xc]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x100ba7ed
cmp esi, ebp
je 0x100bae8b
mov esi, dword [esi + 4]
jmp 0x100ba7b6
add esi, 0x20
lea ecx, [esp + 0x30]
call fcn.100026e0
mov dword [0x10184e20], esi
mov eax, dword [0x10184e24]
jmp 0x100ba060
mov eax, dword [esp]
and eax, 0xfffffffc
mov dword [esp + 0x1c], eax
mov ecx, 0x811c9dc5
xor edx, edx
mov ebp, dword [esp + 0x10]
movzx eax, byte [ebp + edx]
xor eax, ecx
imul eax, eax, 0x1000193
movzx ecx, byte [ebp + edx + 1]
xor ecx, eax
imul eax, ecx, 0x1000193
movzx ecx, byte [ebp + edx + 2]
xor ecx, eax
imul eax, ecx, 0x1000193
movzx ecx, byte [ebp + edx + 3]
xor ecx, eax
imul ecx, ecx, 0x1000193
add edx, 4
cmp dword [esp + 0x1c], edx
jne 0x100ba81e
cmp dword [esp + 4], 0
je 0x100ba87b
add edx, dword [esp + 0x10]
xor ebp, ebp
movzx eax, byte [edx + ebp]
xor eax, ecx
imul ecx, eax, 0x1000193
inc ebp
cmp dword [esp + 4], ebp
jne 0x100ba868
mov edx, dword [esp + 0x28]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov ebp, dword [eax + ecx*8 + 4]
cmp ebp, dword [edx + 4]
je 0x100bae8b
add ecx, ecx
mov eax, dword [eax + ecx*4]
mov dword [esp + 4], eax
mov eax, dword [esp]
cmp eax, dword [ebp + 0x18]
jne 0x100ba8c5
cmp dword [ebp + 0x1c], 0x10
jb 0x100ba8ae
mov eax, dword [ebp + 8]
jmp 0x100ba8b1
lea eax, [ebp + 8]
push dword [esp]
push eax
push dword [esp + 0x18]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x100ba8d4
cmp ebp, dword [esp + 4]
je 0x100bae8b
mov ebp, dword [ebp + 4]
jmp 0x100ba89b
lea eax, [ebp + 0x20]
mov dword [esp], eax
lea ecx, [esp + 0x30]
call fcn.100026e0
mov eax, dword [esp]
mov dword [0x10184e20], eax
mov ecx, dword [ebp + 0x24]
mov ebp, dword [esp + 0x24]
jmp 0x100ba07a
mov ecx, 0x811c9dc5
jmp 0x100bab47
mov ecx, 0x811c9dc5
jmp 0x100bac30
mov esi, dword [esp]
and esi, 0xfffffffc
mov ecx, 0x811c9dc5
xor edx, edx
mov eax, dword [esp + 4]
movzx ebp, byte [eax + edx]
xor ebp, ecx
imul ecx, ebp, 0x1000193
movzx ebp, byte [eax + edx + 1]
xor ebp, ecx
imul ecx, ebp, 0x1000193
movzx ebp, byte [eax + edx + 2]
xor ebp, ecx
imul ecx, ebp, 0x1000193
movzx ebp, byte [eax + edx + 3]
xor ebp, ecx
imul ecx, ebp, 0x1000193
add edx, 4
cmp esi, edx
jne 0x100ba91c
cmp dword [esp + 0x10], 0
je 0x100ba976
add edx, dword [esp + 4]
xor esi, esi
movzx ebp, byte [edx + esi]
xor ebp, ecx
imul ecx, ebp, 0x1000193
inc esi
cmp dword [esp + 0x10], esi
jne 0x100ba963
mov edx, dword [esp + 0x1c]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov esi, dword [eax + ecx*8 + 4]
cmp esi, dword [edx + 4]
je 0x100bae8b
add ecx, ecx
mov ebp, dword [eax + ecx*4]
mov eax, dword [esp]
cmp eax, dword [esi + 0x18]
jne 0x100ba9bc
cmp dword [esi + 0x1c], 0x10
jb 0x100ba9a5
mov eax, dword [esi + 8]
jmp 0x100ba9a8
lea eax, [esi + 8]
push dword [esp]
push eax
push dword [esp + 0xc]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x100ba9c9
cmp esi, ebp
je 0x100bae8b
mov esi, dword [esi + 4]
jmp 0x100ba992
add esi, 0x20
lea ecx, [esp + 0x30]
call fcn.100026e0
mov dword [0x10184e20], esi
mov eax, dword [0x10184e24]
mov ebp, dword [esp + 0x304c]
jmp 0x100ba0c1
mov eax, esi
and eax, 0xfffffffc
mov dword [esp + 0x10], eax
mov ecx, 0x811c9dc5
xor edx, edx
mov ebp, dword [esp + 4]
movzx eax, byte [ebp + edx]
xor eax, ecx
imul eax, eax, 0x1000193
movzx ecx, byte [ebp + edx + 1]
xor ecx, eax
imul eax, ecx, 0x1000193
movzx ecx, byte [ebp + edx + 2]
xor ecx, eax
imul eax, ecx, 0x1000193
movzx ecx, byte [ebp + edx + 3]
xor ecx, eax
imul ecx, ecx, 0x1000193
add edx, 4
cmp dword [esp + 0x10], edx
jne 0x100baa00
cmp dword [esp], 0
je 0x100baa5b
add edx, dword [esp + 4]
xor ebp, ebp
movzx eax, byte [edx + ebp]
xor eax, ecx
imul ecx, eax, 0x1000193
inc ebp
cmp dword [esp], ebp
jne 0x100baa49
mov edx, dword [esp + 0x1c]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov ebp, dword [eax + ecx*8 + 4]
cmp ebp, dword [edx + 4]
je 0x100bae8b
add ecx, ecx
mov eax, dword [eax + ecx*4]
mov dword [esp], eax
cmp esi, dword [ebp + 0x18]
jne 0x100baa9f
cmp dword [ebp + 0x1c], 0x10
jb 0x100baa8a
mov eax, dword [ebp + 8]
jmp 0x100baa8d
lea eax, [ebp + 8]
push esi
push eax
push dword [esp + 0xc]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x100baab2
cmp ebp, dword [esp]
je 0x100bae8b
mov ebp, dword [ebp + 4]
cmp esi, dword [ebp + 0x18]
je 0x100baa7f
jmp 0x100baa9f
lea esi, [ebp + 0x20]
lea ecx, [esp + 0x30]
call fcn.100026e0
mov dword [0x10184e20], esi
mov ecx, dword [ebp + 0x24]
mov ebp, dword [esp + 0x304c]
mov esi, dword [esp + 0x28]
mov edx, dword [esp + 0x24]
jmp 0x100ba0db
mov esi, dword [esp + 0xc]
and esi, 0xfffffffc
mov ecx, 0x811c9dc5
xor edx, edx
mov eax, dword [esp + 8]
movzx ebp, byte [eax + edx]
xor ebp, ecx
imul ecx, ebp, 0x1000193
movzx ebp, byte [eax + edx + 1]
xor ebp, ecx
imul ecx, ebp, 0x1000193
movzx ebp, byte [eax + edx + 2]
xor ebp, ecx
imul ecx, ebp, 0x1000193
movzx ebp, byte [eax + edx + 3]
xor ebp, ecx
imul ecx, ebp, 0x1000193
add edx, 4
cmp esi, edx
jne 0x100baaed
cmp dword [esp + 0x14], 0
je 0x100bab47
add edx, dword [esp + 8]
xor esi, esi
movzx ebp, byte [edx + esi]
xor ebp, ecx
imul ecx, ebp, 0x1000193
inc esi
cmp dword [esp + 0x14], esi
jne 0x100bab34
mov edx, dword [esp + 0x18]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov esi, dword [eax + ecx*8 + 4]
cmp esi, dword [edx + 4]
je 0x100bae8b
add ecx, ecx
mov ebp, dword [eax + ecx*4]
mov eax, dword [esp + 0xc]
cmp eax, dword [esi + 0x18]
jne 0x100bab8f
cmp dword [esi + 0x1c], 0x10
jb 0x100bab77
mov eax, dword [esi + 8]
jmp 0x100bab7a
lea eax, [esi + 8]
push dword [esp + 0xc]
push eax
push dword [esp + 0x10]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x100bab9c
cmp esi, ebp
je 0x100bae8b
mov esi, dword [esi + 4]
jmp 0x100bab63
add esi, 0x20
lea ecx, [esp + 0x30]
call fcn.100026e0
mov dword [0x10184e20], esi
mov eax, dword [0x10184e24]
mov ebp, dword [esp + 0x304c]
jmp 0x100ba151
mov eax, esi
and eax, 0xfffffffc
mov dword [esp + 0x14], eax
mov ecx, 0x811c9dc5
xor edx, edx
mov ebp, dword [esp + 8]
movzx eax, byte [ebp + edx]
xor eax, ecx
imul eax, eax, 0x1000193
movzx ecx, byte [ebp + edx + 1]
xor ecx, eax
imul eax, ecx, 0x1000193
movzx ecx, byte [ebp + edx + 2]
xor ecx, eax
imul eax, ecx, 0x1000193
movzx ecx, byte [ebp + edx + 3]
xor ecx, eax
imul ecx, ecx, 0x1000193
add edx, 4
cmp dword [esp + 0x14], edx
jne 0x100babd3
cmp dword [esp + 0xc], 0
je 0x100bac30
add edx, dword [esp + 8]
xor ebp, ebp
movzx eax, byte [edx + ebp]
xor eax, ecx
imul ecx, eax, 0x1000193
inc ebp
cmp dword [esp + 0xc], ebp
jne 0x100bac1d
mov edx, dword [esp + 0x18]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov ebp, dword [eax + ecx*8 + 4]
cmp ebp, dword [edx + 4]
je 0x100bae8b
add ecx, ecx
mov eax, dword [eax + ecx*4]
mov dword [esp + 0xc], eax
cmp esi, dword [ebp + 0x18]
jne 0x100bac75
cmp dword [ebp + 0x1c], 0x10
jb 0x100bac60
mov eax, dword [ebp + 8]
jmp 0x100bac63
lea eax, [ebp + 8]
push esi
push eax
push dword [esp + 0x10]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x100bac89
cmp ebp, dword [esp + 0xc]
je 0x100bae8b
mov ebp, dword [ebp + 4]
cmp esi, dword [ebp + 0x18]
je 0x100bac55
jmp 0x100bac75
lea esi, [ebp + 0x20]
lea ecx, [esp + 0x30]
call fcn.100026e0
mov dword [0x10184e20], esi
mov ecx, dword [ebp + 0x24]
mov ebp, dword [esp + 0x304c]
mov esi, dword [esp]
mov edx, dword [esp + 4]
cmp esi, dword [ecx + edx]
je 0x100ba174
mov ecx, dword [esp + 0x20]
mov eax, dword [ecx]
call dword [eax + 0x274]
test al, al
je 0x100bad69
cmp byte [edi + 0xa0], 0
je 0x100bad69
mov ecx, dword [esp + 0x2c]
mov eax, dword [ecx]
call dword [eax + 0x28]
lea esi, [esp + 0x30]
push eax
push esi
call fcn.100ad0d0
cmp byte [esp + 0x3030], 0
je 0x100bad69
vmovups xmm0, xmmword [edi + 0x16c]
mov eax, dword [edi + 0xb8]
sub esp, 0x18
vmovups xmmword [esp + 8], xmm0
mov dword [esp], eax
mov dword [esp + 4], 1
call fcn.100ad9f0
mov ecx, ebp
mov edx, dword [esp + 0x3050]
push dword [esp + 0x306c]
push dword [esp + 0x306c]
push dword [esp + 0x306c]
push dword [esp + 0x306c]
push esi
push dword [esp + 0x306c]
push dword [esp + 0x306c]
call dword [0x1017f688]
mov ecx, dword [0x1017f640]
mov eax, dword [ecx]
push 0
push 0
push 0
call dword [eax + 0x84]
cmp byte [edi + 0x95], 0
mov esi, dword [esp + 0x3058]
je 0x100badee
vmovups xmm0, xmmword [edi + 0xdc]
mov eax, dword [edi + 0xa4]
sub esp, 0x18
vmovups xmmword [esp + 8], xmm0
mov dword [esp], eax
mov dword [esp + 4], 1
call fcn.100ad9f0
mov ecx, ebp
mov edx, dword [esp + 0x3050]
push dword [esp + 0x306c]
push dword [esp + 0x306c]
push dword [esp + 0x306c]
push dword [esp + 0x306c]
push dword [esp + 0x306c]
push esi
push dword [esp + 0x306c]
call dword [0x1017f688]
mov ecx, dword [0x1017f640]
mov eax, dword [ecx]
push 0
push 0
push 0
call dword [eax + 0x84]
cmp byte [edi + 0x94], 0
je 0x100bae6e
vmovups xmm0, xmmword [edi + 0xcc]
mov eax, dword [edi + 0xa4]
sub esp, 0x18
vmovups xmmword [esp + 8], xmm0
mov dword [esp], eax
mov dword [esp + 4], 0
call fcn.100ad9f0
mov ecx, ebp
mov edx, dword [esp + 0x3050]
push dword [esp + 0x306c]
push dword [esp + 0x306c]
push dword [esp + 0x306c]
push dword [esp + 0x306c]
push dword [esp + 0x306c]
push esi
push dword [esp + 0x306c]
call dword [0x1017f688]
mov ecx, dword [0x1017f640]
mov eax, dword [ecx]
push 0
push 0
push 0
call dword [eax + 0x84]
xor ebx, ebx
mov ecx, dword [esp + 0x3034]
xor ecx, esp
call fcn.100d7fe0
mov eax, ebx
add esp, 0x3038
pop esi
pop edi
pop ebx
pop ebp
ret 0x24
push 0x1016ba76
call sub.MSVCP140.dll_void___cdecl_std::_Xout_of_range_char_const__
int3