Function at 0x10112a40
Capabilities:
Encode data using xor
Hash data using fnv
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xffffffe0
mov eax, 0x30c0
call fcn.10157ab0
mov esi, esp
mov dword [esi + 0x3098], ebp
mov edi, ecx
mov dword [esi + 0x309c], esp
mov dword [esi + 0x30a8], 0xffffffff
lea eax, [esi + 0x30a0]
mov dword [esi + 0x30a4], 0x10129540
mov ecx, dword fs:[0]
mov dword [esi + 0x30a0], ecx
mov dword fs:[0], eax
mov eax, dword [0x1025ae04]
mov cl, 1
mov dword [esi + 0x70], ecx
cmp dword [eax], 0
je 0x101130a2
mov ecx, dword [0x1025ae10]
mov eax, dword [ecx]
call dword [eax + 0x68]
test al, al
je 0x101130a2
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x250]
test ecx, ecx
je 0x10112ad5
mov eax, dword [ecx]
call dword [eax]
cmp dword [eax + 4], 0x776f6c67
jne 0x10112aed
jmp 0x101130a2
mov eax, dword [eax + 0x260]
cmp eax, 2
je 0x101130a2
cmp eax, 4
je 0x101130a2
mov eax, dword [ebp + 0x14]
mov ebx, dword [eax + 0x18]
test ebx, ebx
je 0x101130a2
cmp dword [eax], 0
je 0x101130a2
cmp byte [edi + 0xf4], 0
jne 0x101130a2
mov edi, ebx
add edi, 0xfffffffc
je 0x101130a2
mov eax, dword [ebx + 4]
add ebx, 4
mov ecx, ebx
call dword [eax + 8]
test eax, eax
je 0x101130a2
mov dword [esi + 0x18], eax
mov dword [esi + 0x7c], ebx
mov ecx, dword [0x1025ae14]
mov eax, dword [0x10260a90]
test al, 1
je 0x101130da
mov ebx, dword [0x10260a8c]
mov eax, dword [ebx + 4]
mov edx, dword [ecx]
push dword [eax + edi]
call dword [edx + 0x10]
test eax, eax
mov dword [esi + 0x50], eax
je 0x10112b89
mov dword [esi + 0x10], edi
mov edi, eax
add edi, 8
mov eax, dword [eax + 8]
mov ecx, edi
call dword [eax + 0x28]
test eax, eax
mov ebx, dword [ebp + 8]
jle 0x10112b95
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x28]
cmp eax, 0x41
setl al
mov dword [esi + 0xc], eax
jmp 0x10112b9c
mov dword [esi + 0xc], 0
mov ebx, dword [ebp + 8]
jmp 0x10112b9f
mov dword [esi + 0xc], 0
mov edi, dword [esi + 0x10]
mov eax, dword [ebp + 0x14]
mov eax, dword [eax]
mov edx, dword [eax + 0x1a]
mov eax, dword [0x1025adc4]
cmp byte [eax + 0x455], 0
je 0x10112c83
cmp edx, 0x79616c70
mov dword [esi + 0x14], edx
jne 0x10112c1f
mov eax, dword [0x102606e4]
test al, 1
je 0x101131f8
mov ebx, dword [0x102606e0]
mov ecx, dword [ebx + 4]
mov ebx, dword [ecx + edi]
mov edx, dword [0x1025ae04]
mov edx, dword [edx]
test al, 1
je 0x1011330d
cmp ebx, dword [ecx + edx]
mov ebx, dword [ebp + 8]
mov edx, dword [esi + 0x14]
jne 0x10112c1f
mov eax, dword [0x1025adc8]
mov ecx, dword [eax + 0x154]
mov eax, dword [ecx]
mov eax, dword [eax + 0x34]
mov dword [esi + 0x30a8], 0xffffffff
call eax
mov edx, dword [esi + 0x14]
test eax, eax
je 0x101130bb
cmp byte [esi + 0xc], 0
je 0x10112c83
mov eax, dword [0x102606e4]
test al, 1
je 0x10113506
mov ebx, dword [0x102606e0]
mov ecx, dword [ebx + 4]
mov edx, dword [esi + 0x50]
mov ebx, dword [ecx + edx]
mov edx, dword [0x1025ae04]
mov edx, dword [edx]
test al, 1
je 0x1011361b
cmp ebx, dword [ecx + edx]
mov ebx, dword [ebp + 8]
mov edx, dword [esi + 0x14]
jne 0x10112c83
mov eax, dword [0x1025adc8]
mov ecx, dword [eax + 0x154]
mov eax, dword [ecx]
mov eax, dword [eax + 0x34]
mov dword [esi + 0x30a8], 0xffffffff
call eax
mov edx, dword [esi + 0x14]
test eax, eax
je 0x101130c9
mov eax, dword [0x1025adc4]
cmp byte [eax + 0x456], 0
je 0x10112c9e
mov ecx, dword [esi + 0x18]
cmp dword [ecx + 0x14], 0x2a
je 0x1011309b
cmp edx, 0x79616c70
jne 0x10112d14
cmp byte [eax + 0x320], 0
jne 0x10112cbc
mov eax, dword [esi + 0x18]
cmp dword [eax + 0x14], 0x2a
je 0x101130a2
mov eax, dword [0x102606e4]
test al, 1
je 0x10113736
mov ebx, dword [0x102606e0]
mov ecx, dword [ebx + 4]
mov ebx, dword [ecx + edi]
mov edx, dword [0x1025ae04]
mov edx, dword [edx]
test al, 1
je 0x1011384b
cmp ebx, dword [ecx + edx]
mov ebx, dword [ebp + 8]
jne 0x10112d77
mov eax, dword [0x1025adc8]
mov ecx, dword [eax + 0x154]
mov eax, dword [ecx]
mov eax, dword [eax + 0x34]
mov dword [esi + 0x30a8], 0xffffffff
call eax
test eax, eax
sete al
jmp 0x10112d79
mov ecx, dword [ebp + 0x14]
mov ecx, dword [ecx]
cmp dword [ecx + 0x1d], 0x736d7261
jne 0x10112d41
cmp byte [eax + 0x321], 0
je 0x101130a2
movups xmm0, xmmword [eax + 0x324]
mov eax, dword [eax + 0x334]
jmp 0x10113045
cmp dword [ecx + 0xc], 0x70616577
jne 0x10112f7f
cmp byte [ecx + 0x14], 0x76
jne 0x10112f7f
cmp byte [eax + 0x338], 0
je 0x101130a2
movups xmm0, xmmword [eax + 0x33c]
mov eax, dword [eax + 0x34c]
jmp 0x10113045
xor eax, eax
mov ecx, dword [0x1025ae04]
mov ecx, dword [ecx]
test al, al
jne 0x10112eda
cmp ecx, edi
je 0x10112eda
mov eax, dword [edi]
mov eax, dword [eax + 0x274]
mov dword [esi + 0x30a8], 0xffffffff
mov ecx, edi
call eax
test al, al
je 0x10112e4f
mov eax, dword [0x1025adc4]
cmp byte [eax + 0x369], 0
je 0x10112e4f
mov eax, dword [0x1025adc8]
mov ecx, dword [eax + 0x15c]
mov eax, dword [ecx]
call dword [eax + 0x34]
test eax, eax
je 0x10112e4f
mov ecx, dword [esi + 0x7c]
mov eax, dword [ecx]
call dword [eax + 0x28]
lea edi, [esi + 0x80]
push eax
push edi
call fcn.100f4a10
cmp byte [esi + 0x3080], 0
je 0x10112e4f
mov eax, dword [0x1025adc4]
movups xmm0, xmmword [eax + 0x36c]
mov eax, dword [eax + 0x37c]
sub esp, 0x18
movups xmmword [esp + 8], xmm0
mov dword [esp], eax
mov dword [esp + 4], 1
call fcn.100f5600
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 edi
push dword [ebp + 0x14]
push dword [ebp + 0x10]
call dword [0x1025ae94]
mov ecx, dword [0x1025ae40]
mov eax, dword [ecx]
push 0
push 0
push 0
call dword [eax + 0x84]
mov eax, dword [0x1025adc4]
cmp byte [eax + 0x28c], 0
je 0x10112ebb
movups xmm0, xmmword [eax + 0x290]
mov eax, dword [eax + 0x2a0]
sub esp, 0x18
movups xmmword [esp + 8], xmm0
mov dword [esp], eax
mov dword [esp + 4], 1
call fcn.100f5600
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 dword [ebp + 0x14]
push dword [ebp + 0x10]
call dword [0x1025ae94]
mov ecx, dword [0x1025ae40]
mov eax, dword [ecx]
push 0
push 0
push 0
call dword [eax + 0x84]
mov eax, dword [0x1025adc4]
cmp byte [eax + 0x274], 0
je 0x101130a2
movups xmm0, xmmword [eax + 0x278]
mov eax, dword [eax + 0x288]
jmp 0x1011304f
test al, al
je 0x10112fa8
cmp ecx, edi
je 0x10112fa8
mov eax, dword [0x1025adc4]
cmp byte [eax + 0x2bc], 0
je 0x10112f60
movups xmm0, xmmword [eax + 0x2c0]
mov eax, dword [eax + 0x2d0]
mov dword [esi + 0x30a8], 0xffffffff
sub esp, 0x18
movups xmmword [esp + 8], xmm0
mov dword [esp], eax
mov dword [esp + 4], 1
call fcn.100f5600
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 dword [ebp + 0x14]
push dword [ebp + 0x10]
call dword [0x1025ae94]
mov ecx, dword [0x1025ae40]
mov eax, dword [ecx]
push 0
push 0
push 0
call dword [eax + 0x84]
mov eax, dword [0x1025adc4]
cmp byte [eax + 0x2a4], 0
je 0x101130a2
movups xmm0, xmmword [eax + 0x2a8]
mov eax, dword [eax + 0x2b8]
jmp 0x10113045
cmp byte [esi + 0xc], 0
je 0x101130a2
cmp byte [eax + 0x350], 0
je 0x101130a2
movups xmm0, xmmword [eax + 0x354]
mov eax, dword [eax + 0x364]
jmp 0x10113045
cmp ecx, edi
jne 0x101130a2
mov eax, dword [0x1025adc4]
cmp byte [eax + 0x2ec], 0
je 0x1011302f
movups xmm0, xmmword [eax + 0x2f0]
mov eax, dword [eax + 0x300]
mov dword [esi + 0x30a8], 0xffffffff
sub esp, 0x18
movups xmmword [esp + 8], xmm0
mov dword [esp], eax
mov dword [esp + 4], 0
call fcn.100f5600
mov eax, 0x6014
add eax, dword [0x1025addc]
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 dword [ebp + 0x14]
push dword [ebp + 0x10]
call dword [0x1025ae94]
mov ecx, dword [0x1025ae40]
mov eax, dword [ecx]
push 0
push 0
push 0
call dword [eax + 0x84]
mov eax, dword [0x1025adc4]
cmp byte [eax + 0x2d4], 0
je 0x101130a2
movups xmm0, xmmword [eax + 0x2d8]
mov eax, dword [eax + 0x2e8]
mov dword [esi + 0x30a8], 0xffffffff
sub esp, 0x18
movups xmmword [esp + 8], xmm0
mov dword [esp], eax
mov dword [esp + 4], 0
call fcn.100f5600
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 dword [ebp + 0x14]
push dword [ebp + 0x10]
call dword [0x1025ae94]
mov ecx, dword [0x1025ae40]
mov eax, dword [ecx]
push 0
push 0
push 0
call dword [eax + 0x84]
mov dword [esi + 0x70], 0
mov eax, dword [esi + 0x30a0]
mov dword fs:[0], eax
mov eax, dword [esi + 0x70]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 0x24
mov eax, dword [0x1025ae04]
cmp dword [eax], edi
jne 0x1011309b
jmp 0x10112c1f
mov eax, dword [0x1025ae04]
mov ecx, dword [esi + 0x50]
cmp ecx, dword [eax]
jne 0x1011309b
jmp 0x10112c83
mov dword [esi + 8], ecx
mov dword [esi + 0x10], edi
or eax, 1
mov dword [0x10260a90], eax
mov eax, 0x495824d4
mov ecx, 0x9744a94d
mov dword [esi + 0x24], ecx
mov dword [esi + 0x20], eax
mov eax, 0x99c6f485
mov ecx, 0xf11fbe47
mov dword [esi + 0x2c], ecx
mov dword [esi + 0x28], eax
mov eax, 0x40c90ebc
mov ecx, 0xeddb7883
mov dword [esi + 0x34], ecx
mov dword [esi + 0x30], eax
mov eax, 0xbfacdc76
mov ecx, 0x7f08b8f7
mov edx, 0x3a396697
mov edi, 0xe32aec28
mov dword [esi + 0x84], edi
mov dword [esi + 0x80], edx
mov edx, 0xb4bf80ec
mov edi, 0x8770d379
mov dword [esi + 0x8c], edi
mov dword [esi + 0x88], edx
mov edx, 0x32a87ed9
mov edi, 0xedaf16e6
mov dword [esi + 0x94], edi
mov dword [esi + 0x90], edx
mov dword [esi + 0x3c], ecx
mov dword [esi + 0x38], eax
mov dword [esi + 0x9c], ecx
mov dword [esi + 0x98], eax
lea eax, [esi + 0x80]
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]
mov eax, dword [0x1025adcc]
mov dword [esi + 4], eax
movaps xmmword [esi + 0x30], xmm0
mov dword [esi + 0x30a8], 0
lea eax, [esi + 0x20]
lea ecx, [esi + 0x58]
mov dword [esi + 0x14], ecx
push eax
call fcn.10015170
mov eax, dword [esi + 0x68]
mov dword [esi + 0xc], eax
cmp dword [esi + 0x6c], 0x10
jb 0x101131c8
mov eax, dword [esi + 0x58]
mov dword [esi + 0x14], eax
cmp dword [esi + 0xc], 0
je 0x101131ee
mov eax, dword [esi + 0xc]
mov ecx, eax
and ecx, 3
mov dword [esi + 0x50], ecx
cmp eax, 4
jae 0x10113428
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x10113472
mov ecx, 0x811c9dc5
jmp 0x1011348f
mov dword [esi + 0x10], edi
or eax, 1
mov dword [0x102606e4], eax
mov eax, 0x495824d4
mov ecx, 0x9744a94d
mov dword [esi + 0x24], ecx
mov dword [esi + 0x20], eax
mov eax, 0x99c6f485
mov ecx, 0xee2fbe47
mov dword [esi + 0x2c], ecx
mov dword [esi + 0x28], eax
mov eax, 0x5fc91b8d
mov ecx, 0xedc263a8
mov dword [esi + 0x34], ecx
mov dword [esi + 0x30], eax
mov eax, 0xbfacdc76
mov ecx, 0x7f08b8f7
mov edx, 0x3a396697
mov edi, 0xe32aec28
mov dword [esi + 0x84], edi
mov dword [esi + 0x80], edx
mov edx, 0xb4bf80ec
mov edi, 0x8770d379
mov dword [esi + 0x8c], edi
mov dword [esi + 0x88], edx
mov edx, 0x32a87ed9
mov edi, 0xedaf16e6
mov dword [esi + 0x94], edi
mov dword [esi + 0x90], edx
mov dword [esi + 0x3c], ecx
mov dword [esi + 0x38], eax
mov dword [esi + 0x9c], ecx
mov dword [esi + 0x98], eax
lea eax, [esi + 0x80]
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]
mov eax, dword [0x1025adcc]
mov dword [esi + 0x54], eax
movaps xmmword [esi + 0x30], xmm0
mov dword [esi + 0x30a8], 2
lea eax, [esi + 0x20]
lea ecx, [esi + 0x58]
mov dword [esi + 8], ecx
push eax
call fcn.10015170
mov eax, dword [esi + 0x68]
mov dword [esi + 4], eax
cmp dword [esi + 0x6c], 0x10
jb 0x101132e3
mov eax, dword [esi + 0x58]
mov dword [esi + 8], eax
cmp dword [esi + 4], 0
je 0x10113966
mov eax, dword [esi + 4]
mov ecx, eax
and ecx, 3
mov dword [esi + 0x1c], ecx
cmp eax, 4
jae 0x1011398e
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x101139d8
mov dword [esi + 0x74], edx
mov dword [esi + 0x78], ebx
mov dword [esi + 0x10], edi
or eax, 1
mov dword [0x102606e4], eax
mov eax, 0x495824d4
mov ecx, 0x9744a94d
mov dword [esi + 0x24], ecx
mov dword [esi + 0x20], eax
mov eax, 0x99c6f485
mov ecx, 0xee2fbe47
mov dword [esi + 0x2c], ecx
mov dword [esi + 0x28], eax
mov eax, 0x5fc91b8d
mov ecx, 0xedc263a8
mov dword [esi + 0x34], ecx
mov dword [esi + 0x30], eax
mov eax, 0xbfacdc76
mov ecx, 0x7f08b8f7
mov edx, 0x3a396697
mov edi, 0xe32aec28
mov dword [esi + 0x84], edi
mov dword [esi + 0x80], edx
mov edx, 0xb4bf80ec
mov edi, 0x8770d379
mov dword [esi + 0x8c], edi
mov dword [esi + 0x88], edx
mov edx, 0x32a87ed9
mov edi, 0xedaf16e6
mov dword [esi + 0x94], edi
mov dword [esi + 0x90], edx
mov dword [esi + 0x3c], ecx
mov dword [esi + 0x38], eax
mov dword [esi + 0x9c], ecx
mov dword [esi + 0x98], eax
lea eax, [esi + 0x80]
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]
mov eax, dword [0x1025adcc]
mov dword [esi + 0x54], eax
movaps xmmword [esi + 0x30], xmm0
mov dword [esi + 0x30a8], 4
lea eax, [esi + 0x20]
lea ecx, [esi + 0x58]
mov dword [esi + 8], ecx
push eax
call fcn.10015170
mov eax, dword [esi + 0x68]
mov dword [esi + 4], eax
cmp dword [esi + 0x6c], 0x10
jb 0x101133fe
mov eax, dword [esi + 0x58]
mov dword [esi + 8], eax
cmp dword [esi + 4], 0
je 0x10113970
mov eax, dword [esi + 4]
mov ecx, eax
and ecx, 3
mov dword [esi + 0x1c], ecx
cmp eax, 4
jae 0x10113a64
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x10113aae
mov edi, dword [esi + 0xc]
and edi, 0xfffffffc
mov ecx, 0x811c9dc5
xor edx, edx
mov eax, dword [esi + 0x14]
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 0x10113438
cmp dword [esi + 0x50], 0
je 0x1011348f
add edx, dword [esi + 0x14]
xor edi, edi
movzx ebx, byte [edx + edi]
xor ebx, ecx
imul ecx, ebx, 0x1000193
inc edi
cmp dword [esi + 0x50], edi
jne 0x1011347d
mov edx, dword [esi + 4]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov ebx, dword [eax + ecx*8 + 4]
cmp ebx, dword [edx + 4]
je 0x10113eb2
add ecx, ecx
mov edi, dword [eax + ecx*4]
mov eax, dword [esi + 0xc]
cmp eax, dword [ebx + 0x18]
jne 0x101134d3
cmp dword [ebx + 0x1c], 0x10
jb 0x101134bd
mov eax, dword [ebx + 8]
jmp 0x101134c0
lea eax, [ebx + 8]
push dword [esi + 0xc]
push eax
push dword [esi + 0x14]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x101134e0
cmp ebx, edi
je 0x10113eb2
mov ebx, dword [ebx + 4]
jmp 0x101134aa
add ebx, 0x20
lea ecx, [esi + 0x58]
call fcn.10015110
mov dword [0x10260a8c], ebx
mov dword [esi + 0x30a8], 0xffffffff
mov edi, dword [esi + 0x10]
mov ecx, dword [esi + 8]
jmp 0x10112b4e
mov dword [esi + 0x10], edi
or eax, 1
mov dword [0x102606e4], eax
mov eax, 0x495824d4
mov ecx, 0x9744a94d
mov dword [esi + 0x24], ecx
mov dword [esi + 0x20], eax
mov eax, 0x99c6f485
mov ecx, 0xee2fbe47
mov dword [esi + 0x2c], ecx
mov dword [esi + 0x28], eax
mov eax, 0x5fc91b8d
mov ecx, 0xedc263a8
mov dword [esi + 0x34], ecx
mov dword [esi + 0x30], eax
mov eax, 0xbfacdc76
mov ecx, 0x7f08b8f7
mov edx, 0x3a396697
mov edi, 0xe32aec28
mov dword [esi + 0x84], edi
mov dword [esi + 0x80], edx
mov edx, 0xb4bf80ec
mov edi, 0x8770d379
mov dword [esi + 0x8c], edi
mov dword [esi + 0x88], edx
mov edx, 0x32a87ed9
mov edi, 0xedaf16e6
mov dword [esi + 0x94], edi
mov dword [esi + 0x90], edx
mov dword [esi + 0x3c], ecx
mov dword [esi + 0x38], eax
mov dword [esi + 0x9c], ecx
mov dword [esi + 0x98], eax
lea eax, [esi + 0x80]
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]
mov eax, dword [0x1025adcc]
mov dword [esi + 0x54], eax
movaps xmmword [esi + 0x30], xmm0
mov dword [esi + 0x30a8], 6
lea eax, [esi + 0x20]
lea ecx, [esi + 0x58]
mov dword [esi + 8], ecx
push eax
call fcn.10015170
mov eax, dword [esi + 0x68]
mov dword [esi + 4], eax
cmp dword [esi + 0x6c], 0x10
jb 0x101135f1
mov eax, dword [esi + 0x58]
mov dword [esi + 8], eax
cmp dword [esi + 4], 0
je 0x1011397a
mov eax, dword [esi + 4]
mov ecx, eax
and ecx, 3
mov dword [esi + 0x1c], ecx
cmp eax, 4
jae 0x10113b52
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x10113b9c
mov dword [esi + 0x74], edx
mov dword [esi + 0x78], ebx
mov dword [esi + 0x10], edi
or eax, 1
mov dword [0x102606e4], eax
mov eax, 0x495824d4
mov ecx, 0x9744a94d
mov dword [esi + 0x24], ecx
mov dword [esi + 0x20], eax
mov eax, 0x99c6f485
mov ecx, 0xee2fbe47
mov dword [esi + 0x2c], ecx
mov dword [esi + 0x28], eax
mov eax, 0x5fc91b8d
mov ecx, 0xedc263a8
mov dword [esi + 0x34], ecx
mov dword [esi + 0x30], eax
mov eax, 0xbfacdc76
mov ecx, 0x7f08b8f7
mov edx, 0x3a396697
mov edi, 0xe32aec28
mov dword [esi + 0x84], edi
mov dword [esi + 0x80], edx
mov edx, 0xb4bf80ec
mov edi, 0x8770d379
mov dword [esi + 0x8c], edi
mov dword [esi + 0x88], edx
mov edx, 0x32a87ed9
mov edi, 0xedaf16e6
mov dword [esi + 0x94], edi
mov dword [esi + 0x90], edx
mov dword [esi + 0x3c], ecx
mov dword [esi + 0x38], eax
mov dword [esi + 0x9c], ecx
mov dword [esi + 0x98], eax
lea eax, [esi + 0x80]
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]
mov eax, dword [0x1025adcc]
mov dword [esi + 0x54], eax
movaps xmmword [esi + 0x30], xmm0
mov dword [esi + 0x30a8], 8
lea eax, [esi + 0x20]
lea ecx, [esi + 0x58]
mov dword [esi + 8], ecx
push eax
call fcn.10015170
mov eax, dword [esi + 0x68]
mov dword [esi + 4], eax
cmp dword [esi + 0x6c], 0x10
jb 0x1011370c
mov eax, dword [esi + 0x58]
mov dword [esi + 8], eax
cmp dword [esi + 4], 0
je 0x10113984
mov eax, dword [esi + 4]
mov ecx, eax
and ecx, 3
mov dword [esi + 0x1c], ecx
cmp eax, 4
jae 0x10113c28
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x10113c72
mov dword [esi + 0x10], edi
or eax, 1
mov dword [0x102606e4], eax
mov eax, 0x495824d4
mov ecx, 0x9744a94d
mov dword [esi + 0x24], ecx
mov dword [esi + 0x20], eax
mov eax, 0x99c6f485
mov ecx, 0xee2fbe47
mov dword [esi + 0x2c], ecx
mov dword [esi + 0x28], eax
mov eax, 0x5fc91b8d
mov ecx, 0xedc263a8
mov dword [esi + 0x34], ecx
mov dword [esi + 0x30], eax
mov eax, 0xbfacdc76
mov ecx, 0x7f08b8f7
mov edx, 0x3a396697
mov edi, 0xe32aec28
mov dword [esi + 0x84], edi
mov dword [esi + 0x80], edx
mov edx, 0xb4bf80ec
mov edi, 0x8770d379
mov dword [esi + 0x8c], edi
mov dword [esi + 0x88], edx
mov edx, 0x32a87ed9
mov edi, 0xedaf16e6
mov dword [esi + 0x94], edi
mov dword [esi + 0x90], edx
mov dword [esi + 0x3c], ecx
mov dword [esi + 0x38], eax
mov dword [esi + 0x9c], ecx
mov dword [esi + 0x98], eax
lea eax, [esi + 0x80]
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]
mov eax, dword [0x1025adcc]
mov dword [esi + 0x50], eax
movaps xmmword [esi + 0x30], xmm0
mov dword [esi + 0x30a8], 0xa
lea eax, [esi + 0x20]
lea ecx, [esi + 0x58]
mov dword [esi + 0x18], ecx
push eax
call fcn.10015170
mov eax, dword [esi + 0x68]
mov dword [esi + 0xc], eax
cmp dword [esi + 0x6c], 0x10
jb 0x10113821
mov eax, dword [esi + 0x58]
mov dword [esi + 0x18], eax
cmp dword [esi + 0xc], 0
je 0x10113b3e
mov eax, dword [esi + 0xc]
mov ecx, eax
and ecx, 3
mov dword [esi + 0x14], ecx
cmp eax, 4
jae 0x10113d02
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x10113d4c
mov dword [esi + 8], edx
mov dword [esi + 4], ebx
mov dword [esi + 0x10], edi
or eax, 1
mov dword [0x102606e4], eax
mov eax, 0x495824d4
mov ecx, 0x9744a94d
mov dword [esi + 0x24], ecx
mov dword [esi + 0x20], eax
mov eax, 0x99c6f485
mov ecx, 0xee2fbe47
mov dword [esi + 0x2c], ecx
mov dword [esi + 0x28], eax
mov eax, 0x5fc91b8d
mov ecx, 0xedc263a8
mov dword [esi + 0x34], ecx
mov dword [esi + 0x30], eax
mov eax, 0xbfacdc76
mov ecx, 0x7f08b8f7
mov edx, 0x3a396697
mov edi, 0xe32aec28
mov dword [esi + 0x84], edi
mov dword [esi + 0x80], edx
mov edx, 0xb4bf80ec
mov edi, 0x8770d379
mov dword [esi + 0x8c], edi
mov dword [esi + 0x88], edx
mov edx, 0x32a87ed9
mov edi, 0xedaf16e6
mov dword [esi + 0x94], edi
mov dword [esi + 0x90], edx
mov dword [esi + 0x3c], ecx
mov dword [esi + 0x38], eax
mov dword [esi + 0x9c], ecx
mov dword [esi + 0x98], eax
lea eax, [esi + 0x80]
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]
mov eax, dword [0x1025adcc]
mov dword [esi + 0x50], eax
movaps xmmword [esi + 0x30], xmm0
mov dword [esi + 0x30a8], 0xc
lea eax, [esi + 0x20]
lea ecx, [esi + 0x58]
mov dword [esi + 0x18], ecx
push eax
call fcn.10015170
mov eax, dword [esi + 0x68]
mov dword [esi + 0xc], eax
cmp dword [esi + 0x6c], 0x10
jb 0x1011393c
mov eax, dword [esi + 0x58]
mov dword [esi + 0x18], eax
cmp dword [esi + 0xc], 0
je 0x10113b48
mov eax, dword [esi + 0xc]
mov ecx, eax
and ecx, 3
mov dword [esi + 0x14], ecx
cmp eax, 4
jae 0x10113dd8
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x10113e22
mov ecx, 0x811c9dc5
jmp 0x101139f5
mov ecx, 0x811c9dc5
jmp 0x10113acb
mov ecx, 0x811c9dc5
jmp 0x10113bb9
mov ecx, 0x811c9dc5
jmp 0x10113c8f
mov edi, dword [esi + 4]
and edi, 0xfffffffc
mov ecx, 0x811c9dc5
xor edx, edx
mov eax, dword [esi + 8]
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 0x1011399e
cmp dword [esi + 0x1c], 0
je 0x101139f5
add edx, dword [esi + 8]
xor edi, edi
movzx ebx, byte [edx + edi]
xor ebx, ecx
imul ecx, ebx, 0x1000193
inc edi
cmp dword [esi + 0x1c], edi
jne 0x101139e3
mov edx, dword [esi + 0x54]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov ebx, dword [eax + ecx*8 + 4]
cmp ebx, dword [edx + 4]
je 0x10113ec9
add ecx, ecx
mov edi, dword [eax + ecx*4]
mov eax, dword [esi + 4]
cmp eax, dword [ebx + 0x18]
jne 0x10113a39
cmp dword [ebx + 0x1c], 0x10
jb 0x10113a23
mov eax, dword [ebx + 8]
jmp 0x10113a26
lea eax, [ebx + 8]
push dword [esi + 4]
push eax
push dword [esi + 8]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x10113a46
cmp ebx, edi
je 0x10113ec9
mov ebx, dword [ebx + 4]
jmp 0x10113a10
add ebx, 0x20
lea ecx, [esi + 0x58]
call fcn.10015110
mov dword [0x102606e0], ebx
mov eax, dword [0x102606e4]
mov edi, dword [esi + 0x10]
jmp 0x10112bd7
mov edi, dword [esi + 4]
and edi, 0xfffffffc
mov ecx, 0x811c9dc5
xor edx, edx
mov eax, dword [esi + 8]
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 0x10113a74
cmp dword [esi + 0x1c], 0
je 0x10113acb
add edx, dword [esi + 8]
xor edi, edi
movzx ebx, byte [edx + edi]
xor ebx, ecx
imul ecx, ebx, 0x1000193
inc edi
cmp dword [esi + 0x1c], edi
jne 0x10113ab9
mov edx, dword [esi + 0x54]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov ebx, dword [eax + ecx*8 + 4]
cmp ebx, dword [edx + 4]
je 0x10113ee0
add ecx, ecx
mov edi, dword [eax + ecx*4]
mov eax, dword [esi + 4]
cmp eax, dword [ebx + 0x18]
jne 0x10113b0f
cmp dword [ebx + 0x1c], 0x10
jb 0x10113af9
mov eax, dword [ebx + 8]
jmp 0x10113afc
lea eax, [ebx + 8]
push dword [esi + 4]
push eax
push dword [esi + 8]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x10113b1c
cmp ebx, edi
je 0x10113ee0
mov ebx, dword [ebx + 4]
jmp 0x10113ae6
lea edi, [ebx + 0x20]
lea ecx, [esi + 0x58]
call fcn.10015110
mov dword [0x102606e0], edi
mov ecx, dword [ebx + 0x24]
mov edi, dword [esi + 0x10]
mov ebx, dword [esi + 0x78]
mov edx, dword [esi + 0x74]
jmp 0x10112bed
mov ecx, 0x811c9dc5
jmp 0x10113d69
mov ecx, 0x811c9dc5
jmp 0x10113e3f
mov edi, dword [esi + 4]
and edi, 0xfffffffc
mov ecx, 0x811c9dc5
xor edx, edx
mov eax, dword [esi + 8]
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 0x10113b62
cmp dword [esi + 0x1c], 0
je 0x10113bb9
add edx, dword [esi + 8]
xor edi, edi
movzx ebx, byte [edx + edi]
xor ebx, ecx
imul ecx, ebx, 0x1000193
inc edi
cmp dword [esi + 0x1c], edi
jne 0x10113ba7
mov edx, dword [esi + 0x54]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov ebx, dword [eax + ecx*8 + 4]
cmp ebx, dword [edx + 4]
je 0x10113ef7
add ecx, ecx
mov edi, dword [eax + ecx*4]
mov eax, dword [esi + 4]
cmp eax, dword [ebx + 0x18]
jne 0x10113bfd
cmp dword [ebx + 0x1c], 0x10
jb 0x10113be7
mov eax, dword [ebx + 8]
jmp 0x10113bea
lea eax, [ebx + 8]
push dword [esi + 4]
push eax
push dword [esi + 8]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x10113c0a
cmp ebx, edi
je 0x10113ef7
mov ebx, dword [ebx + 4]
jmp 0x10113bd4
add ebx, 0x20
lea ecx, [esi + 0x58]
call fcn.10015110
mov dword [0x102606e0], ebx
mov eax, dword [0x102606e4]
mov edi, dword [esi + 0x10]
jmp 0x10112c38
mov edi, dword [esi + 4]
and edi, 0xfffffffc
mov ecx, 0x811c9dc5
xor edx, edx
mov eax, dword [esi + 8]
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 0x10113c38
cmp dword [esi + 0x1c], 0
je 0x10113c8f
add edx, dword [esi + 8]
xor edi, edi
movzx ebx, byte [edx + edi]
xor ebx, ecx
imul ecx, ebx, 0x1000193
inc edi
cmp dword [esi + 0x1c], edi
jne 0x10113c7d
mov edx, dword [esi + 0x54]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov ebx, dword [eax + ecx*8 + 4]
cmp ebx, dword [edx + 4]
je 0x10113f0e
add ecx, ecx
mov edi, dword [eax + ecx*4]
mov eax, dword [esi + 4]
cmp eax, dword [ebx + 0x18]
jne 0x10113cd3
cmp dword [ebx + 0x1c], 0x10
jb 0x10113cbd
mov eax, dword [ebx + 8]
jmp 0x10113cc0
lea eax, [ebx + 8]
push dword [esi + 4]
push eax
push dword [esi + 8]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x10113ce0
cmp ebx, edi
je 0x10113f0e
mov ebx, dword [ebx + 4]
jmp 0x10113caa
lea edi, [ebx + 0x20]
lea ecx, [esi + 0x58]
call fcn.10015110
mov dword [0x102606e0], edi
mov ecx, dword [ebx + 0x24]
mov edi, dword [esi + 0x10]
mov ebx, dword [esi + 0x78]
mov edx, dword [esi + 0x74]
jmp 0x10112c51
mov edi, dword [esi + 0xc]
and edi, 0xfffffffc
mov ecx, 0x811c9dc5
xor edx, edx
mov eax, dword [esi + 0x18]
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 0x10113d12
cmp dword [esi + 0x14], 0
je 0x10113d69
add edx, dword [esi + 0x18]
xor edi, edi
movzx ebx, byte [edx + edi]
xor ebx, ecx
imul ecx, ebx, 0x1000193
inc edi
cmp dword [esi + 0x14], edi
jne 0x10113d57
mov edx, dword [esi + 0x50]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov ebx, dword [eax + ecx*8 + 4]
cmp ebx, dword [edx + 4]
je 0x10113f25
add ecx, ecx
mov edi, dword [eax + ecx*4]
mov eax, dword [esi + 0xc]
cmp eax, dword [ebx + 0x18]
jne 0x10113dad
cmp dword [ebx + 0x1c], 0x10
jb 0x10113d97
mov eax, dword [ebx + 8]
jmp 0x10113d9a
lea eax, [ebx + 8]
push dword [esi + 0xc]
push eax
push dword [esi + 0x18]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x10113dba
cmp ebx, edi
je 0x10113f25
mov ebx, dword [ebx + 4]
jmp 0x10113d84
add ebx, 0x20
lea ecx, [esi + 0x58]
call fcn.10015110
mov dword [0x102606e0], ebx
mov eax, dword [0x102606e4]
mov edi, dword [esi + 0x10]
jmp 0x10112ccf
mov edi, dword [esi + 0xc]
and edi, 0xfffffffc
mov ecx, 0x811c9dc5
xor edx, edx
mov eax, dword [esi + 0x18]
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 0x10113de8
cmp dword [esi + 0x14], 0
je 0x10113e3f
add edx, dword [esi + 0x18]
xor edi, edi
movzx ebx, byte [edx + edi]
xor ebx, ecx
imul ecx, ebx, 0x1000193
inc edi
cmp dword [esi + 0x14], edi
jne 0x10113e2d
mov edx, dword [esi + 0x50]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov ebx, dword [eax + ecx*8 + 4]
cmp ebx, dword [edx + 4]
je 0x10113f3c
add ecx, ecx
mov edi, dword [eax + ecx*4]
mov eax, dword [esi + 0xc]
cmp eax, dword [ebx + 0x18]
jne 0x10113e83
cmp dword [ebx + 0x1c], 0x10
jb 0x10113e6d
mov eax, dword [ebx + 8]
jmp 0x10113e70
lea eax, [ebx + 8]
push dword [esi + 0xc]
push eax
push dword [esi + 0x18]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x10113e90
cmp ebx, edi
je 0x10113f3c
mov ebx, dword [ebx + 4]
jmp 0x10113e5a
lea edi, [ebx + 0x20]
lea ecx, [esi + 0x58]
call fcn.10015110
mov dword [0x102606e0], edi
mov ecx, dword [ebx + 0x24]
mov edi, dword [esi + 0x10]
mov ebx, dword [esi + 4]
mov edx, dword [esi + 8]
jmp 0x10112ce5
mov dword [esi + 0x30a8], 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 + 0x30a8], 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 + 0x30a8], 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 + 0x30a8], 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 + 0x30a8], 9
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 + 0x30a8], 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 + 0x30a8], 0xd
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, 0x1c
lea esi, [ebp - 0x30ac]
mov ebp, dword [esi + 0x3098]
lea ecx, [esi + 0x58]
call fcn.10015110
add esp, 0x1c
pop ebp
ret