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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xffffffe0
sub esp, 0xe0
mov esi, esp
mov dword [esi + 0xb8], ebp
mov dword [esi + 0xbc], esp
mov dword [esi + 0xc8], 0xffffffff
lea eax, [esi + 0xc0]
mov dword [esi + 0xc4], 0x101277f0
mov ecx, dword fs:[0]
mov dword [esi + 0xc0], ecx
mov dword fs:[0], eax
mov eax, dword [0x10259d94]
mov edi, dword [eax]
mov ecx, dword [0x1025f6ac]
test cl, 1
je 0x101142f4
mov ecx, dword [0x1025f6a8]
mov ebx, edi
mov ecx, dword [ecx + 4]
mov edx, dword [ecx + edi + 8]
mov dword [esi + 0xb0], edx
movsd xmm0, qword [ecx + edi]
movsd qword [esi + 0xa8], xmm0
mov ecx, dword [0x1025f764]
test cl, 1
je 0x101143ff
mov edi, dword [0x1025f760]
mov ecx, dword [edi + 4]
mov edx, dword [ecx + ebx + 8]
mov dword [esi + 0xa0], edx
movsd xmm0, qword [ecx + ebx]
movsd qword [esi + 0x98], xmm0
mov eax, dword [eax]
movzx ecx, byte [eax + 0x3ac8]
mov byte [esi + 0x14], cl
mov byte [eax + 0x3ac8], 0
mov eax, dword [0x10259d54]
mov eax, dword [eax + 0x410]
cmp eax, 2
je 0x101141db
cmp eax, 1
jne 0x10114240
mov eax, dword [0x10259d94]
mov ecx, dword [eax]
mov eax, dword [0x1025f764]
test al, 1
je 0x10114743
mov ebx, dword [0x1025f760]
mov eax, dword [ebx + 4]
xorps xmm0, xmm0
movlps qword [eax + ecx], xmm0
mov dword [eax + ecx + 8], 0
jmp 0x10114236
mov eax, dword [0x10259d94]
mov ecx, dword [eax]
mov eax, dword [0x1025f764]
test al, 1
je 0x10114850
mov ebx, dword [0x1025f760]
mov edx, dword [ebx + 4]
xorps xmm0, xmm0
movlps qword [edx + ecx], xmm0
mov dword [edx + ecx + 8], 0
mov eax, dword [0x10259d94]
mov edi, dword [eax]
mov eax, dword [0x1025f6ac]
test al, 1
je 0x1011495d
mov ebx, dword [0x1025f6a8]
add edx, ecx
mov eax, dword [ebx + 4]
mov ecx, dword [edx + 8]
mov dword [eax + edi + 8], ecx
movsd xmm0, qword [edx]
movsd qword [eax + edi], xmm0
mov dword [esi + 0xc8], 0xffffffff
mov ebx, dword [ebp + 0x1c]
mov edi, dword [ebp + 0x18]
mov dword [esi + 0xc8], 0xffffffff
mov eax, dword [ebp + 0x10]
mov edx, dword [ebp + 0xc]
mov ecx, dword [ebp + 8]
push dword [ebp + 0x20]
push ebx
push edi
push dword [ebp + 0x14]
push eax
call dword [0x10259eb0]
mov eax, dword [0x10259d94]
mov eax, dword [eax]
movzx ecx, byte [esi + 0x14]
mov byte [eax + 0x3ac8], cl
mov eax, dword [0x10259d94]
mov edi, dword [eax]
mov ecx, dword [0x1025f6ac]
test cl, 1
je 0x1011450a
mov ebx, dword [0x1025f6a8]
mov ecx, dword [ebx + 4]
mov edx, dword [esi + 0xb0]
mov dword [ecx + edi + 8], edx
movsd xmm0, qword [esi + 0xa8]
movsd qword [ecx + edi], xmm0
mov edx, dword [eax]
mov eax, dword [0x1025f764]
test al, 1
je 0x10114615
mov ebx, dword [0x1025f760]
mov eax, dword [ebx + 4]
mov ecx, dword [esi + 0xa0]
mov dword [eax + edx + 8], ecx
movsd xmm0, qword [esi + 0x98]
movsd qword [eax + edx], xmm0
mov eax, dword [esi + 0xc0]
mov dword fs:[0], eax
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 0x1c
mov dword [esi + 0x1c], edi
or ecx, 1
mov dword [0x1025f6ac], ecx
mov eax, dword [0x10259d5c]
mov dword [esi + 0x18], eax
mov eax, 0xd87d0e9c
mov ecx, 0x7c3c89d1
mov dword [esi + 0x24], ecx
mov dword [esi + 0x20], eax
mov eax, 0x230484cd
mov ecx, 0x86ff18fb
mov dword [esi + 0x2c], ecx
mov dword [esi + 0x28], eax
mov eax, 0x43f25af8
mov ecx, 0xcad96874
mov dword [esi + 0x34], ecx
mov dword [esi + 0x30], eax
mov ecx, 0x270b53c8
mov eax, 0xb5378feb
mov edx, 0xb5378feb
mov dword [esi + 0x3c], edx
mov dword [esi + 0x38], ecx
mov ecx, 0xab1c4cdf
mov edx, 0x1d50d9b4
mov dword [esi + 0x44], edx
mov dword [esi + 0x40], ecx
mov ecx, 0xe76e1b4
mov edx, 0xe7a075c5
mov dword [esi + 0x4c], edx
mov dword [esi + 0x48], ecx
mov ecx, 0x36a23791
mov edx, 0x8bb10b1a
mov dword [esi + 0x54], edx
mov dword [esi + 0x50], ecx
mov ecx, 0x426734a6
mov dword [esi + 0x5c], eax
mov dword [esi + 0x58], ecx
lea eax, [esi + 0x40]
xor ecx, ecx
movaps xmm0, xmmword [esi + 0x20]
xorps xmm0, xmmword [eax]
movaps xmmword [esi + 0x20], xmm0
movaps xmm0, xmmword [esi + 0x30]
xorps xmm0, xmmword [eax + 0x10]
movaps xmmword [esi + 0x30], xmm0
mov dword [esi + 0xc8], 0
lea eax, [esi + 0x20]
lea ecx, [esi + 0x74]
mov dword [esi + 0xc], ecx
push eax
call fcn.10015240
mov eax, dword [esi + 0x84]
mov dword [esi + 0x14], eax
cmp dword [esi + 0x88], 0x10
jb 0x101143d5
mov eax, dword [esi + 0x74]
mov dword [esi + 0xc], eax
cmp dword [esi + 0x14], 0
je 0x1011471b
mov eax, dword [esi + 0x14]
mov ecx, eax
and ecx, 3
mov dword [esi + 0x10], ecx
cmp eax, 4
jae 0x10114a76
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x10114ac0
mov dword [esi + 0x1c], ebx
or ecx, 1
mov dword [0x1025f764], ecx
mov eax, dword [0x10259d5c]
mov dword [esi + 0x18], eax
mov eax, 0xd87d0e9c
mov ecx, 0x7c3c89d1
mov dword [esi + 0x24], ecx
mov dword [esi + 0x20], eax
mov eax, 0x230484cd
mov ecx, 0x91ff18fb
mov dword [esi + 0x2c], ecx
mov dword [esi + 0x28], eax
mov eax, 0x66d552f8
mov ecx, 0xe3d2656f
mov dword [esi + 0x34], ecx
mov dword [esi + 0x30], eax
mov eax, 0x2e005ae7
mov ecx, 0xb5378f8e
mov dword [esi + 0x3c], ecx
mov dword [esi + 0x38], eax
mov eax, 0xab1c4cdf
mov ecx, 0x1d50d9b4
mov dword [esi + 0x44], ecx
mov dword [esi + 0x40], eax
mov eax, 0xe76e1b4
mov ecx, 0xe7a075c5
mov dword [esi + 0x4c], ecx
mov dword [esi + 0x48], eax
mov eax, 0x36a23791
mov ecx, 0x8bb10b1a
mov dword [esi + 0x54], ecx
mov dword [esi + 0x50], eax
mov eax, 0x426734a6
mov ecx, 0xb5378feb
mov dword [esi + 0x5c], ecx
mov dword [esi + 0x58], eax
lea eax, [esi + 0x40]
xor ecx, ecx
movaps xmm0, xmmword [esi + 0x20]
xorps xmm0, xmmword [eax]
movaps xmmword [esi + 0x20], xmm0
movaps xmm0, xmmword [esi + 0x30]
xorps xmm0, xmmword [eax + 0x10]
movaps xmmword [esi + 0x30], xmm0
mov dword [esi + 0xc8], 2
lea eax, [esi + 0x20]
lea ecx, [esi + 0x74]
mov dword [esi + 0xc], ecx
push eax
call fcn.10015240
mov eax, dword [esi + 0x84]
mov dword [esi + 0x14], eax
cmp dword [esi + 0x88], 0x10
jb 0x101144e0
mov eax, dword [esi + 0x74]
mov dword [esi + 0xc], eax
cmp dword [esi + 0x14], 0
je 0x10114725
mov eax, dword [esi + 0x14]
mov ecx, eax
and ecx, 3
mov dword [esi + 0x10], ecx
cmp eax, 4
jae 0x10114b52
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x10114b9c
mov dword [esi + 0x1c], edi
or ecx, 1
mov dword [0x1025f6ac], ecx
mov eax, dword [0x10259d5c]
mov dword [esi + 0x18], eax
mov eax, 0xd87d0e9c
mov ecx, 0x7c3c89d1
mov dword [esi + 0x24], ecx
mov dword [esi + 0x20], eax
mov eax, 0x230484cd
mov ecx, 0x86ff18fb
mov dword [esi + 0x2c], ecx
mov dword [esi + 0x28], eax
mov eax, 0x43f25af8
mov ecx, 0xcad96874
mov dword [esi + 0x34], ecx
mov dword [esi + 0x30], eax
mov ecx, 0x270b53c8
mov eax, 0xb5378feb
mov edx, 0xb5378feb
mov dword [esi + 0x3c], edx
mov dword [esi + 0x38], ecx
mov ecx, 0xab1c4cdf
mov edx, 0x1d50d9b4
mov dword [esi + 0x44], edx
mov dword [esi + 0x40], ecx
mov ecx, 0xe76e1b4
mov edx, 0xe7a075c5
mov dword [esi + 0x4c], edx
mov dword [esi + 0x48], ecx
mov ecx, 0x36a23791
mov edx, 0x8bb10b1a
mov dword [esi + 0x54], edx
mov dword [esi + 0x50], ecx
mov ecx, 0x426734a6
mov dword [esi + 0x5c], eax
mov dword [esi + 0x58], ecx
lea eax, [esi + 0x40]
xor ecx, ecx
movaps xmm0, xmmword [esi + 0x20]
xorps xmm0, xmmword [eax]
movaps xmmword [esi + 0x20], xmm0
movaps xmm0, xmmword [esi + 0x30]
xorps xmm0, xmmword [eax + 0x10]
movaps xmmword [esi + 0x30], xmm0
mov dword [esi + 0xc8], 0xa
lea eax, [esi + 0x20]
lea ecx, [esi + 0x74]
mov dword [esi + 0xc], ecx
push eax
call fcn.10015240
mov eax, dword [esi + 0x84]
mov dword [esi + 0x14], eax
cmp dword [esi + 0x88], 0x10
jb 0x101145eb
mov eax, dword [esi + 0x74]
mov dword [esi + 0xc], eax
cmp dword [esi + 0x14], 0
je 0x1011472f
mov eax, dword [esi + 0x14]
mov ecx, eax
and ecx, 3
mov dword [esi + 0x10], ecx
cmp eax, 4
jae 0x10114c28
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x10114c72
mov dword [esi + 0x1c], edx
or eax, 1
mov dword [0x1025f764], eax
mov eax, dword [0x10259d5c]
mov dword [esi + 0x18], eax
mov eax, 0xd87d0e9c
mov ecx, 0x7c3c89d1
mov dword [esi + 0x24], ecx
mov dword [esi + 0x20], eax
mov eax, 0x230484cd
mov ecx, 0x91ff18fb
mov dword [esi + 0x2c], ecx
mov dword [esi + 0x28], eax
mov eax, 0x66d552f8
mov ecx, 0xe3d2656f
mov dword [esi + 0x34], ecx
mov dword [esi + 0x30], eax
mov eax, 0x2e005ae7
mov ecx, 0xb5378f8e
mov dword [esi + 0x3c], ecx
mov dword [esi + 0x38], eax
mov eax, 0xab1c4cdf
mov ecx, 0x1d50d9b4
mov dword [esi + 0x44], ecx
mov dword [esi + 0x40], eax
mov eax, 0xe76e1b4
mov ecx, 0xe7a075c5
mov dword [esi + 0x4c], ecx
mov dword [esi + 0x48], eax
mov eax, 0x36a23791
mov ecx, 0x8bb10b1a
mov dword [esi + 0x54], ecx
mov dword [esi + 0x50], eax
mov eax, 0x426734a6
mov ecx, 0xb5378feb
mov dword [esi + 0x5c], ecx
mov dword [esi + 0x58], eax
lea eax, [esi + 0x40]
xor ecx, ecx
movaps xmm0, xmmword [esi + 0x20]
xorps xmm0, xmmword [eax]
movaps xmmword [esi + 0x20], xmm0
movaps xmm0, xmmword [esi + 0x30]
xorps xmm0, xmmword [eax + 0x10]
movaps xmmword [esi + 0x30], xmm0
mov dword [esi + 0xc8], 0xc
lea eax, [esi + 0x20]
lea ecx, [esi + 0x74]
mov dword [esi + 0xc], ecx
push eax
call fcn.10015240
mov eax, dword [esi + 0x84]
mov dword [esi + 0x14], eax
cmp dword [esi + 0x88], 0x10
jb 0x101146f5
mov eax, dword [esi + 0x74]
mov dword [esi + 0xc], eax
cmp dword [esi + 0x14], 0
je 0x10114739
mov eax, dword [esi + 0x14]
mov ecx, eax
and ecx, 3
mov dword [esi + 0x10], ecx
cmp eax, 4
jae 0x10114cfe
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x10114d48
mov ecx, 0x811c9dc5
jmp 0x10114add
mov ecx, 0x811c9dc5
jmp 0x10114bb9
mov ecx, 0x811c9dc5
jmp 0x10114c8f
mov ecx, 0x811c9dc5
jmp 0x10114d65
mov dword [esi + 0x8c], ecx
or eax, 1
mov dword [0x1025f764], eax
mov eax, dword [0x10259d5c]
mov dword [esi + 0x1c], eax
mov eax, 0xd87d0e9c
mov ecx, 0x7c3c89d1
mov dword [esi + 0x24], ecx
mov dword [esi + 0x20], eax
mov eax, 0x230484cd
mov ecx, 0x91ff18fb
mov dword [esi + 0x2c], ecx
mov dword [esi + 0x28], eax
mov eax, 0x66d552f8
mov ecx, 0xe3d2656f
mov dword [esi + 0x34], ecx
mov dword [esi + 0x30], eax
mov eax, 0x2e005ae7
mov ecx, 0xb5378f8e
mov dword [esi + 0x3c], ecx
mov dword [esi + 0x38], eax
mov eax, 0xab1c4cdf
mov ecx, 0x1d50d9b4
mov dword [esi + 0x44], ecx
mov dword [esi + 0x40], eax
mov eax, 0xe76e1b4
mov ecx, 0xe7a075c5
mov dword [esi + 0x4c], ecx
mov dword [esi + 0x48], eax
mov eax, 0x36a23791
mov ecx, 0x8bb10b1a
mov dword [esi + 0x54], ecx
mov dword [esi + 0x50], eax
mov eax, 0x426734a6
mov ecx, 0xb5378feb
mov dword [esi + 0x5c], ecx
mov dword [esi + 0x58], eax
lea eax, [esi + 0x40]
xor ecx, ecx
movaps xmm0, xmmword [esi + 0x20]
xorps xmm0, xmmword [eax]
movaps xmmword [esi + 0x20], xmm0
movaps xmm0, xmmword [esi + 0x30]
xorps xmm0, xmmword [eax + 0x10]
movaps xmmword [esi + 0x30], xmm0
mov dword [esi + 0xc8], 4
lea eax, [esi + 0x20]
lea ecx, [esi + 0x74]
mov dword [esi + 0x10], ecx
push eax
call fcn.10015240
mov eax, dword [esi + 0x84]
mov dword [esi + 0xc], eax
cmp dword [esi + 0x88], 0x10
jb 0x10114826
mov eax, dword [esi + 0x74]
mov dword [esi + 0x10], eax
cmp dword [esi + 0xc], 0
je 0x10114dcf
mov eax, dword [esi + 0xc]
mov ecx, eax
and ecx, 3
mov dword [esi + 0x18], ecx
cmp eax, 4
jae 0x10114dea
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x10114e34
mov dword [esi + 0x1c], ecx
or eax, 1
mov dword [0x1025f764], eax
mov eax, dword [0x10259d5c]
mov dword [esi + 0x8c], eax
mov eax, 0xd87d0e9c
mov ecx, 0x7c3c89d1
mov dword [esi + 0x24], ecx
mov dword [esi + 0x20], eax
mov eax, 0x230484cd
mov ecx, 0x91ff18fb
mov dword [esi + 0x2c], ecx
mov dword [esi + 0x28], eax
mov eax, 0x66d552f8
mov ecx, 0xe3d2656f
mov dword [esi + 0x34], ecx
mov dword [esi + 0x30], eax
mov eax, 0x2e005ae7
mov ecx, 0xb5378f8e
mov dword [esi + 0x3c], ecx
mov dword [esi + 0x38], eax
mov eax, 0xab1c4cdf
mov ecx, 0x1d50d9b4
mov dword [esi + 0x44], ecx
mov dword [esi + 0x40], eax
mov eax, 0xe76e1b4
mov ecx, 0xe7a075c5
mov dword [esi + 0x4c], ecx
mov dword [esi + 0x48], eax
mov eax, 0x36a23791
mov ecx, 0x8bb10b1a
mov dword [esi + 0x54], ecx
mov dword [esi + 0x50], eax
mov eax, 0x426734a6
mov ecx, 0xb5378feb
mov dword [esi + 0x5c], ecx
mov dword [esi + 0x58], eax
lea eax, [esi + 0x40]
xor ecx, ecx
movaps xmm0, xmmword [esi + 0x20]
xorps xmm0, xmmword [eax]
movaps xmmword [esi + 0x20], xmm0
movaps xmm0, xmmword [esi + 0x30]
xorps xmm0, xmmword [eax + 0x10]
movaps xmmword [esi + 0x30], xmm0
mov dword [esi + 0xc8], 6
lea eax, [esi + 0x20]
lea ecx, [esi + 0x74]
mov dword [esi + 0x10], ecx
push eax
call fcn.10015240
mov eax, dword [esi + 0x84]
mov dword [esi + 0xc], eax
cmp dword [esi + 0x88], 0x10
jb 0x10114933
mov eax, dword [esi + 0x74]
mov dword [esi + 0x10], eax
cmp dword [esi + 0xc], 0
je 0x10114dd6
mov eax, dword [esi + 0xc]
mov ecx, eax
and ecx, 3
mov dword [esi + 0x18], ecx
cmp eax, 4
jae 0x10114ebe
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x10114f08
mov dword [esi + 0x90], edi
mov dword [esi + 0x94], edx
mov dword [esi + 0x1c], ecx
or eax, 1
mov dword [0x1025f6ac], eax
mov eax, dword [0x10259d5c]
mov dword [esi + 0x8c], eax
mov eax, 0xd87d0e9c
mov ecx, 0x7c3c89d1
mov dword [esi + 0x24], ecx
mov dword [esi + 0x20], eax
mov eax, 0x230484cd
mov ecx, 0x86ff18fb
mov dword [esi + 0x2c], ecx
mov dword [esi + 0x28], eax
mov eax, 0x43f25af8
mov ecx, 0xcad96874
mov dword [esi + 0x34], ecx
mov dword [esi + 0x30], eax
mov ecx, 0x270b53c8
mov eax, 0xb5378feb
mov edx, 0xb5378feb
mov dword [esi + 0x3c], edx
mov dword [esi + 0x38], ecx
mov ecx, 0xab1c4cdf
mov edx, 0x1d50d9b4
mov dword [esi + 0x44], edx
mov dword [esi + 0x40], ecx
mov ecx, 0xe76e1b4
mov edx, 0xe7a075c5
mov dword [esi + 0x4c], edx
mov dword [esi + 0x48], ecx
mov ecx, 0x36a23791
mov edx, 0x8bb10b1a
mov dword [esi + 0x54], edx
mov dword [esi + 0x50], ecx
mov ecx, 0x426734a6
mov dword [esi + 0x5c], eax
mov dword [esi + 0x58], ecx
lea eax, [esi + 0x40]
xor ecx, ecx
movaps xmm0, xmmword [esi + 0x20]
xorps xmm0, xmmword [eax]
movaps xmmword [esi + 0x20], xmm0
movaps xmm0, xmmword [esi + 0x30]
xorps xmm0, xmmword [eax + 0x10]
movaps xmmword [esi + 0x30], xmm0
mov dword [esi + 0xc8], 8
lea eax, [esi + 0x20]
lea ecx, [esi + 0x74]
mov dword [esi + 0x10], ecx
push eax
call fcn.10015240
mov eax, dword [esi + 0x84]
mov dword [esi + 0xc], eax
cmp dword [esi + 0x88], 0x10
jb 0x10114a4c
mov eax, dword [esi + 0x74]
mov dword [esi + 0x10], eax
cmp dword [esi + 0xc], 0
je 0x10114de0
mov eax, dword [esi + 0xc]
mov ecx, eax
and ecx, 3
mov dword [esi + 0x18], ecx
cmp eax, 4
jae 0x10114f92
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x10114fdc
mov edi, dword [esi + 0x14]
and edi, 0xfffffffc
mov ecx, 0x811c9dc5
xor edx, edx
mov eax, dword [esi + 0xc]
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 0x10114a86
cmp dword [esi + 0x10], 0
je 0x10114add
add edx, dword [esi + 0xc]
xor edi, edi
movzx ebx, byte [edx + edi]
xor ebx, ecx
imul ecx, ebx, 0x1000193
inc edi
cmp dword [esi + 0x10], edi
jne 0x10114acb
mov edx, dword [esi + 0x18]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov edi, dword [eax + ecx*8 + 4]
cmp edi, dword [edx + 4]
je 0x10115072
mov ebx, edi
add ecx, ecx
mov edi, dword [eax + ecx*4]
mov eax, dword [esi + 0x14]
cmp eax, dword [ebx + 0x18]
jne 0x10114b23
cmp dword [ebx + 0x1c], 0x10
jb 0x10114b0d
mov eax, dword [ebx + 8]
jmp 0x10114b10
lea eax, [ebx + 8]
push dword [esi + 0x14]
push eax
push dword [esi + 0xc]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x10114b30
cmp ebx, edi
je 0x10115072
mov ebx, dword [ebx + 4]
jmp 0x10114afa
add ebx, 0x20
lea ecx, [esi + 0x74]
call fcn.10014f60
mov ecx, ebx
mov dword [0x1025f6a8], ebx
mov eax, dword [0x10259d94]
mov ebx, dword [eax]
mov edi, dword [esi + 0x1c]
jmp 0x10114138
mov edi, dword [esi + 0x14]
and edi, 0xfffffffc
mov ecx, 0x811c9dc5
xor edx, edx
mov eax, dword [esi + 0xc]
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 0x10114b62
cmp dword [esi + 0x10], 0
je 0x10114bb9
add edx, dword [esi + 0xc]
xor edi, edi
movzx ebx, byte [edx + edi]
xor ebx, ecx
imul ecx, ebx, 0x1000193
inc edi
cmp dword [esi + 0x10], edi
jne 0x10114ba7
mov edx, dword [esi + 0x18]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov edi, dword [eax + ecx*8 + 4]
cmp edi, dword [edx + 4]
je 0x10115089
add ecx, ecx
mov ebx, dword [eax + ecx*4]
mov eax, dword [esi + 0x14]
cmp eax, dword [edi + 0x18]
jne 0x10114bfd
cmp dword [edi + 0x1c], 0x10
jb 0x10114be7
mov eax, dword [edi + 8]
jmp 0x10114bea
lea eax, [edi + 8]
push dword [esi + 0x14]
push eax
push dword [esi + 0xc]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x10114c0a
cmp edi, ebx
je 0x10115089
mov edi, dword [edi + 4]
jmp 0x10114bd4
add edi, 0x20
lea ecx, [esi + 0x74]
call fcn.10014f60
mov dword [0x1025f760], edi
mov eax, dword [0x10259d94]
mov ebx, dword [esi + 0x1c]
jmp 0x10114167
mov edi, dword [esi + 0x14]
and edi, 0xfffffffc
mov ecx, 0x811c9dc5
xor edx, edx
mov eax, dword [esi + 0xc]
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 0x10114c38
cmp dword [esi + 0x10], 0
je 0x10114c8f
add edx, dword [esi + 0xc]
xor edi, edi
movzx ebx, byte [edx + edi]
xor ebx, ecx
imul ecx, ebx, 0x1000193
inc edi
cmp dword [esi + 0x10], edi
jne 0x10114c7d
mov edx, dword [esi + 0x18]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov ebx, dword [eax + ecx*8 + 4]
cmp ebx, dword [edx + 4]
je 0x101150a0
add ecx, ecx
mov edi, dword [eax + ecx*4]
mov eax, dword [esi + 0x14]
cmp eax, dword [ebx + 0x18]
jne 0x10114cd3
cmp dword [ebx + 0x1c], 0x10
jb 0x10114cbd
mov eax, dword [ebx + 8]
jmp 0x10114cc0
lea eax, [ebx + 8]
push dword [esi + 0x14]
push eax
push dword [esi + 0xc]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x10114ce0
cmp ebx, edi
je 0x101150a0
mov ebx, dword [ebx + 4]
jmp 0x10114caa
add ebx, 0x20
lea ecx, [esi + 0x74]
call fcn.10014f60
mov dword [0x1025f6a8], ebx
mov eax, dword [0x10259d94]
mov edi, dword [esi + 0x1c]
jmp 0x10114295
mov edi, dword [esi + 0x14]
and edi, 0xfffffffc
mov ecx, 0x811c9dc5
xor edx, edx
mov eax, dword [esi + 0xc]
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 0x10114d0e
cmp dword [esi + 0x10], 0
je 0x10114d65
add edx, dword [esi + 0xc]
xor edi, edi
movzx ebx, byte [edx + edi]
xor ebx, ecx
imul ecx, ebx, 0x1000193
inc edi
cmp dword [esi + 0x10], edi
jne 0x10114d53
mov edx, dword [esi + 0x18]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov ebx, dword [eax + ecx*8 + 4]
cmp ebx, dword [edx + 4]
je 0x101150b7
add ecx, ecx
mov edi, dword [eax + ecx*4]
mov eax, dword [esi + 0x14]
cmp eax, dword [ebx + 0x18]
jne 0x10114da9
cmp dword [ebx + 0x1c], 0x10
jb 0x10114d93
mov eax, dword [ebx + 8]
jmp 0x10114d96
lea eax, [ebx + 8]
push dword [esi + 0x14]
push eax
push dword [esi + 0xc]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x10114db6
cmp ebx, edi
je 0x101150b7
mov ebx, dword [ebx + 4]
jmp 0x10114d80
add ebx, 0x20
lea ecx, [esi + 0x74]
call fcn.10014f60
mov dword [0x1025f760], ebx
mov edx, dword [esi + 0x1c]
jmp 0x101142c4
mov ecx, 0x811c9dc5
jmp 0x10114e51
mov ecx, 0x811c9dc5
jmp 0x10114f25
mov ecx, 0x811c9dc5
jmp 0x10114ff9
mov edi, dword [esi + 0xc]
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 0x10114dfa
cmp dword [esi + 0x18], 0
je 0x10114e51
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 + 0x18], edi
jne 0x10114e3f
mov edx, dword [esi + 0x1c]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov ebx, dword [eax + ecx*8 + 4]
cmp ebx, dword [edx + 4]
je 0x101150ce
add ecx, ecx
mov edi, dword [eax + ecx*4]
mov eax, dword [esi + 0xc]
cmp eax, dword [ebx + 0x18]
jne 0x10114e95
cmp dword [ebx + 0x1c], 0x10
jb 0x10114e7f
mov eax, dword [ebx + 8]
jmp 0x10114e82
lea eax, [ebx + 8]
push dword [esi + 0xc]
push eax
push dword [esi + 0x10]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x10114ea2
cmp ebx, edi
je 0x101150ce
mov ebx, dword [ebx + 4]
jmp 0x10114e6c
add ebx, 0x20
lea ecx, [esi + 0x74]
call fcn.10014f60
mov dword [0x1025f760], ebx
mov ecx, dword [esi + 0x8c]
jmp 0x101141c7
mov edi, dword [esi + 0xc]
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 0x10114ece
cmp dword [esi + 0x18], 0
je 0x10114f25
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 + 0x18], edi
jne 0x10114f13
mov edx, dword [esi + 0x8c]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov ebx, dword [eax + ecx*8 + 4]
cmp ebx, dword [edx + 4]
je 0x101150e5
add ecx, ecx
mov edi, dword [eax + ecx*4]
mov eax, dword [esi + 0xc]
cmp eax, dword [ebx + 0x18]
jne 0x10114f6c
cmp dword [ebx + 0x1c], 0x10
jb 0x10114f56
mov eax, dword [ebx + 8]
jmp 0x10114f59
lea eax, [ebx + 8]
push dword [esi + 0xc]
push eax
push dword [esi + 0x10]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x10114f79
cmp ebx, edi
je 0x101150e5
mov ebx, dword [ebx + 4]
jmp 0x10114f43
add ebx, 0x20
lea ecx, [esi + 0x74]
call fcn.10014f60
mov dword [0x1025f760], ebx
mov ecx, dword [esi + 0x1c]
jmp 0x101141f5
mov edi, dword [esi + 0xc]
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 0x10114fa2
cmp dword [esi + 0x18], 0
je 0x10114ff9
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 + 0x18], edi
jne 0x10114fe7
mov edx, dword [esi + 0x8c]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov ebx, dword [eax + ecx*8 + 4]
cmp ebx, dword [edx + 4]
je 0x101150fc
add ecx, ecx
mov edi, dword [eax + ecx*4]
mov eax, dword [esi + 0xc]
cmp eax, dword [ebx + 0x18]
jne 0x10115040
cmp dword [ebx + 0x1c], 0x10
jb 0x1011502a
mov eax, dword [ebx + 8]
jmp 0x1011502d
lea eax, [ebx + 8]
push dword [esi + 0xc]
push eax
push dword [esi + 0x10]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x1011504d
cmp ebx, edi
je 0x101150fc
mov ebx, dword [ebx + 4]
jmp 0x10115017
add ebx, 0x20
lea ecx, [esi + 0x74]
call fcn.10014f60
mov dword [0x1025f6a8], ebx
mov ecx, dword [esi + 0x1c]
mov edx, dword [esi + 0x94]
mov edi, dword [esi + 0x90]
jmp 0x10114221
mov dword [esi + 0xc8], 1
push str.invalid_unordered_map_K__T__key
call sub.MSVCP140.dll_void___cdecl_std::_Xout_of_range_char_const__
add esp, 4
mov dword [esi + 0xc8], 3
push str.invalid_unordered_map_K__T__key
call sub.MSVCP140.dll_void___cdecl_std::_Xout_of_range_char_const__
add esp, 4
mov dword [esi + 0xc8], 0xb
push str.invalid_unordered_map_K__T__key
call sub.MSVCP140.dll_void___cdecl_std::_Xout_of_range_char_const__
add esp, 4
mov dword [esi + 0xc8], 0xd
push str.invalid_unordered_map_K__T__key
call sub.MSVCP140.dll_void___cdecl_std::_Xout_of_range_char_const__
add esp, 4
mov dword [esi + 0xc8], 5
push str.invalid_unordered_map_K__T__key
call sub.MSVCP140.dll_void___cdecl_std::_Xout_of_range_char_const__
add esp, 4
mov dword [esi + 0xc8], 7
push str.invalid_unordered_map_K__T__key
call sub.MSVCP140.dll_void___cdecl_std::_Xout_of_range_char_const__
add esp, 4
mov dword [esi + 0xc8], 9
push str.invalid_unordered_map_K__T__key
call sub.MSVCP140.dll_void___cdecl_std::_Xout_of_range_char_const__
add esp, 4
nop word cs:[eax + eax]
push ebp
sub esp, 0x14
lea esi, [ebp - 0xcc]
mov ebp, dword [esi + 0xb8]
lea ecx, [esi + 0x74]
call fcn.10014f60
add esp, 0x14
pop ebp
ret