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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
mov eax, 0x1848
call fcn.100f1fd0
mov esi, ecx
mov dword [ebp - 0x1c], esp
mov dword [ebp - 0x10], 0xffffffff
lea eax, [ebp - 0x18]
mov dword [ebp - 0x14], 0x100dafd0
mov ecx, dword fs:[0]
mov dword [ebp - 0x18], ecx
mov dword fs:[0], eax
mov eax, dword [0x1012d35c]
mov cl, 1
mov dword [ebp - 0x44], ecx
cmp dword [eax], 0
je 0x100d7a13
mov ecx, dword [0x1012d368]
mov eax, dword [ecx]
call dword [eax + 0x68]
test al, al
je 0x100d7a13
mov ebx, dword [ebp + 8]
mov ecx, dword [ebx + 0x250]
test ecx, ecx
je 0x100d750b
mov eax, dword [ecx]
call dword [eax]
cmp dword [eax + 4], 0x776f6c67
jne 0x100d7523
jmp 0x100d7a13
mov eax, dword [ebx + 0x260]
cmp eax, 2
je 0x100d7a13
cmp eax, 4
je 0x100d7a13
mov eax, dword [ebp + 0x14]
mov edi, dword [eax + 0x18]
test edi, edi
je 0x100d7a13
cmp dword [eax], 0
je 0x100d7a13
cmp byte [esi + 0x2d0], 0
jne 0x100d7a13
mov eax, edi
add eax, 0xfffffffc
mov dword [ebp - 0x3c], eax
je 0x100d7a13
mov eax, dword [edi + 4]
add edi, 4
mov ecx, edi
call dword [eax + 8]
mov dword [ebp - 0x28], eax
test eax, eax
je 0x100d7a13
mov dword [ebp - 0x50], edi
mov dword [ebp - 0x40], esi
mov ecx, dword [0x1012d36c]
mov eax, dword [0x10132dbc]
test al, 1
je 0x100d7a2c
mov edi, dword [0x10132db8]
mov eax, dword [edi + 4]
mov edx, dword [ecx]
mov esi, dword [ebp - 0x3c]
push dword [eax + esi]
call dword [edx + 0x10]
test eax, eax
mov dword [ebp - 0x30], eax
je 0x100d75c2
mov esi, eax
add esi, 8
mov eax, dword [eax + 8]
mov ecx, esi
call dword [eax + 0x28]
test eax, eax
mov edi, dword [ebp - 0x40]
jle 0x100d75c9
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x28]
cmp eax, 0x41
setl dl
jmp 0x100d75cb
xor edx, edx
mov edi, dword [ebp - 0x40]
jmp 0x100d75cb
xor edx, edx
mov esi, dword [ebp + 0x14]
mov eax, dword [esi]
mov ecx, dword [eax + 0x1a]
cmp byte [edi + 0x1c0], 0
je 0x100d768c
cmp ecx, 0x79616c70
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x38], edx
jne 0x100d763b
mov eax, dword [0x10132bd0]
test al, 1
je 0x100d7a9c
mov edi, dword [0x10132bcc]
mov ecx, dword [edi + 4]
mov edx, dword [ebp - 0x3c]
mov edi, dword [ecx + edx]
mov edx, dword [0x1012d35c]
mov edx, dword [edx]
test al, 1
je 0x100d7b03
cmp edi, dword [ecx + edx]
mov edi, dword [ebp - 0x40]
mov edx, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x24]
jne 0x100d763b
mov eax, dword [0x1012d35c]
mov ecx, dword [ebp - 0x3c]
cmp dword [eax], ecx
mov ecx, dword [ebp - 0x24]
jne 0x100d7a0c
test dl, dl
je 0x100d768c
mov eax, dword [0x10132bd0]
test al, 1
je 0x100d7c4d
mov edi, dword [0x10132bcc]
mov ecx, dword [edi + 4]
mov edx, dword [ebp - 0x30]
mov edi, dword [ecx + edx]
mov edx, dword [0x1012d35c]
mov edx, dword [edx]
test al, 1
je 0x100d7cb4
cmp edi, dword [ecx + edx]
mov edi, dword [ebp - 0x40]
mov edx, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x24]
jne 0x100d768c
mov eax, dword [0x1012d35c]
mov ecx, dword [ebp - 0x30]
cmp ecx, dword [eax]
mov ecx, dword [ebp - 0x24]
jne 0x100d7a0c
cmp byte [edi + 0x1c1], 0
je 0x100d76a2
mov eax, dword [ebp - 0x28]
cmp dword [eax + 0x14], 0x2a
je 0x100d7a0c
cmp ecx, 0x79616c70
jne 0x100d778f
cmp byte [edi + 0x83], 0
jne 0x100d76c4
mov eax, dword [ebp - 0x28]
cmp dword [eax + 0x14], 0x2a
je 0x100d7a13
mov eax, dword [0x10132bd0]
test al, 1
je 0x100d7d21
mov edi, dword [0x10132bcc]
mov ecx, dword [edi + 4]
mov edx, dword [ebp - 0x3c]
mov edi, dword [ecx + edx]
mov edx, dword [0x1012d35c]
mov edx, dword [edx]
test al, 1
je 0x100d7d88
cmp edi, dword [ecx + edx]
mov edi, dword [ebp - 0x40]
jne 0x100d77f1
mov eax, dword [0x1012d35c]
mov ecx, dword [ebp - 0x3c]
cmp dword [eax], ecx
je 0x100d7931
cmp byte [edi + 0x7f], 0
je 0x100d7772
vmovups xmm0, xmmword [edi + 0xe4]
mov eax, dword [edi + 0x90]
mov dword [ebp - 0x10], 0xffffffff
sub esp, 0x18
vmovups xmmword [esp + 8], xmm0
mov dword [esp], eax
mov dword [esp + 4], 1
call fcn.100cbc80
mov ecx, ebx
mov edx, dword [ebp + 0xc]
push dword [ebp + 0x28]
push dword [ebp + 0x24]
push dword [ebp + 0x20]
push dword [ebp + 0x1c]
push dword [ebp + 0x18]
push esi
push dword [ebp + 0x10]
call dword [0x1012d3f4]
mov ecx, dword [0x1012d394]
mov eax, dword [ecx]
push 0
push 0
push 0
call dword [eax + 0x84]
cmp byte [edi + 0x7e], 0
je 0x100d7a13
vmovups xmm0, xmmword [edi + 0xd4]
mov eax, dword [edi + 0x90]
jmp 0x100d79ba
mov eax, dword [esi]
cmp dword [eax + 0x1d], 0x736d7261
jne 0x100d77ba
cmp byte [edi + 0x84], 0
je 0x100d7a13
vmovups xmm0, xmmword [edi + 0x124]
mov eax, dword [edi + 0xa8]
jmp 0x100d79ba
cmp dword [eax + 0xc], 0x70616577
jne 0x100d7909
cmp byte [eax + 0x14], 0x76
jne 0x100d7909
cmp byte [edi + 0x85], 0
je 0x100d7a13
vmovups xmm0, xmmword [edi + 0x134]
mov eax, dword [edi + 0xac]
jmp 0x100d79ba
mov ecx, dword [ebp - 0x3c]
mov eax, dword [ecx]
mov eax, dword [eax + 0x278]
mov dword [ebp - 0x10], 0xffffffff
call eax
test al, al
je 0x100d788d
cmp byte [edi + 0x87], 0
je 0x100d788d
mov ecx, dword [ebp - 0x50]
mov eax, dword [ecx]
call dword [eax + 0x28]
lea esi, [ebp - 0x1854]
push eax
push esi
call fcn.100cb340
cmp byte [ebp - 0x54], 0
je 0x100d788a
vmovups xmm0, xmmword [edi + 0x154]
mov eax, dword [edi + 0xa0]
sub esp, 0x18
vmovups xmmword [esp + 8], xmm0
mov dword [esp], eax
mov dword [esp + 4], 1
call fcn.100cbc80
mov ecx, ebx
mov edx, dword [ebp + 0xc]
push dword [ebp + 0x28]
push dword [ebp + 0x24]
push dword [ebp + 0x20]
push dword [ebp + 0x1c]
push esi
push dword [ebp + 0x14]
push dword [ebp + 0x10]
call dword [0x1012d3f4]
mov ecx, dword [0x1012d394]
mov eax, dword [ecx]
push 0
push 0
push 0
call dword [eax + 0x84]
mov esi, dword [ebp + 0x14]
cmp byte [edi + 0x7d], 0
je 0x100d78ec
vmovups xmm0, xmmword [edi + 0xc4]
mov eax, dword [edi + 0x8c]
sub esp, 0x18
vmovups xmmword [esp + 8], xmm0
mov dword [esp], eax
mov dword [esp + 4], 1
call fcn.100cbc80
mov ecx, ebx
mov edx, dword [ebp + 0xc]
push dword [ebp + 0x28]
push dword [ebp + 0x24]
push dword [ebp + 0x20]
push dword [ebp + 0x1c]
push dword [ebp + 0x18]
push esi
push dword [ebp + 0x10]
call dword [0x1012d3f4]
mov ecx, dword [0x1012d394]
mov eax, dword [ecx]
push 0
push 0
push 0
call dword [eax + 0x84]
cmp byte [edi + 0x7c], 0
je 0x100d7a13
vmovups xmm0, xmmword [edi + 0xb4]
mov eax, dword [edi + 0x8c]
jmp 0x100d79c1
cmp byte [edi + 0x86], 0
setne al
and dl, al
cmp dl, 1
jne 0x100d7a13
vmovups xmm0, xmmword [edi + 0x144]
mov eax, dword [edi + 0xa4]
jmp 0x100d79ba
cmp byte [edi + 0x81], 0
je 0x100d79a3
vmovups xmm0, xmmword [edi + 0x104]
mov eax, dword [edi + 0x98]
mov dword [ebp - 0x10], 0xffffffff
sub esp, 0x18
vmovups xmmword [esp + 8], xmm0
mov dword [esp], eax
mov dword [esp + 4], 0
call fcn.100cbc80
mov eax, 0x3014
add eax, dword [0x1012d334]
mov ecx, ebx
mov edx, dword [ebp + 0xc]
push dword [ebp + 0x28]
push dword [ebp + 0x24]
push dword [ebp + 0x20]
push dword [ebp + 0x1c]
push eax
push esi
push dword [ebp + 0x10]
call dword [0x1012d3f4]
mov ecx, dword [0x1012d394]
mov eax, dword [ecx]
push 0
push 0
push 0
call dword [eax + 0x84]
cmp byte [edi + 0x80], 0
je 0x100d7a13
vmovups xmm0, xmmword [edi + 0xf4]
mov eax, dword [edi + 0x94]
mov dword [ebp - 0x10], 0xffffffff
sub esp, 0x18
vmovups xmmword [esp + 8], xmm0
mov dword [esp], eax
mov dword [esp + 4], 0
call fcn.100cbc80
mov ecx, ebx
mov edx, dword [ebp + 0xc]
push dword [ebp + 0x28]
push dword [ebp + 0x24]
push dword [ebp + 0x20]
push dword [ebp + 0x1c]
push dword [ebp + 0x18]
push esi
push dword [ebp + 0x10]
call dword [0x1012d3f4]
mov ecx, dword [0x1012d394]
mov eax, dword [ecx]
push 0
push 0
push 0
call dword [eax + 0x84]
mov dword [ebp - 0x44], 0
mov eax, dword [ebp - 0x18]
mov dword fs:[0], eax
mov eax, dword [ebp - 0x44]
add esp, 0x1848
pop esi
pop edi
pop ebx
pop ebp
ret 0x24
mov dword [ebp - 0x20], ecx
or eax, 1
mov dword [0x10132dbc], eax
mov eax, dword [0x1012d324]
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x10], 0
lea ecx, [ebp - 0x1854]
mov dword [ebp - 0x24], ecx
push str.CBaseEntity__moveparent
call fcn.100083b0
mov esi, dword [ebp - 0x1844]
cmp dword [ebp - 0x1840], 0x10
jb 0x100d7a71
mov eax, dword [ebp - 0x1854]
mov dword [ebp - 0x24], eax
test esi, esi
je 0x100d7a92
mov eax, esi
and eax, 3
mov dword [ebp - 0x30], eax
cmp esi, 4
jae 0x100d7b70
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x100d7bb9
mov ecx, 0x811c9dc5
jmp 0x100d7bd6
or eax, 1
mov dword [0x10132bd0], eax
mov eax, dword [0x1012d324]
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x10], 2
lea ecx, [ebp - 0x1854]
mov dword [ebp - 0x20], ecx
push str.CBaseEntity__m_iTeamNum
call fcn.100083b0
mov esi, dword [ebp - 0x1844]
cmp dword [ebp - 0x1840], 0x10
jb 0x100d7ade
mov eax, dword [ebp - 0x1854]
mov dword [ebp - 0x20], eax
test esi, esi
je 0x100d7df5
mov eax, esi
and eax, 3
mov dword [ebp - 0x2c], eax
cmp esi, 4
jae 0x100d7e1d
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x100d7e66
mov dword [ebp - 0x48], edx
mov dword [ebp - 0x4c], edi
or eax, 1
mov dword [0x10132bd0], eax
mov eax, dword [0x1012d324]
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x10], 4
lea ecx, [ebp - 0x1854]
mov dword [ebp - 0x20], ecx
push str.CBaseEntity__m_iTeamNum
call fcn.100083b0
mov esi, dword [ebp - 0x1844]
cmp dword [ebp - 0x1840], 0x10
jb 0x100d7b4b
mov eax, dword [ebp - 0x1854]
mov dword [ebp - 0x20], eax
test esi, esi
je 0x100d7dff
mov eax, esi
and eax, 3
mov dword [ebp - 0x2c], eax
cmp esi, 4
jae 0x100d7ef8
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x100d7f41
mov edi, esi
and edi, 0xfffffffc
mov ecx, 0x811c9dc5
xor edx, edx
mov eax, dword [ebp - 0x24]
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 0x100d7b7f
cmp dword [ebp - 0x30], 0
je 0x100d7bd6
add edx, dword [ebp - 0x24]
xor edi, edi
movzx ebx, byte [edx + edi]
xor ebx, ecx
imul ecx, ebx, 0x1000193
inc edi
cmp dword [ebp - 0x30], edi
jne 0x100d7bc4
mov edx, dword [ebp - 0x38]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov edi, dword [eax + ecx*8 + 4]
cmp edi, dword [edx + 4]
je 0x100d835f
add ecx, ecx
mov ebx, dword [eax + ecx*4]
cmp esi, dword [edi + 0x18]
jne 0x100d7c15
cmp dword [edi + 0x1c], 0x10
jb 0x100d7c01
mov eax, dword [edi + 8]
jmp 0x100d7c04
lea eax, [edi + 8]
push esi
push eax
push dword [ebp - 0x24]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x100d7c27
cmp edi, ebx
je 0x100d835f
mov edi, dword [edi + 4]
cmp esi, dword [edi + 0x18]
je 0x100d7bf6
jmp 0x100d7c15
add edi, 0x20
lea ecx, [ebp - 0x1854]
call fcn.100029d0
mov dword [0x10132db8], edi
mov dword [ebp - 0x10], 0xffffffff
mov ebx, dword [ebp + 8]
mov ecx, dword [ebp - 0x20]
jmp 0x100d758a
or eax, 1
mov dword [0x10132bd0], eax
mov eax, dword [0x1012d324]
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x10], 6
lea ecx, [ebp - 0x1854]
mov dword [ebp - 0x20], ecx
push str.CBaseEntity__m_iTeamNum
call fcn.100083b0
mov esi, dword [ebp - 0x1844]
cmp dword [ebp - 0x1840], 0x10
jb 0x100d7c8f
mov eax, dword [ebp - 0x1854]
mov dword [ebp - 0x20], eax
test esi, esi
je 0x100d7e09
mov eax, esi
and eax, 3
mov dword [ebp - 0x2c], eax
cmp esi, 4
jae 0x100d7feb
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x100d8034
mov dword [ebp - 0x48], edx
mov dword [ebp - 0x4c], edi
or eax, 1
mov dword [0x10132bd0], eax
mov eax, dword [0x1012d324]
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x10], 8
lea ecx, [ebp - 0x1854]
mov dword [ebp - 0x20], ecx
push str.CBaseEntity__m_iTeamNum
call fcn.100083b0
mov esi, dword [ebp - 0x1844]
cmp dword [ebp - 0x1840], 0x10
jb 0x100d7cfc
mov eax, dword [ebp - 0x1854]
mov dword [ebp - 0x20], eax
test esi, esi
je 0x100d7e13
mov eax, esi
and eax, 3
mov dword [ebp - 0x2c], eax
cmp esi, 4
jae 0x100d80c6
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x100d810f
or eax, 1
mov dword [0x10132bd0], eax
mov eax, dword [0x1012d324]
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x10], 0xa
lea ecx, [ebp - 0x1854]
mov dword [ebp - 0x28], ecx
push str.CBaseEntity__m_iTeamNum
call fcn.100083b0
mov esi, dword [ebp - 0x1844]
cmp dword [ebp - 0x1840], 0x10
jb 0x100d7d63
mov eax, dword [ebp - 0x1854]
mov dword [ebp - 0x28], eax
test esi, esi
je 0x100d7fd7
mov eax, esi
and eax, 3
mov dword [ebp - 0x24], eax
cmp esi, 4
jae 0x100d81a5
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x100d81ee
mov dword [ebp - 0x20], edx
mov dword [ebp - 0x38], edi
or eax, 1
mov dword [0x10132bd0], eax
mov eax, dword [0x1012d324]
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x10], 0xc
lea ecx, [ebp - 0x1854]
mov dword [ebp - 0x28], ecx
push str.CBaseEntity__m_iTeamNum
call fcn.100083b0
mov esi, dword [ebp - 0x1844]
cmp dword [ebp - 0x1840], 0x10
jb 0x100d7dd0
mov eax, dword [ebp - 0x1854]
mov dword [ebp - 0x28], eax
test esi, esi
je 0x100d7fe1
mov eax, esi
and eax, 3
mov dword [ebp - 0x24], eax
cmp esi, 4
jae 0x100d8280
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x100d82c9
mov ecx, 0x811c9dc5
jmp 0x100d7e83
mov ecx, 0x811c9dc5
jmp 0x100d7f5e
mov ecx, 0x811c9dc5
jmp 0x100d8051
mov ecx, 0x811c9dc5
jmp 0x100d812c
mov edi, esi
and edi, 0xfffffffc
mov ecx, 0x811c9dc5
xor edx, edx
mov eax, dword [ebp - 0x20]
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 0x100d7e2c
cmp dword [ebp - 0x2c], 0
je 0x100d7e83
add edx, dword [ebp - 0x20]
xor edi, edi
movzx ebx, byte [edx + edi]
xor ebx, ecx
imul ecx, ebx, 0x1000193
inc edi
cmp dword [ebp - 0x2c], edi
jne 0x100d7e71
mov edx, dword [ebp - 0x34]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov edi, dword [eax + ecx*8 + 4]
cmp edi, dword [edx + 4]
je 0x100d8373
add ecx, ecx
mov ebx, dword [eax + ecx*4]
cmp esi, dword [edi + 0x18]
jne 0x100d7ec2
cmp dword [edi + 0x1c], 0x10
jb 0x100d7eae
mov eax, dword [edi + 8]
jmp 0x100d7eb1
lea eax, [edi + 8]
push esi
push eax
push dword [ebp - 0x20]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x100d7ed4
cmp edi, ebx
je 0x100d8373
mov edi, dword [edi + 4]
cmp esi, dword [edi + 0x18]
je 0x100d7ea3
jmp 0x100d7ec2
add edi, 0x20
lea ecx, [ebp - 0x1854]
call fcn.100029d0
mov dword [0x10132bcc], edi
mov eax, dword [0x10132bd0]
mov ebx, dword [ebp + 8]
mov esi, dword [ebp + 0x14]
jmp 0x100d7601
mov edi, esi
and edi, 0xfffffffc
mov ecx, 0x811c9dc5
xor edx, edx
mov eax, dword [ebp - 0x20]
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 0x100d7f07
cmp dword [ebp - 0x2c], 0
je 0x100d7f5e
add edx, dword [ebp - 0x20]
xor edi, edi
movzx ebx, byte [edx + edi]
xor ebx, ecx
imul ecx, ebx, 0x1000193
inc edi
cmp dword [ebp - 0x2c], edi
jne 0x100d7f4c
mov edx, dword [ebp - 0x34]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov edi, dword [eax + ecx*8 + 4]
cmp edi, dword [edx + 4]
je 0x100d8387
add ecx, ecx
mov ebx, dword [eax + ecx*4]
cmp esi, dword [edi + 0x18]
jne 0x100d7f9d
cmp dword [edi + 0x1c], 0x10
jb 0x100d7f89
mov eax, dword [edi + 8]
jmp 0x100d7f8c
lea eax, [edi + 8]
push esi
push eax
push dword [ebp - 0x20]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x100d7faf
cmp edi, ebx
je 0x100d8387
mov edi, dword [edi + 4]
cmp esi, dword [edi + 0x18]
je 0x100d7f7e
jmp 0x100d7f9d
lea esi, [edi + 0x20]
lea ecx, [ebp - 0x1854]
call fcn.100029d0
mov dword [0x10132bcc], esi
mov ecx, dword [edi + 0x24]
mov ebx, dword [ebp + 8]
mov esi, dword [ebp + 0x14]
mov edi, dword [ebp - 0x4c]
mov edx, dword [ebp - 0x48]
jmp 0x100d761a
mov ecx, 0x811c9dc5
jmp 0x100d820b
mov ecx, 0x811c9dc5
jmp 0x100d82e6
mov edi, esi
and edi, 0xfffffffc
mov ecx, 0x811c9dc5
xor edx, edx
mov eax, dword [ebp - 0x20]
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 0x100d7ffa
cmp dword [ebp - 0x2c], 0
je 0x100d8051
add edx, dword [ebp - 0x20]
xor edi, edi
movzx ebx, byte [edx + edi]
xor ebx, ecx
imul ecx, ebx, 0x1000193
inc edi
cmp dword [ebp - 0x2c], edi
jne 0x100d803f
mov edx, dword [ebp - 0x34]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov edi, dword [eax + ecx*8 + 4]
cmp edi, dword [edx + 4]
je 0x100d839b
add ecx, ecx
mov ebx, dword [eax + ecx*4]
cmp esi, dword [edi + 0x18]
jne 0x100d8090
cmp dword [edi + 0x1c], 0x10
jb 0x100d807c
mov eax, dword [edi + 8]
jmp 0x100d807f
lea eax, [edi + 8]
push esi
push eax
push dword [ebp - 0x20]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x100d80a2
cmp edi, ebx
je 0x100d839b
mov edi, dword [edi + 4]
cmp esi, dword [edi + 0x18]
je 0x100d8071
jmp 0x100d8090
add edi, 0x20
lea ecx, [ebp - 0x1854]
call fcn.100029d0
mov dword [0x10132bcc], edi
mov eax, dword [0x10132bd0]
mov ebx, dword [ebp + 8]
mov esi, dword [ebp + 0x14]
jmp 0x100d7652
mov edi, esi
and edi, 0xfffffffc
mov ecx, 0x811c9dc5
xor edx, edx
mov eax, dword [ebp - 0x20]
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 0x100d80d5
cmp dword [ebp - 0x2c], 0
je 0x100d812c
add edx, dword [ebp - 0x20]
xor edi, edi
movzx ebx, byte [edx + edi]
xor ebx, ecx
imul ecx, ebx, 0x1000193
inc edi
cmp dword [ebp - 0x2c], edi
jne 0x100d811a
mov edx, dword [ebp - 0x34]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov edi, dword [eax + ecx*8 + 4]
cmp edi, dword [edx + 4]
je 0x100d83af
add ecx, ecx
mov ebx, dword [eax + ecx*4]
cmp esi, dword [edi + 0x18]
jne 0x100d816b
cmp dword [edi + 0x1c], 0x10
jb 0x100d8157
mov eax, dword [edi + 8]
jmp 0x100d815a
lea eax, [edi + 8]
push esi
push eax
push dword [ebp - 0x20]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x100d817d
cmp edi, ebx
je 0x100d83af
mov edi, dword [edi + 4]
cmp esi, dword [edi + 0x18]
je 0x100d814c
jmp 0x100d816b
lea esi, [edi + 0x20]
lea ecx, [ebp - 0x1854]
call fcn.100029d0
mov dword [0x10132bcc], esi
mov ecx, dword [edi + 0x24]
mov ebx, dword [ebp + 8]
mov esi, dword [ebp + 0x14]
mov edi, dword [ebp - 0x4c]
mov edx, dword [ebp - 0x48]
jmp 0x100d766b
mov edi, esi
and edi, 0xfffffffc
mov ecx, 0x811c9dc5
xor edx, edx
mov eax, dword [ebp - 0x28]
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 0x100d81b4
cmp dword [ebp - 0x24], 0
je 0x100d820b
add edx, dword [ebp - 0x28]
xor edi, edi
movzx ebx, byte [edx + edi]
xor ebx, ecx
imul ecx, ebx, 0x1000193
inc edi
cmp dword [ebp - 0x24], edi
jne 0x100d81f9
mov edx, dword [ebp - 0x30]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov edi, dword [eax + ecx*8 + 4]
cmp edi, dword [edx + 4]
je 0x100d83c3
add ecx, ecx
mov ebx, dword [eax + ecx*4]
cmp esi, dword [edi + 0x18]
jne 0x100d824a
cmp dword [edi + 0x1c], 0x10
jb 0x100d8236
mov eax, dword [edi + 8]
jmp 0x100d8239
lea eax, [edi + 8]
push esi
push eax
push dword [ebp - 0x28]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x100d825c
cmp edi, ebx
je 0x100d83c3
mov edi, dword [edi + 4]
cmp esi, dword [edi + 0x18]
je 0x100d822b
jmp 0x100d824a
add edi, 0x20
lea ecx, [ebp - 0x1854]
call fcn.100029d0
mov dword [0x10132bcc], edi
mov eax, dword [0x10132bd0]
mov ebx, dword [ebp + 8]
mov esi, dword [ebp + 0x14]
jmp 0x100d76d7
mov edi, esi
and edi, 0xfffffffc
mov ecx, 0x811c9dc5
xor edx, edx
mov eax, dword [ebp - 0x28]
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 0x100d828f
cmp dword [ebp - 0x24], 0
je 0x100d82e6
add edx, dword [ebp - 0x28]
xor edi, edi
movzx ebx, byte [edx + edi]
xor ebx, ecx
imul ecx, ebx, 0x1000193
inc edi
cmp dword [ebp - 0x24], edi
jne 0x100d82d4
mov edx, dword [ebp - 0x30]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov edi, dword [eax + ecx*8 + 4]
cmp edi, dword [edx + 4]
je 0x100d83d7
add ecx, ecx
mov ebx, dword [eax + ecx*4]
cmp esi, dword [edi + 0x18]
jne 0x100d8325
cmp dword [edi + 0x1c], 0x10
jb 0x100d8311
mov eax, dword [edi + 8]
jmp 0x100d8314
lea eax, [edi + 8]
push esi
push eax
push dword [ebp - 0x28]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x100d8337
cmp edi, ebx
je 0x100d83d7
mov edi, dword [edi + 4]
cmp esi, dword [edi + 0x18]
je 0x100d8306
jmp 0x100d8325
lea esi, [edi + 0x20]
lea ecx, [ebp - 0x1854]
call fcn.100029d0
mov dword [0x10132bcc], esi
mov ecx, dword [edi + 0x24]
mov ebx, dword [ebp + 8]
mov esi, dword [ebp + 0x14]
mov edi, dword [ebp - 0x38]
mov edx, dword [ebp - 0x20]
jmp 0x100d76f0
mov dword [ebp - 0x10], 1
push 0x1011ed9d
call sub.MSVCP140.dll_void___cdecl_std::_Xout_of_range_char_const__
add esp, 4
mov dword [ebp - 0x10], 3
push 0x1011ed9d
call sub.MSVCP140.dll_void___cdecl_std::_Xout_of_range_char_const__
add esp, 4
mov dword [ebp - 0x10], 5
push 0x1011ed9d
call sub.MSVCP140.dll_void___cdecl_std::_Xout_of_range_char_const__
add esp, 4
mov dword [ebp - 0x10], 7
push 0x1011ed9d
call sub.MSVCP140.dll_void___cdecl_std::_Xout_of_range_char_const__
add esp, 4
mov dword [ebp - 0x10], 9
push 0x1011ed9d
call sub.MSVCP140.dll_void___cdecl_std::_Xout_of_range_char_const__
add esp, 4
mov dword [ebp - 0x10], 0xb
push 0x1011ed9d
call sub.MSVCP140.dll_void___cdecl_std::_Xout_of_range_char_const__
add esp, 4
mov dword [ebp - 0x10], 0xd
push 0x1011ed9d
call sub.MSVCP140.dll_void___cdecl_std::_Xout_of_range_char_const__
add esp, 4
nop dword [eax + eax]
push ebp
sub esp, 0x1c
add ebp, 0xc
lea ecx, [ebp - 0x1854]
call fcn.100029d0
add esp, 0x1c
pop ebp
ret