Function at 0x10114120
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], 0x10129550
mov ecx, dword fs:[0]
mov dword [esi + 0xc0], ecx
mov dword fs:[0], eax
mov eax, dword [0x1025ae04]
mov edi, dword [eax]
mov ecx, dword [0x1026071c]
test cl, 1
je 0x10114344
mov ecx, dword [0x10260718]
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 [0x102607d4]
test cl, 1
je 0x1011444f
mov edi, dword [0x102607d0]
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 [0x1025adc4]
mov eax, dword [eax + 0x410]
cmp eax, 2
je 0x1011422b
cmp eax, 1
jne 0x10114290
mov eax, dword [0x1025ae04]
mov ecx, dword [eax]
mov eax, dword [0x102607d4]
test al, 1
je 0x10114793
mov ebx, dword [0x102607d0]
mov eax, dword [ebx + 4]
xorps xmm0, xmm0
movlps qword [eax + ecx], xmm0
mov dword [eax + ecx + 8], 0
jmp 0x10114286
mov eax, dword [0x1025ae04]
mov ecx, dword [eax]
mov eax, dword [0x102607d4]
test al, 1
je 0x101148a0
mov ebx, dword [0x102607d0]
mov edx, dword [ebx + 4]
xorps xmm0, xmm0
movlps qword [edx + ecx], xmm0
mov dword [edx + ecx + 8], 0
mov eax, dword [0x1025ae04]
mov edi, dword [eax]
mov eax, dword [0x1026071c]
test al, 1
je 0x101149ad
mov ebx, dword [0x10260718]
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 [0x1025af20]
mov eax, dword [0x1025ae04]
mov eax, dword [eax]
movzx ecx, byte [esi + 0x14]
mov byte [eax + 0x3ac8], cl
mov eax, dword [0x1025ae04]
mov edi, dword [eax]
mov ecx, dword [0x1026071c]
test cl, 1
je 0x1011455a
mov ebx, dword [0x10260718]
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 [0x102607d4]
test al, 1
je 0x10114665
mov ebx, dword [0x102607d0]
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 [0x1026071c], ecx
mov eax, dword [0x1025adcc]
mov dword [esi + 0x18], eax
mov eax, 0x495824d4
mov ecx, 0x8246bc4d
mov dword [esi + 0x24], ecx
mov dword [esi + 0x20], eax
mov eax, 0x99cde595
mov ecx, 0xe62fbe47
mov dword [esi + 0x2c], ecx
mov dword [esi + 0x28], eax
mov eax, 0x47f813b0
mov ecx, 0xacc77588
mov dword [esi + 0x34], ecx
mov dword [esi + 0x30], eax
mov ecx, 0xdac0bb18
mov eax, 0x7f08b8f7
mov edx, 0x7f08b8f7
mov dword [esi + 0x3c], edx
mov dword [esi + 0x38], ecx
mov ecx, 0x3a396697
mov edx, 0xe32aec28
mov dword [esi + 0x44], edx
mov dword [esi + 0x40], ecx
mov ecx, 0xb4bf80ec
mov edx, 0x8770d379
mov dword [esi + 0x4c], edx
mov dword [esi + 0x48], ecx
mov ecx, 0x32a87ed9
mov edx, 0xedaf16e6
mov dword [esi + 0x54], edx
mov dword [esi + 0x50], ecx
mov ecx, 0xbfacdc76
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.10015170
mov eax, dword [esi + 0x84]
mov dword [esi + 0x14], eax
cmp dword [esi + 0x88], 0x10
jb 0x10114425
mov eax, dword [esi + 0x74]
mov dword [esi + 0xc], eax
cmp dword [esi + 0x14], 0
je 0x1011476b
mov eax, dword [esi + 0x14]
mov ecx, eax
and ecx, 3
mov dword [esi + 0x10], ecx
cmp eax, 4
jae 0x10114ac6
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x10114b10
mov dword [esi + 0x1c], ebx
or ecx, 1
mov dword [0x102607d4], ecx
mov eax, dword [0x1025adcc]
mov dword [esi + 0x18], eax
mov eax, 0x495824d4
mov ecx, 0x8246bc4d
mov dword [esi + 0x24], ecx
mov dword [esi + 0x20], eax
mov eax, 0x99cde595
mov ecx, 0xf12fbe47
mov dword [esi + 0x2c], ecx
mov dword [esi + 0x28], eax
mov eax, 0x62df1bb0
mov ecx, 0x85cc7893
mov dword [esi + 0x34], ecx
mov dword [esi + 0x30], eax
mov eax, 0xd3cbb237
mov ecx, 0x7f08b892
mov dword [esi + 0x3c], ecx
mov dword [esi + 0x38], eax
mov eax, 0x3a396697
mov ecx, 0xe32aec28
mov dword [esi + 0x44], ecx
mov dword [esi + 0x40], eax
mov eax, 0xb4bf80ec
mov ecx, 0x8770d379
mov dword [esi + 0x4c], ecx
mov dword [esi + 0x48], eax
mov eax, 0x32a87ed9
mov ecx, 0xedaf16e6
mov dword [esi + 0x54], ecx
mov dword [esi + 0x50], eax
mov eax, 0xbfacdc76
mov ecx, 0x7f08b8f7
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.10015170
mov eax, dword [esi + 0x84]
mov dword [esi + 0x14], eax
cmp dword [esi + 0x88], 0x10
jb 0x10114530
mov eax, dword [esi + 0x74]
mov dword [esi + 0xc], eax
cmp dword [esi + 0x14], 0
je 0x10114775
mov eax, dword [esi + 0x14]
mov ecx, eax
and ecx, 3
mov dword [esi + 0x10], ecx
cmp eax, 4
jae 0x10114ba2
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x10114bec
mov dword [esi + 0x1c], edi
or ecx, 1
mov dword [0x1026071c], ecx
mov eax, dword [0x1025adcc]
mov dword [esi + 0x18], eax
mov eax, 0x495824d4
mov ecx, 0x8246bc4d
mov dword [esi + 0x24], ecx
mov dword [esi + 0x20], eax
mov eax, 0x99cde595
mov ecx, 0xe62fbe47
mov dword [esi + 0x2c], ecx
mov dword [esi + 0x28], eax
mov eax, 0x47f813b0
mov ecx, 0xacc77588
mov dword [esi + 0x34], ecx
mov dword [esi + 0x30], eax
mov ecx, 0xdac0bb18
mov eax, 0x7f08b8f7
mov edx, 0x7f08b8f7
mov dword [esi + 0x3c], edx
mov dword [esi + 0x38], ecx
mov ecx, 0x3a396697
mov edx, 0xe32aec28
mov dword [esi + 0x44], edx
mov dword [esi + 0x40], ecx
mov ecx, 0xb4bf80ec
mov edx, 0x8770d379
mov dword [esi + 0x4c], edx
mov dword [esi + 0x48], ecx
mov ecx, 0x32a87ed9
mov edx, 0xedaf16e6
mov dword [esi + 0x54], edx
mov dword [esi + 0x50], ecx
mov ecx, 0xbfacdc76
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.10015170
mov eax, dword [esi + 0x84]
mov dword [esi + 0x14], eax
cmp dword [esi + 0x88], 0x10
jb 0x1011463b
mov eax, dword [esi + 0x74]
mov dword [esi + 0xc], eax
cmp dword [esi + 0x14], 0
je 0x1011477f
mov eax, dword [esi + 0x14]
mov ecx, eax
and ecx, 3
mov dword [esi + 0x10], ecx
cmp eax, 4
jae 0x10114c78
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x10114cc2
mov dword [esi + 0x1c], edx
or eax, 1
mov dword [0x102607d4], eax
mov eax, dword [0x1025adcc]
mov dword [esi + 0x18], eax
mov eax, 0x495824d4
mov ecx, 0x8246bc4d
mov dword [esi + 0x24], ecx
mov dword [esi + 0x20], eax
mov eax, 0x99cde595
mov ecx, 0xf12fbe47
mov dword [esi + 0x2c], ecx
mov dword [esi + 0x28], eax
mov eax, 0x62df1bb0
mov ecx, 0x85cc7893
mov dword [esi + 0x34], ecx
mov dword [esi + 0x30], eax
mov eax, 0xd3cbb237
mov ecx, 0x7f08b892
mov dword [esi + 0x3c], ecx
mov dword [esi + 0x38], eax
mov eax, 0x3a396697
mov ecx, 0xe32aec28
mov dword [esi + 0x44], ecx
mov dword [esi + 0x40], eax
mov eax, 0xb4bf80ec
mov ecx, 0x8770d379
mov dword [esi + 0x4c], ecx
mov dword [esi + 0x48], eax
mov eax, 0x32a87ed9
mov ecx, 0xedaf16e6
mov dword [esi + 0x54], ecx
mov dword [esi + 0x50], eax
mov eax, 0xbfacdc76
mov ecx, 0x7f08b8f7
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.10015170
mov eax, dword [esi + 0x84]
mov dword [esi + 0x14], eax
cmp dword [esi + 0x88], 0x10
jb 0x10114745
mov eax, dword [esi + 0x74]
mov dword [esi + 0xc], eax
cmp dword [esi + 0x14], 0
je 0x10114789
mov eax, dword [esi + 0x14]
mov ecx, eax
and ecx, 3
mov dword [esi + 0x10], ecx
cmp eax, 4
jae 0x10114d4e
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x10114d98
mov ecx, 0x811c9dc5
jmp 0x10114b2d
mov ecx, 0x811c9dc5
jmp 0x10114c09
mov ecx, 0x811c9dc5
jmp 0x10114cdf
mov ecx, 0x811c9dc5
jmp 0x10114db5
mov dword [esi + 0x8c], ecx
or eax, 1
mov dword [0x102607d4], eax
mov eax, dword [0x1025adcc]
mov dword [esi + 0x1c], eax
mov eax, 0x495824d4
mov ecx, 0x8246bc4d
mov dword [esi + 0x24], ecx
mov dword [esi + 0x20], eax
mov eax, 0x99cde595
mov ecx, 0xf12fbe47
mov dword [esi + 0x2c], ecx
mov dword [esi + 0x28], eax
mov eax, 0x62df1bb0
mov ecx, 0x85cc7893
mov dword [esi + 0x34], ecx
mov dword [esi + 0x30], eax
mov eax, 0xd3cbb237
mov ecx, 0x7f08b892
mov dword [esi + 0x3c], ecx
mov dword [esi + 0x38], eax
mov eax, 0x3a396697
mov ecx, 0xe32aec28
mov dword [esi + 0x44], ecx
mov dword [esi + 0x40], eax
mov eax, 0xb4bf80ec
mov ecx, 0x8770d379
mov dword [esi + 0x4c], ecx
mov dword [esi + 0x48], eax
mov eax, 0x32a87ed9
mov ecx, 0xedaf16e6
mov dword [esi + 0x54], ecx
mov dword [esi + 0x50], eax
mov eax, 0xbfacdc76
mov ecx, 0x7f08b8f7
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.10015170
mov eax, dword [esi + 0x84]
mov dword [esi + 0xc], eax
cmp dword [esi + 0x88], 0x10
jb 0x10114876
mov eax, dword [esi + 0x74]
mov dword [esi + 0x10], eax
cmp dword [esi + 0xc], 0
je 0x10114e1f
mov eax, dword [esi + 0xc]
mov ecx, eax
and ecx, 3
mov dword [esi + 0x18], ecx
cmp eax, 4
jae 0x10114e3a
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x10114e84
mov dword [esi + 0x1c], ecx
or eax, 1
mov dword [0x102607d4], eax
mov eax, dword [0x1025adcc]
mov dword [esi + 0x8c], eax
mov eax, 0x495824d4
mov ecx, 0x8246bc4d
mov dword [esi + 0x24], ecx
mov dword [esi + 0x20], eax
mov eax, 0x99cde595
mov ecx, 0xf12fbe47
mov dword [esi + 0x2c], ecx
mov dword [esi + 0x28], eax
mov eax, 0x62df1bb0
mov ecx, 0x85cc7893
mov dword [esi + 0x34], ecx
mov dword [esi + 0x30], eax
mov eax, 0xd3cbb237
mov ecx, 0x7f08b892
mov dword [esi + 0x3c], ecx
mov dword [esi + 0x38], eax
mov eax, 0x3a396697
mov ecx, 0xe32aec28
mov dword [esi + 0x44], ecx
mov dword [esi + 0x40], eax
mov eax, 0xb4bf80ec
mov ecx, 0x8770d379
mov dword [esi + 0x4c], ecx
mov dword [esi + 0x48], eax
mov eax, 0x32a87ed9
mov ecx, 0xedaf16e6
mov dword [esi + 0x54], ecx
mov dword [esi + 0x50], eax
mov eax, 0xbfacdc76
mov ecx, 0x7f08b8f7
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.10015170
mov eax, dword [esi + 0x84]
mov dword [esi + 0xc], eax
cmp dword [esi + 0x88], 0x10
jb 0x10114983
mov eax, dword [esi + 0x74]
mov dword [esi + 0x10], eax
cmp dword [esi + 0xc], 0
je 0x10114e26
mov eax, dword [esi + 0xc]
mov ecx, eax
and ecx, 3
mov dword [esi + 0x18], ecx
cmp eax, 4
jae 0x10114f0e
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x10114f58
mov dword [esi + 0x90], edi
mov dword [esi + 0x94], edx
mov dword [esi + 0x1c], ecx
or eax, 1
mov dword [0x1026071c], eax
mov eax, dword [0x1025adcc]
mov dword [esi + 0x8c], eax
mov eax, 0x495824d4
mov ecx, 0x8246bc4d
mov dword [esi + 0x24], ecx
mov dword [esi + 0x20], eax
mov eax, 0x99cde595
mov ecx, 0xe62fbe47
mov dword [esi + 0x2c], ecx
mov dword [esi + 0x28], eax
mov eax, 0x47f813b0
mov ecx, 0xacc77588
mov dword [esi + 0x34], ecx
mov dword [esi + 0x30], eax
mov ecx, 0xdac0bb18
mov eax, 0x7f08b8f7
mov edx, 0x7f08b8f7
mov dword [esi + 0x3c], edx
mov dword [esi + 0x38], ecx
mov ecx, 0x3a396697
mov edx, 0xe32aec28
mov dword [esi + 0x44], edx
mov dword [esi + 0x40], ecx
mov ecx, 0xb4bf80ec
mov edx, 0x8770d379
mov dword [esi + 0x4c], edx
mov dword [esi + 0x48], ecx
mov ecx, 0x32a87ed9
mov edx, 0xedaf16e6
mov dword [esi + 0x54], edx
mov dword [esi + 0x50], ecx
mov ecx, 0xbfacdc76
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.10015170
mov eax, dword [esi + 0x84]
mov dword [esi + 0xc], eax
cmp dword [esi + 0x88], 0x10
jb 0x10114a9c
mov eax, dword [esi + 0x74]
mov dword [esi + 0x10], eax
cmp dword [esi + 0xc], 0
je 0x10114e30
mov eax, dword [esi + 0xc]
mov ecx, eax
and ecx, 3
mov dword [esi + 0x18], ecx
cmp eax, 4
jae 0x10114fe2
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x1011502c
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 0x10114ad6
cmp dword [esi + 0x10], 0
je 0x10114b2d
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 0x10114b1b
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 0x101150c2
mov ebx, edi
add ecx, ecx
mov edi, dword [eax + ecx*4]
mov eax, dword [esi + 0x14]
cmp eax, dword [ebx + 0x18]
jne 0x10114b73
cmp dword [ebx + 0x1c], 0x10
jb 0x10114b5d
mov eax, dword [ebx + 8]
jmp 0x10114b60
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 0x10114b80
cmp ebx, edi
je 0x101150c2
mov ebx, dword [ebx + 4]
jmp 0x10114b4a
add ebx, 0x20
lea ecx, [esi + 0x74]
call fcn.10015110
mov ecx, ebx
mov dword [0x10260718], ebx
mov eax, dword [0x1025ae04]
mov ebx, dword [eax]
mov edi, dword [esi + 0x1c]
jmp 0x10114188
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 0x10114bb2
cmp dword [esi + 0x10], 0
je 0x10114c09
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 0x10114bf7
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 0x101150d9
add ecx, ecx
mov ebx, dword [eax + ecx*4]
mov eax, dword [esi + 0x14]
cmp eax, dword [edi + 0x18]
jne 0x10114c4d
cmp dword [edi + 0x1c], 0x10
jb 0x10114c37
mov eax, dword [edi + 8]
jmp 0x10114c3a
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 0x10114c5a
cmp edi, ebx
je 0x101150d9
mov edi, dword [edi + 4]
jmp 0x10114c24
add edi, 0x20
lea ecx, [esi + 0x74]
call fcn.10015110
mov dword [0x102607d0], edi
mov eax, dword [0x1025ae04]
mov ebx, dword [esi + 0x1c]
jmp 0x101141b7
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 0x10114c88
cmp dword [esi + 0x10], 0
je 0x10114cdf
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 0x10114ccd
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 0x101150f0
add ecx, ecx
mov edi, dword [eax + ecx*4]
mov eax, dword [esi + 0x14]
cmp eax, dword [ebx + 0x18]
jne 0x10114d23
cmp dword [ebx + 0x1c], 0x10
jb 0x10114d0d
mov eax, dword [ebx + 8]
jmp 0x10114d10
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 0x10114d30
cmp ebx, edi
je 0x101150f0
mov ebx, dword [ebx + 4]
jmp 0x10114cfa
add ebx, 0x20
lea ecx, [esi + 0x74]
call fcn.10015110
mov dword [0x10260718], ebx
mov eax, dword [0x1025ae04]
mov edi, dword [esi + 0x1c]
jmp 0x101142e5
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 0x10114d5e
cmp dword [esi + 0x10], 0
je 0x10114db5
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 0x10114da3
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 0x10115107
add ecx, ecx
mov edi, dword [eax + ecx*4]
mov eax, dword [esi + 0x14]
cmp eax, dword [ebx + 0x18]
jne 0x10114df9
cmp dword [ebx + 0x1c], 0x10
jb 0x10114de3
mov eax, dword [ebx + 8]
jmp 0x10114de6
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 0x10114e06
cmp ebx, edi
je 0x10115107
mov ebx, dword [ebx + 4]
jmp 0x10114dd0
add ebx, 0x20
lea ecx, [esi + 0x74]
call fcn.10015110
mov dword [0x102607d0], ebx
mov edx, dword [esi + 0x1c]
jmp 0x10114314
mov ecx, 0x811c9dc5
jmp 0x10114ea1
mov ecx, 0x811c9dc5
jmp 0x10114f75
mov ecx, 0x811c9dc5
jmp 0x10115049
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 0x10114e4a
cmp dword [esi + 0x18], 0
je 0x10114ea1
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 0x10114e8f
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 0x1011511e
add ecx, ecx
mov edi, dword [eax + ecx*4]
mov eax, dword [esi + 0xc]
cmp eax, dword [ebx + 0x18]
jne 0x10114ee5
cmp dword [ebx + 0x1c], 0x10
jb 0x10114ecf
mov eax, dword [ebx + 8]
jmp 0x10114ed2
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 0x10114ef2
cmp ebx, edi
je 0x1011511e
mov ebx, dword [ebx + 4]
jmp 0x10114ebc
add ebx, 0x20
lea ecx, [esi + 0x74]
call fcn.10015110
mov dword [0x102607d0], ebx
mov ecx, dword [esi + 0x8c]
jmp 0x10114217
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 0x10114f1e
cmp dword [esi + 0x18], 0
je 0x10114f75
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 0x10114f63
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 0x10115135
add ecx, ecx
mov edi, dword [eax + ecx*4]
mov eax, dword [esi + 0xc]
cmp eax, dword [ebx + 0x18]
jne 0x10114fbc
cmp dword [ebx + 0x1c], 0x10
jb 0x10114fa6
mov eax, dword [ebx + 8]
jmp 0x10114fa9
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 0x10114fc9
cmp ebx, edi
je 0x10115135
mov ebx, dword [ebx + 4]
jmp 0x10114f93
add ebx, 0x20
lea ecx, [esi + 0x74]
call fcn.10015110
mov dword [0x102607d0], ebx
mov ecx, dword [esi + 0x1c]
jmp 0x10114245
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 0x10114ff2
cmp dword [esi + 0x18], 0
je 0x10115049
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 0x10115037
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 0x1011514c
add ecx, ecx
mov edi, dword [eax + ecx*4]
mov eax, dword [esi + 0xc]
cmp eax, dword [ebx + 0x18]
jne 0x10115090
cmp dword [ebx + 0x1c], 0x10
jb 0x1011507a
mov eax, dword [ebx + 8]
jmp 0x1011507d
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 0x1011509d
cmp ebx, edi
je 0x1011514c
mov ebx, dword [ebx + 4]
jmp 0x10115067
add ebx, 0x20
lea ecx, [esi + 0x74]
call fcn.10015110
mov dword [0x10260718], ebx
mov ecx, dword [esi + 0x1c]
mov edx, dword [esi + 0x94]
mov edi, dword [esi + 0x90]
jmp 0x10114271
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.10015110
add esp, 0x14
pop ebp
ret