Function at 0x10113fb0
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], 0x101276d0
mov ecx, dword fs:[0]
mov dword [esi + 0xc0], ecx
mov dword fs:[0], eax
mov eax, dword [0x10258d94]
mov edi, dword [eax]
mov ecx, dword [0x1025e6ac]
test cl, 1
je 0x101141d4
mov ecx, dword [0x1025e6a8]
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 [0x1025e764]
test cl, 1
je 0x101142df
mov edi, dword [0x1025e760]
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 [0x10258d54]
mov eax, dword [eax + 0x410]
cmp eax, 2
je 0x101140bb
cmp eax, 1
jne 0x10114120
mov eax, dword [0x10258d94]
mov ecx, dword [eax]
mov eax, dword [0x1025e764]
test al, 1
je 0x10114623
mov ebx, dword [0x1025e760]
mov eax, dword [ebx + 4]
xorps xmm0, xmm0
movlps qword [eax + ecx], xmm0
mov dword [eax + ecx + 8], 0
jmp 0x10114116
mov eax, dword [0x10258d94]
mov ecx, dword [eax]
mov eax, dword [0x1025e764]
test al, 1
je 0x10114730
mov ebx, dword [0x1025e760]
mov edx, dword [ebx + 4]
xorps xmm0, xmm0
movlps qword [edx + ecx], xmm0
mov dword [edx + ecx + 8], 0
mov eax, dword [0x10258d94]
mov edi, dword [eax]
mov eax, dword [0x1025e6ac]
test al, 1
je 0x1011483d
mov ebx, dword [0x1025e6a8]
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 [0x10258eb0]
mov eax, dword [0x10258d94]
mov eax, dword [eax]
movzx ecx, byte [esi + 0x14]
mov byte [eax + 0x3ac8], cl
mov eax, dword [0x10258d94]
mov edi, dword [eax]
mov ecx, dword [0x1025e6ac]
test cl, 1
je 0x101143ea
mov ebx, dword [0x1025e6a8]
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 [0x1025e764]
test al, 1
je 0x101144f5
mov ebx, dword [0x1025e760]
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 [0x1025e6ac], ecx
mov eax, dword [0x10258d5c]
mov dword [esi + 0x18], eax
mov eax, 0x90044af0
mov ecx, 0x981991c5
mov dword [esi + 0x24], ecx
mov dword [esi + 0x20], eax
mov eax, 0xef17b599
mov ecx, 0x1af14cbb
mov dword [esi + 0x2c], ecx
mov dword [esi + 0x28], eax
mov eax, 0x128afa2c
mov ecx, 0x28bda268
mov dword [esi + 0x34], ecx
mov dword [esi + 0x30], eax
mov ecx, 0x71764f54
mov eax, 0xd28d404b
mov edx, 0xd28d404b
mov dword [esi + 0x3c], edx
mov dword [esi + 0x38], ecx
mov ecx, 0xe36508b3
mov edx, 0xf975c1a0
mov dword [esi + 0x44], edx
mov dword [esi + 0x40], ecx
mov ecx, 0xc265d0e0
mov edx, 0x7bae2185
mov dword [esi + 0x4c], edx
mov dword [esi + 0x48], ecx
mov ecx, 0x67da9745
mov edx, 0x69d5c106
mov dword [esi + 0x54], edx
mov dword [esi + 0x50], ecx
mov ecx, 0x141a283a
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 0x101142b5
mov eax, dword [esi + 0x74]
mov dword [esi + 0xc], eax
cmp dword [esi + 0x14], 0
je 0x101145fb
mov eax, dword [esi + 0x14]
mov ecx, eax
and ecx, 3
mov dword [esi + 0x10], ecx
cmp eax, 4
jae 0x10114956
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x101149a0
mov dword [esi + 0x1c], ebx
or ecx, 1
mov dword [0x1025e764], ecx
mov eax, dword [0x10258d5c]
mov dword [esi + 0x18], eax
mov eax, 0x90044af0
mov ecx, 0x981991c5
mov dword [esi + 0x24], ecx
mov dword [esi + 0x20], eax
mov eax, 0xef17b599
mov ecx, 0xdf14cbb
mov dword [esi + 0x2c], ecx
mov dword [esi + 0x28], eax
mov eax, 0x37adf22c
mov ecx, 0x1b6af73
mov dword [esi + 0x34], ecx
mov dword [esi + 0x30], eax
mov eax, 0x787d467b
mov ecx, 0xd28d402e
mov dword [esi + 0x3c], ecx
mov dword [esi + 0x38], eax
mov eax, 0xe36508b3
mov ecx, 0xf975c1a0
mov dword [esi + 0x44], ecx
mov dword [esi + 0x40], eax
mov eax, 0xc265d0e0
mov ecx, 0x7bae2185
mov dword [esi + 0x4c], ecx
mov dword [esi + 0x48], eax
mov eax, 0x67da9745
mov ecx, 0x69d5c106
mov dword [esi + 0x54], ecx
mov dword [esi + 0x50], eax
mov eax, 0x141a283a
mov ecx, 0xd28d404b
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 0x101143c0
mov eax, dword [esi + 0x74]
mov dword [esi + 0xc], eax
cmp dword [esi + 0x14], 0
je 0x10114605
mov eax, dword [esi + 0x14]
mov ecx, eax
and ecx, 3
mov dword [esi + 0x10], ecx
cmp eax, 4
jae 0x10114a32
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x10114a7c
mov dword [esi + 0x1c], edi
or ecx, 1
mov dword [0x1025e6ac], ecx
mov eax, dword [0x10258d5c]
mov dword [esi + 0x18], eax
mov eax, 0x90044af0
mov ecx, 0x981991c5
mov dword [esi + 0x24], ecx
mov dword [esi + 0x20], eax
mov eax, 0xef17b599
mov ecx, 0x1af14cbb
mov dword [esi + 0x2c], ecx
mov dword [esi + 0x28], eax
mov eax, 0x128afa2c
mov ecx, 0x28bda268
mov dword [esi + 0x34], ecx
mov dword [esi + 0x30], eax
mov ecx, 0x71764f54
mov eax, 0xd28d404b
mov edx, 0xd28d404b
mov dword [esi + 0x3c], edx
mov dword [esi + 0x38], ecx
mov ecx, 0xe36508b3
mov edx, 0xf975c1a0
mov dword [esi + 0x44], edx
mov dword [esi + 0x40], ecx
mov ecx, 0xc265d0e0
mov edx, 0x7bae2185
mov dword [esi + 0x4c], edx
mov dword [esi + 0x48], ecx
mov ecx, 0x67da9745
mov edx, 0x69d5c106
mov dword [esi + 0x54], edx
mov dword [esi + 0x50], ecx
mov ecx, 0x141a283a
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 0x101144cb
mov eax, dword [esi + 0x74]
mov dword [esi + 0xc], eax
cmp dword [esi + 0x14], 0
je 0x1011460f
mov eax, dword [esi + 0x14]
mov ecx, eax
and ecx, 3
mov dword [esi + 0x10], ecx
cmp eax, 4
jae 0x10114b08
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x10114b52
mov dword [esi + 0x1c], edx
or eax, 1
mov dword [0x1025e764], eax
mov eax, dword [0x10258d5c]
mov dword [esi + 0x18], eax
mov eax, 0x90044af0
mov ecx, 0x981991c5
mov dword [esi + 0x24], ecx
mov dword [esi + 0x20], eax
mov eax, 0xef17b599
mov ecx, 0xdf14cbb
mov dword [esi + 0x2c], ecx
mov dword [esi + 0x28], eax
mov eax, 0x37adf22c
mov ecx, 0x1b6af73
mov dword [esi + 0x34], ecx
mov dword [esi + 0x30], eax
mov eax, 0x787d467b
mov ecx, 0xd28d402e
mov dword [esi + 0x3c], ecx
mov dword [esi + 0x38], eax
mov eax, 0xe36508b3
mov ecx, 0xf975c1a0
mov dword [esi + 0x44], ecx
mov dword [esi + 0x40], eax
mov eax, 0xc265d0e0
mov ecx, 0x7bae2185
mov dword [esi + 0x4c], ecx
mov dword [esi + 0x48], eax
mov eax, 0x67da9745
mov ecx, 0x69d5c106
mov dword [esi + 0x54], ecx
mov dword [esi + 0x50], eax
mov eax, 0x141a283a
mov ecx, 0xd28d404b
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 0x101145d5
mov eax, dword [esi + 0x74]
mov dword [esi + 0xc], eax
cmp dword [esi + 0x14], 0
je 0x10114619
mov eax, dword [esi + 0x14]
mov ecx, eax
and ecx, 3
mov dword [esi + 0x10], ecx
cmp eax, 4
jae 0x10114bde
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x10114c28
mov ecx, 0x811c9dc5
jmp 0x101149bd
mov ecx, 0x811c9dc5
jmp 0x10114a99
mov ecx, 0x811c9dc5
jmp 0x10114b6f
mov ecx, 0x811c9dc5
jmp 0x10114c45
mov dword [esi + 0x8c], ecx
or eax, 1
mov dword [0x1025e764], eax
mov eax, dword [0x10258d5c]
mov dword [esi + 0x1c], eax
mov eax, 0x90044af0
mov ecx, 0x981991c5
mov dword [esi + 0x24], ecx
mov dword [esi + 0x20], eax
mov eax, 0xef17b599
mov ecx, 0xdf14cbb
mov dword [esi + 0x2c], ecx
mov dword [esi + 0x28], eax
mov eax, 0x37adf22c
mov ecx, 0x1b6af73
mov dword [esi + 0x34], ecx
mov dword [esi + 0x30], eax
mov eax, 0x787d467b
mov ecx, 0xd28d402e
mov dword [esi + 0x3c], ecx
mov dword [esi + 0x38], eax
mov eax, 0xe36508b3
mov ecx, 0xf975c1a0
mov dword [esi + 0x44], ecx
mov dword [esi + 0x40], eax
mov eax, 0xc265d0e0
mov ecx, 0x7bae2185
mov dword [esi + 0x4c], ecx
mov dword [esi + 0x48], eax
mov eax, 0x67da9745
mov ecx, 0x69d5c106
mov dword [esi + 0x54], ecx
mov dword [esi + 0x50], eax
mov eax, 0x141a283a
mov ecx, 0xd28d404b
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 0x10114706
mov eax, dword [esi + 0x74]
mov dword [esi + 0x10], eax
cmp dword [esi + 0xc], 0
je 0x10114caf
mov eax, dword [esi + 0xc]
mov ecx, eax
and ecx, 3
mov dword [esi + 0x18], ecx
cmp eax, 4
jae 0x10114cca
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x10114d14
mov dword [esi + 0x1c], ecx
or eax, 1
mov dword [0x1025e764], eax
mov eax, dword [0x10258d5c]
mov dword [esi + 0x8c], eax
mov eax, 0x90044af0
mov ecx, 0x981991c5
mov dword [esi + 0x24], ecx
mov dword [esi + 0x20], eax
mov eax, 0xef17b599
mov ecx, 0xdf14cbb
mov dword [esi + 0x2c], ecx
mov dword [esi + 0x28], eax
mov eax, 0x37adf22c
mov ecx, 0x1b6af73
mov dword [esi + 0x34], ecx
mov dword [esi + 0x30], eax
mov eax, 0x787d467b
mov ecx, 0xd28d402e
mov dword [esi + 0x3c], ecx
mov dword [esi + 0x38], eax
mov eax, 0xe36508b3
mov ecx, 0xf975c1a0
mov dword [esi + 0x44], ecx
mov dword [esi + 0x40], eax
mov eax, 0xc265d0e0
mov ecx, 0x7bae2185
mov dword [esi + 0x4c], ecx
mov dword [esi + 0x48], eax
mov eax, 0x67da9745
mov ecx, 0x69d5c106
mov dword [esi + 0x54], ecx
mov dword [esi + 0x50], eax
mov eax, 0x141a283a
mov ecx, 0xd28d404b
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 0x10114813
mov eax, dword [esi + 0x74]
mov dword [esi + 0x10], eax
cmp dword [esi + 0xc], 0
je 0x10114cb6
mov eax, dword [esi + 0xc]
mov ecx, eax
and ecx, 3
mov dword [esi + 0x18], ecx
cmp eax, 4
jae 0x10114d9e
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x10114de8
mov dword [esi + 0x90], edi
mov dword [esi + 0x94], edx
mov dword [esi + 0x1c], ecx
or eax, 1
mov dword [0x1025e6ac], eax
mov eax, dword [0x10258d5c]
mov dword [esi + 0x8c], eax
mov eax, 0x90044af0
mov ecx, 0x981991c5
mov dword [esi + 0x24], ecx
mov dword [esi + 0x20], eax
mov eax, 0xef17b599
mov ecx, 0x1af14cbb
mov dword [esi + 0x2c], ecx
mov dword [esi + 0x28], eax
mov eax, 0x128afa2c
mov ecx, 0x28bda268
mov dword [esi + 0x34], ecx
mov dword [esi + 0x30], eax
mov ecx, 0x71764f54
mov eax, 0xd28d404b
mov edx, 0xd28d404b
mov dword [esi + 0x3c], edx
mov dword [esi + 0x38], ecx
mov ecx, 0xe36508b3
mov edx, 0xf975c1a0
mov dword [esi + 0x44], edx
mov dword [esi + 0x40], ecx
mov ecx, 0xc265d0e0
mov edx, 0x7bae2185
mov dword [esi + 0x4c], edx
mov dword [esi + 0x48], ecx
mov ecx, 0x67da9745
mov edx, 0x69d5c106
mov dword [esi + 0x54], edx
mov dword [esi + 0x50], ecx
mov ecx, 0x141a283a
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 0x1011492c
mov eax, dword [esi + 0x74]
mov dword [esi + 0x10], eax
cmp dword [esi + 0xc], 0
je 0x10114cc0
mov eax, dword [esi + 0xc]
mov ecx, eax
and ecx, 3
mov dword [esi + 0x18], ecx
cmp eax, 4
jae 0x10114e72
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x10114ebc
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 0x10114966
cmp dword [esi + 0x10], 0
je 0x101149bd
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 0x101149ab
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 0x10114f52
mov ebx, edi
add ecx, ecx
mov edi, dword [eax + ecx*4]
mov eax, dword [esi + 0x14]
cmp eax, dword [ebx + 0x18]
jne 0x10114a03
cmp dword [ebx + 0x1c], 0x10
jb 0x101149ed
mov eax, dword [ebx + 8]
jmp 0x101149f0
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 0x10114a10
cmp ebx, edi
je 0x10114f52
mov ebx, dword [ebx + 4]
jmp 0x101149da
add ebx, 0x20
lea ecx, [esi + 0x74]
call fcn.10014f60
mov ecx, ebx
mov dword [0x1025e6a8], ebx
mov eax, dword [0x10258d94]
mov ebx, dword [eax]
mov edi, dword [esi + 0x1c]
jmp 0x10114018
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 0x10114a42
cmp dword [esi + 0x10], 0
je 0x10114a99
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 0x10114a87
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 0x10114f69
add ecx, ecx
mov ebx, dword [eax + ecx*4]
mov eax, dword [esi + 0x14]
cmp eax, dword [edi + 0x18]
jne 0x10114add
cmp dword [edi + 0x1c], 0x10
jb 0x10114ac7
mov eax, dword [edi + 8]
jmp 0x10114aca
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 0x10114aea
cmp edi, ebx
je 0x10114f69
mov edi, dword [edi + 4]
jmp 0x10114ab4
add edi, 0x20
lea ecx, [esi + 0x74]
call fcn.10014f60
mov dword [0x1025e760], edi
mov eax, dword [0x10258d94]
mov ebx, dword [esi + 0x1c]
jmp 0x10114047
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 0x10114b18
cmp dword [esi + 0x10], 0
je 0x10114b6f
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 0x10114b5d
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 0x10114f80
add ecx, ecx
mov edi, dword [eax + ecx*4]
mov eax, dword [esi + 0x14]
cmp eax, dword [ebx + 0x18]
jne 0x10114bb3
cmp dword [ebx + 0x1c], 0x10
jb 0x10114b9d
mov eax, dword [ebx + 8]
jmp 0x10114ba0
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 0x10114bc0
cmp ebx, edi
je 0x10114f80
mov ebx, dword [ebx + 4]
jmp 0x10114b8a
add ebx, 0x20
lea ecx, [esi + 0x74]
call fcn.10014f60
mov dword [0x1025e6a8], ebx
mov eax, dword [0x10258d94]
mov edi, dword [esi + 0x1c]
jmp 0x10114175
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 0x10114bee
cmp dword [esi + 0x10], 0
je 0x10114c45
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 0x10114c33
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 0x10114f97
add ecx, ecx
mov edi, dword [eax + ecx*4]
mov eax, dword [esi + 0x14]
cmp eax, dword [ebx + 0x18]
jne 0x10114c89
cmp dword [ebx + 0x1c], 0x10
jb 0x10114c73
mov eax, dword [ebx + 8]
jmp 0x10114c76
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 0x10114c96
cmp ebx, edi
je 0x10114f97
mov ebx, dword [ebx + 4]
jmp 0x10114c60
add ebx, 0x20
lea ecx, [esi + 0x74]
call fcn.10014f60
mov dword [0x1025e760], ebx
mov edx, dword [esi + 0x1c]
jmp 0x101141a4
mov ecx, 0x811c9dc5
jmp 0x10114d31
mov ecx, 0x811c9dc5
jmp 0x10114e05
mov ecx, 0x811c9dc5
jmp 0x10114ed9
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 0x10114cda
cmp dword [esi + 0x18], 0
je 0x10114d31
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 0x10114d1f
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 0x10114fae
add ecx, ecx
mov edi, dword [eax + ecx*4]
mov eax, dword [esi + 0xc]
cmp eax, dword [ebx + 0x18]
jne 0x10114d75
cmp dword [ebx + 0x1c], 0x10
jb 0x10114d5f
mov eax, dword [ebx + 8]
jmp 0x10114d62
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 0x10114d82
cmp ebx, edi
je 0x10114fae
mov ebx, dword [ebx + 4]
jmp 0x10114d4c
add ebx, 0x20
lea ecx, [esi + 0x74]
call fcn.10014f60
mov dword [0x1025e760], ebx
mov ecx, dword [esi + 0x8c]
jmp 0x101140a7
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 0x10114dae
cmp dword [esi + 0x18], 0
je 0x10114e05
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 0x10114df3
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 0x10114fc5
add ecx, ecx
mov edi, dword [eax + ecx*4]
mov eax, dword [esi + 0xc]
cmp eax, dword [ebx + 0x18]
jne 0x10114e4c
cmp dword [ebx + 0x1c], 0x10
jb 0x10114e36
mov eax, dword [ebx + 8]
jmp 0x10114e39
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 0x10114e59
cmp ebx, edi
je 0x10114fc5
mov ebx, dword [ebx + 4]
jmp 0x10114e23
add ebx, 0x20
lea ecx, [esi + 0x74]
call fcn.10014f60
mov dword [0x1025e760], ebx
mov ecx, dword [esi + 0x1c]
jmp 0x101140d5
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 0x10114e82
cmp dword [esi + 0x18], 0
je 0x10114ed9
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 0x10114ec7
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 0x10114fdc
add ecx, ecx
mov edi, dword [eax + ecx*4]
mov eax, dword [esi + 0xc]
cmp eax, dword [ebx + 0x18]
jne 0x10114f20
cmp dword [ebx + 0x1c], 0x10
jb 0x10114f0a
mov eax, dword [ebx + 8]
jmp 0x10114f0d
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 0x10114f2d
cmp ebx, edi
je 0x10114fdc
mov ebx, dword [ebx + 4]
jmp 0x10114ef7
add ebx, 0x20
lea ecx, [esi + 0x74]
call fcn.10014f60
mov dword [0x1025e6a8], ebx
mov ecx, dword [esi + 0x1c]
mov edx, dword [esi + 0x94]
mov edi, dword [esi + 0x90]
jmp 0x10114101
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