Function at 0x101002f0
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, 0x140
mov esi, esp
mov dword [esi + 0x118], ebp
mov edi, ecx
mov dword [esi + 0x11c], esp
mov dword [esi + 0x128], 0xffffffff
mov dword [esi + 0x124], 0x10127750
mov eax, dword fs:[0]
mov dword [esi + 0x120], eax
lea eax, [esi + 0x120]
mov dword fs:[0], eax
mov eax, dword [0x10259d54]
cmp dword [ebp + 0xc], 0x4d
je 0x1010063e
cmp byte [eax + 0x3e8], 0
je 0x1010063e
cmp dword [ebp + 0xc], 0x71
je 0x10100367
cmp dword [ebp + 0xc], 9
jne 0x1010063e
mov ecx, dword [ebp + 8]
mov eax, dword [ecx]
call dword [eax + 8]
mov dword [esi + 0x1c], eax
mov eax, dword [0x1025f9c8]
test al, 1
je 0x10100f76
mov ebx, dword [0x1025f9c4]
mov eax, dword [ebx + 4]
lea edx, [edi + 0xc8]
mov ecx, dword [ebp + 8]
cmp dword [eax + ecx], 0
jne 0x1010062e
mov dword [esi + 0x14], edx
movzx eax, byte [esi + 0x1c]
xor eax, 0x811c9dc5
imul eax, eax, 0x1000193
movzx ecx, byte [esi + 0x1d]
xor ecx, eax
imul eax, ecx, 0x1000193
movzx ecx, byte [esi + 0x1e]
xor ecx, eax
imul eax, ecx, 0x1000193
movzx ecx, byte [esi + 0x1f]
xor ecx, eax
imul edx, ecx, 0x1000193
mov eax, dword [edi + 0xe0]
mov dword [esi + 4], eax
and edx, eax
mov ebx, dword [edi + 0xcc]
mov eax, dword [edi + 0xd4]
mov ecx, dword [eax + edx*8 + 4]
mov dword [esi + 8], ebx
cmp ecx, ebx
mov dword [esi + 0x18], edi
je 0x10100430
mov ebx, dword [esi + 0x1c]
cmp ebx, dword [ecx + 8]
je 0x1010041c
add edx, edx
mov edx, dword [eax + edx*4]
nop word cs:[eax + eax]
cmp ecx, edx
je 0x10100430
mov ecx, dword [ecx + 4]
cmp ebx, dword [ecx + 8]
jne 0x10100410
cmp ecx, dword [esi + 8]
je 0x10100430
mov edx, ebx
shr edx, 0x10
mov ecx, ebx
shr ecx, 0x18
jmp 0x101005ac
mov eax, dword [0x1025f784]
test al, 1
je 0x10101303
mov ebx, dword [0x1025f780]
mov eax, dword [ebx + 4]
mov ecx, dword [ebp + 8]
movss xmm0, dword [eax + ecx]
mov eax, dword [0x1025f9d0]
test al, 1
je 0x1010142e
mov ebx, dword [0x1025f9cc]
mov ecx, dword [ebx + 4]
mov ebx, dword [ebp + 8]
subss xmm0, dword [ecx + ebx + 0xc]
mov edx, dword [0x10259d9c]
divss xmm0, dword [edx + 0x20]
addss xmm0, dword [0x101a72c0]
cvttss2si edx, xmm0
mov dword [esi + 0x114], edx
test al, 1
je 0x10101604
lea eax, [ecx + ebx]
add eax, 0xc
mov dword [esi + 8], eax
mov eax, dword [0x1025f6cc]
test al, 1
je 0x101017d5
mov ebx, dword [0x1025f6c8]
mov eax, dword [ebx + 4]
add eax, dword [ebp + 8]
mov dword [esi + 4], eax
mov eax, dword [0x1025f644]
test al, 1
je 0x10101900
mov ebx, dword [0x1025f640]
xor eax, eax
cmp dword [ebp + 0xc], 0x71
sete al
mov ecx, dword [ebx + 4]
add ecx, dword [ebp + 8]
mov dword [esi + 0xc], ecx
add eax, eax
add eax, 0x2c
mov word [esi + 0x10e], ax
mov ecx, dword [0x10259da4]
mov eax, dword [0x1025f9d8]
test al, 1
je 0x10101a24
mov ebx, dword [0x1025f9d4]
mov dword [esi + 0x128], 0xffffffff
mov eax, dword [ebx + 4]
mov edx, dword [ecx]
mov edi, dword [ebp + 8]
push dword [eax + edi]
call dword [edx + 0x10]
mov dword [esi + 0xd8], eax
lea eax, [esi + 0x114]
mov dword [esi + 0x80], eax
mov eax, dword [esi + 8]
mov dword [esi + 0x84], eax
mov eax, dword [esi + 4]
mov dword [esi + 0x88], eax
mov eax, dword [esi + 0xc]
mov dword [esi + 0x8c], eax
lea eax, [esi + 0x10e]
mov dword [esi + 0x90], eax
lea eax, [esi + 0xd8]
mov dword [esi + 0x94], eax
lea eax, [esi + 0x1c]
mov dword [esi + 0x110], eax
lea eax, [esi + 0x80]
lea edx, [esi + 0x110]
lea edi, [esi + 0x20]
mov ecx, dword [esi + 0x14]
push eax
push edx
push 0x101a75e4
push edi
call fcn.10102380
mov bh, byte [esi + 0x1d]
movzx edx, byte [esi + 0x1e]
movzx ecx, byte [esi + 0x1f]
mov eax, dword [esi + 0x18]
mov edi, dword [eax + 0xe0]
mov dword [esi + 4], edi
mov edi, dword [eax + 0xcc]
mov dword [esi + 8], edi
mov eax, dword [eax + 0xd4]
movzx edi, byte [esi + 0x1c]
xor edi, 0x811c9dc5
imul edi, edi, 0x1000193
movzx ebx, bh
xor ebx, edi
imul edi, ebx, 0x1000193
movzx edx, dl
xor edx, edi
imul edx, edx, 0x1000193
movzx ecx, cl
xor ecx, edx
imul ebx, ecx, 0x1000193
and ebx, dword [esi + 4]
mov edx, dword [eax + ebx*8 + 4]
cmp edx, dword [esi + 8]
mov edi, dword [esi + 0x18]
je 0x10100e3a
mov ecx, dword [esi + 0x1c]
cmp ecx, dword [edx + 8]
je 0x10100610
add ebx, ebx
mov eax, dword [eax + ebx*4]
nop dword [eax]
cmp edx, eax
je 0x10100e3a
mov edx, dword [edx + 4]
cmp ecx, dword [edx + 8]
jne 0x10100600
add edx, 0xc
mov dword [esi + 0x128], 0xffffffff
mov ecx, edi
push 1
push edx
call fcn.100f1430
test al, al
mov edx, dword [esi + 0x14]
jne 0x10100639
lea eax, [esi + 0x1c]
mov ecx, edx
push eax
call fcn.10127000
mov eax, dword [0x10259d54]
cmp byte [eax + 0x398], 0
je 0x10100ab4
mov ecx, dword [0x10259da0]
mov eax, dword [ecx]
mov eax, dword [eax + 0x94]
mov dword [esi + 0x128], 0xffffffff
call eax
mov dword [esi + 8], eax
call fcn.1004d5c0
mov ecx, dword [0x1025f644]
test cl, 1
je 0x10100e4e
mov ebx, dword [0x1025f640]
mov edx, dword [ebx + 4]
mov ecx, dword [ebp + 8]
movss xmm0, dword [edx + ecx]
movss xmm1, dword [edx + ecx + 4]
movss xmm5, dword [edx + ecx + 8]
mov ecx, dword [esi + 8]
movss xmm2, dword [ecx + 0x34]
mulss xmm2, xmm1
movss xmm3, dword [ecx + 0x30]
mulss xmm3, xmm0
addss xmm3, xmm2
movss xmm2, dword [ecx + 0x38]
mulss xmm2, xmm5
addss xmm2, xmm3
addss xmm2, dword [ecx + 0x3c]
movss xmm3, dword [0x101b0eb4]
ucomiss xmm3, xmm2
ja 0x10100ab4
movss xmm3, dword [ecx + 0x14]
mulss xmm3, xmm1
movss xmm4, dword [ecx + 0x10]
mulss xmm4, xmm0
addss xmm4, xmm3
movss xmm3, dword [ecx + 0x18]
mulss xmm3, xmm5
addss xmm3, xmm4
addss xmm3, dword [ecx + 0x1c]
mulss xmm1, dword [ecx + 4]
mulss xmm0, dword [ecx]
mulss xmm5, dword [ecx + 8]
addss xmm0, xmm1
addss xmm5, xmm0
addss xmm5, dword [ecx + 0xc]
divss xmm5, xmm2
divss xmm3, xmm2
movss xmm0, dword [eax + 8]
movss xmm2, dword [eax + 0xc]
movss xmm1, dword [0x101a72c0]
mulss xmm5, xmm0
mulss xmm0, xmm1
mulss xmm5, xmm1
addss xmm5, xmm0
mulss xmm3, xmm2
mulss xmm2, xmm1
mulss xmm3, xmm1
subss xmm2, xmm3
movss dword [esi + 8], xmm2
mov eax, dword [ebp + 0xc]
cmp eax, 0x63
jle 0x10100833
mov dword [esi + 0x18], edi
cmp eax, 0x64
je 0x101008f8
cmp eax, 0x9c
je 0x101009a8
cmp eax, 0x71
jne 0x10100ab4
mov eax, dword [0x10259d54]
movss xmm0, dword [0x101a7294]
movss xmm1, dword [eax + 0x39c]
mulss xmm1, xmm0
cvttss2si ecx, xmm1
movzx edx, cl
movss xmm1, dword [eax + 0x3a0]
mulss xmm1, xmm0
cvttss2si ecx, xmm1
movzx ecx, cl
shl ecx, 8
or ecx, edx
movss xmm1, dword [eax + 0x3a4]
mulss xmm1, xmm0
cvttss2si edx, xmm1
movzx edx, dl
shl edx, 0x10
or edx, ecx
mulss xmm0, dword [eax + 0x3a8]
cvttss2si edi, xmm0
shl edi, 0x18
or edi, edx
mov eax, 0xe4500392
mov ecx, 0x1d0696e0
mov dword [esi + 0x24], ecx
mov dword [esi + 0x20], eax
mov eax, 0xe76e1b4
mov ecx, 0xe7a075c5
mov edx, 0xab1c4cdf
mov ebx, 0x1d50d9b4
mov dword [esi + 0x84], ebx
mov dword [esi + 0x80], edx
mov dword [esi + 0x2c], ecx
mov dword [esi + 0x28], eax
mov dword [esi + 0x8c], ecx
mov dword [esi + 0x88], eax
lea eax, [esi + 0x80]
xor ecx, ecx
jmp 0x10100a53
cmp eax, 9
je 0x10100aca
cmp eax, 0x30
jne 0x10100ab4
mov eax, dword [0x10259d54]
movss xmm0, dword [0x101a7294]
movss xmm1, dword [eax + 0x39c]
mulss xmm1, xmm0
cvttss2si ecx, xmm1
movzx edx, cl
movss xmm1, dword [eax + 0x3a0]
mulss xmm1, xmm0
cvttss2si ecx, xmm1
movzx ecx, cl
shl ecx, 8
or ecx, edx
movss xmm1, dword [eax + 0x3a4]
mulss xmm1, xmm0
cvttss2si edx, xmm1
movzx edx, dl
shl edx, 0x10
or edx, ecx
mulss xmm0, dword [eax + 0x3a8]
mov dword [esi + 0x18], edi
cvttss2si edi, xmm0
shl edi, 0x18
or edi, edx
mov eax, 0xe45f099b
mov ecx, 0x1d50d9ed
mov dword [esi + 0x24], ecx
mov dword [esi + 0x20], eax
mov eax, 0xe76e1b4
mov ecx, 0xe7a075c5
mov edx, 0xab1c4cdf
mov ebx, 0x1d50d9b4
mov dword [esi + 0x84], ebx
mov dword [esi + 0x80], edx
mov dword [esi + 0x2c], ecx
mov dword [esi + 0x28], eax
mov dword [esi + 0x8c], ecx
mov dword [esi + 0x88], eax
lea eax, [esi + 0x80]
xor ecx, ecx
jmp 0x10100a53
mov eax, dword [0x10259d54]
movss xmm0, dword [0x101a7294]
movss xmm1, dword [eax + 0x39c]
mulss xmm1, xmm0
cvttss2si ecx, xmm1
movzx edx, cl
movss xmm1, dword [eax + 0x3a0]
mulss xmm1, xmm0
cvttss2si ecx, xmm1
movzx ecx, cl
shl ecx, 8
or ecx, edx
movss xmm1, dword [eax + 0x3a4]
mulss xmm1, xmm0
cvttss2si edx, xmm1
movzx edx, dl
shl edx, 0x10
or edx, ecx
mulss xmm0, dword [eax + 0x3a8]
cvttss2si edi, xmm0
shl edi, 0x18
or edi, edx
mov ecx, 0xee4e0599
mov eax, 0x1d50d9b4
mov edx, 0x1d50d9b4
mov dword [esi + 0x24], edx
mov dword [esi + 0x20], ecx
mov ecx, 0xe76e1b4
mov edx, 0xe7a075c5
mov ebx, 0xab1c4cdf
mov dword [esi + 0x84], eax
mov dword [esi + 0x80], ebx
mov dword [esi + 0x2c], edx
mov dword [esi + 0x28], ecx
mov dword [esi + 0x8c], edx
mov dword [esi + 0x88], ecx
lea eax, [esi + 0x80]
xor ecx, ecx
jmp 0x10100a53
mov eax, dword [0x10259d54]
movss xmm0, dword [0x101a7294]
movss xmm1, dword [eax + 0x39c]
mulss xmm1, xmm0
cvttss2si ecx, xmm1
movzx edx, cl
movss xmm1, dword [eax + 0x3a0]
mulss xmm1, xmm0
cvttss2si ecx, xmm1
movzx ecx, cl
shl ecx, 8
or ecx, edx
movss xmm1, dword [eax + 0x3a4]
mulss xmm1, xmm0
cvttss2si edx, xmm1
movzx edx, dl
shl edx, 0x10
or edx, ecx
mulss xmm0, dword [eax + 0x3a8]
cvttss2si edi, xmm0
shl edi, 0x18
or edi, edx
mov eax, 0xe053018c
mov ecx, 0x1d50d9f1
mov dword [esi + 0x24], ecx
mov dword [esi + 0x20], eax
mov eax, 0xe76e1b4
mov ecx, 0xe7a075c5
mov edx, 0xab1c4cdf
mov ebx, 0x1d50d9b4
mov dword [esi + 0x84], ebx
mov dword [esi + 0x80], edx
mov dword [esi + 0x2c], ecx
mov dword [esi + 0x28], eax
mov dword [esi + 0x8c], ecx
mov dword [esi + 0x88], eax
lea eax, [esi + 0x80]
xor ecx, ecx
movaps xmm0, xmmword [esi + 0x20]
xorps xmm0, xmmword [eax]
movaps xmmword [esi + 0x20], xmm0
lea ebx, [esi + 0x20]
push ebx
movss dword [esi + 4], xmm5
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
mov ecx, dword [esi + 0x18]
mov ecx, dword [ecx + 0x10]
mov dword [esi + 0x128], 0xffffffff
sub esp, 0x1c
mov dword [esp + 0x14], edi
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], ebx
mov dword [esp + 8], ecx
movss xmm0, dword [esi + 8]
movss dword [esp + 4], xmm0
movss xmm0, dword [esi + 4]
movss dword [esp], xmm0
mov dword [esp + 0x18], 2
call fcn.100f3420
mov eax, dword [esi + 0x120]
mov dword fs:[0], eax
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 8
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 4]
add ecx, 4
mov eax, dword [eax + 0x20]
mov dword [esi + 0x128], 0xffffffff
movss dword [esi + 4], xmm5
call eax
test eax, eax
je 0x10100ab4
mov dword [esi + 0x18], edi
add eax, 4
mov dword [esi + 0xd8], eax
mov dword [esi + 0x108], eax
push eax
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
mov dword [esi + 0xc], eax
mov eax, 0xd87d20b9
mov ecx, 0x7331bbdc
mov dword [esi + 0x24], ecx
mov dword [esi + 0x20], eax
mov eax, 0xe76e1d3
mov edx, 0xe7a075c5
mov ecx, 0xe7a075c5
mov dword [esi + 0x2c], ecx
mov dword [esi + 0x28], eax
mov edi, 0xab1c4cdf
mov ebx, 0x1d50d9b4
mov eax, 0xe76e1b4
mov dword [esi + 0x14], edx
lea ecx, [esi + 0x80]
xor edx, edx
mov edx, dword [esi + 0xc]
mov dword [esi + 0xdc], edx
mov dword [esi + 0x7c], ebx
mov dword [esi + 0x84], ebx
mov dword [esi + 0x10], edi
mov dword [esi + 0x80], edi
mov edx, dword [esi + 0x14]
mov dword [esi + 0x8c], edx
mov dword [esi + 0x104], eax
mov dword [esi + 0x88], eax
movdqa xmm0, xmmword [esi + 0x20]
pxor xmm0, xmmword [ecx]
movdqa xmmword [esi + 0xf0], xmm0
movdqa xmmword [esi + 0x20], xmm0
lea eax, [esi + 0x20]
push eax
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
mov edx, dword [esi + 0xc]
add esp, 4
sub edx, eax
jae 0x10100cfe
mov eax, 0xcc7d3eb9
mov ecx, 0x7335abd3
mov dword [esi + 0x24], ecx
mov dword [esi + 0x20], eax
mov eax, 0xe1385d5
mov ecx, 0xe7a075c5
mov dword [esi + 0x2c], ecx
mov dword [esi + 0x28], eax
xor eax, eax
lea edi, [esi + 0x80]
mov ecx, edi
mov eax, dword [esi + 0x7c]
mov dword [esi + 0x84], eax
mov eax, dword [esi + 0x10]
mov dword [esi + 0x80], eax
mov eax, dword [esi + 0x14]
mov dword [esi + 0x8c], eax
mov eax, dword [esi + 0x104]
mov dword [esi + 0x88], eax
movaps xmm0, xmmword [esi + 0x20]
xorps xmm0, xmmword [ecx]
mov dword [esi + 0xc], 0
movaps xmmword [esi + 0x20], xmm0
lea ecx, [esi + 0xd8]
push 0
lea eax, [esi + 0x20]
push eax
call fcn.101026b0
cmp eax, 0xffffffff
je 0x10100ab4
movss xmm0, dword [0x101a7294]
mov eax, dword [0x10259d54]
movss xmm1, dword [eax + 0x39c]
mulss xmm1, xmm0
cvttss2si ecx, xmm1
movzx edx, cl
movss xmm1, dword [eax + 0x3a0]
mulss xmm1, xmm0
cvttss2si ecx, xmm1
movzx ecx, cl
shl ecx, 8
or ecx, edx
movss xmm1, dword [eax + 0x3a4]
mulss xmm1, xmm0
cvttss2si edx, xmm1
movzx edx, dl
shl edx, 0x10
or edx, ecx
mulss xmm0, dword [eax + 0x3a8]
cvttss2si ebx, xmm0
shl ebx, 0x18
or ebx, edx
mov eax, 0xec5d1e99
mov ecx, 0x1d50d9b4
mov dword [esi + 0x24], ecx
mov dword [esi + 0x20], eax
mov eax, dword [esi + 0x7c]
mov dword [esi + 0x84], eax
mov eax, dword [esi + 0x10]
mov dword [esi + 0x80], eax
mov eax, dword [esi + 0x14]
mov dword [esi + 0x2c], eax
mov dword [esi + 0x8c], eax
mov eax, dword [esi + 0x104]
mov dword [esi + 0x28], eax
mov dword [esi + 0x88], eax
mov eax, dword [esi + 0xc]
movaps xmm0, xmmword [esi + 0x20]
xorps xmm0, xmmword [edi]
movaps xmmword [esi + 0x20], xmm0
lea edi, [esi + 0x20]
push edi
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
mov ecx, dword [esi + 0x18]
mov ecx, dword [ecx + 0x10]
mov dword [esi + 0x128], 0xffffffff
sub esp, 0x1c
mov dword [esp + 0x14], ebx
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], edi
jmp 0x10100a8e
mov ebx, eax
test eax, eax
je 0x10100d80
movdqa xmm0, xmmword [esi + 0xf0]
movd eax, xmm0
mov ecx, dword [esi + 0x108]
add edx, ecx
inc edx
movsx edi, al
mov dword [esi + 0xc], edx
mov eax, edx
sub eax, ecx
push eax
mov dword [esi + 0xf0], edi
push edi
push ecx
call sub.VCRUNTIME140.dll_memchr
add esp, 0xc
test eax, eax
je 0x10100ba5
mov edi, eax
push ebx
lea eax, [esi + 0x20]
push eax
push edi
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x10100d71
inc edi
mov eax, dword [esi + 0xc]
sub eax, edi
push eax
push dword [esi + 0xf0]
push edi
call sub.VCRUNTIME140.dll_memchr
add esp, 0xc
mov edi, eax
test eax, eax
jne 0x10100d3e
jmp 0x10100ba5
sub edi, dword [esi + 0x108]
cmp edi, 0xffffffff
je 0x10100ba5
movss xmm0, dword [0x101a7294]
mov eax, dword [0x10259d54]
movss xmm1, dword [eax + 0x39c]
mulss xmm1, xmm0
cvttss2si ecx, xmm1
movzx edx, cl
movss xmm1, dword [eax + 0x3a0]
mulss xmm1, xmm0
cvttss2si ecx, xmm1
movzx ecx, cl
shl ecx, 8
or ecx, edx
movss xmm1, dword [eax + 0x3a4]
mulss xmm1, xmm0
mulss xmm0, dword [eax + 0x3a8]
cvttss2si eax, xmm1
movzx eax, al
shl eax, 0x10
cvttss2si edi, xmm0
or eax, ecx
shl edi, 0x18
or edi, eax
mov eax, 0xf85d0099
mov ecx, 0x1d50d9fc
mov dword [esi + 0x24], ecx
mov dword [esi + 0x20], eax
mov eax, dword [esi + 0x7c]
mov dword [esi + 0x84], eax
mov eax, dword [esi + 0x10]
mov dword [esi + 0x80], eax
mov eax, dword [esi + 0x14]
mov dword [esi + 0x2c], eax
mov dword [esi + 0x8c], eax
mov eax, dword [esi + 0x104]
mov dword [esi + 0x28], eax
mov dword [esi + 0x88], eax
xor eax, eax
lea ecx, [esi + 0x80]
movaps xmm0, xmmword [esi + 0x20]
xorps xmm0, xmmword [ecx]
movaps xmmword [esi + 0x20], xmm0
lea ebx, [esi + 0x20]
push ebx
jmp 0x10100a67
mov dword [esi + 0x128], 0xffffffff
push str.invalid_unordered_map_K__T__key
call sub.MSVCP140.dll_void___cdecl_std::_Xout_of_range_char_const__
mov dword [esi + 0x10], eax
mov dword [esi + 0x18], edi
or ecx, 1
mov dword [0x1025f644], ecx
mov eax, 0xd87d0e9c
mov ecx, 0x693e9cd1
mov dword [esi + 0x24], ecx
mov dword [esi + 0x20], eax
mov eax, 0x230f95dd
mov ecx, 0x91ff18fb
mov dword [esi + 0x2c], ecx
mov dword [esi + 0x28], eax
mov eax, 0x44ed54f4
mov ecx, 0xe5d86c73
mov dword [esi + 0x34], ecx
mov dword [esi + 0x30], eax
mov eax, 0x426734a6
mov ecx, 0xb5378feb
mov edx, 0xab1c4cdf
mov edi, 0x1d50d9b4
mov dword [esi + 0x84], edi
mov dword [esi + 0x80], edx
mov edx, 0xe76e1b4
mov edi, 0xe7a075c5
mov dword [esi + 0x8c], edi
mov dword [esi + 0x88], edx
mov edx, 0x36a23791
mov edi, 0x8bb10b1a
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 [0x10259d5c]
mov dword [esi + 0xf0], eax
movaps xmmword [esi + 0x30], xmm0
mov dword [esi + 0x128], 0xe
lea eax, [esi + 0x20]
lea ecx, [esi + 0xd8]
mov dword [esi + 0x14], ecx
push eax
call fcn.10015240
mov eax, dword [esi + 0xe8]
mov dword [esi + 4], eax
cmp dword [esi + 0xec], 0x10
jb 0x10100f4c
mov eax, dword [esi + 0xd8]
mov dword [esi + 0x14], eax
cmp dword [esi + 4], 0
je 0x10101147
mov eax, dword [esi + 4]
mov ecx, eax
and ecx, 3
mov dword [esi + 0xc], ecx
cmp eax, 4
jae 0x1010114e
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x10101198
mov dword [esi + 0x18], edi
or eax, 1
mov dword [0x1025f9c8], eax
mov eax, 0xd87d0e9c
mov ecx, 0x5a039ad1
mov dword [esi + 0x24], ecx
mov dword [esi + 0x20], eax
mov eax, 0x6f1884c6
mov ecx, 0x95f010a1
mov dword [esi + 0x2c], ecx
mov dword [esi + 0x28], eax
mov eax, 0x55c75dfe
mov ecx, 0xeedd626e
mov dword [esi + 0x34], ecx
mov dword [esi + 0x30], eax
mov eax, 0x1d0a0a8b
mov ecx, 0xc54fca85
mov dword [esi + 0x3c], ecx
mov dword [esi + 0x38], eax
mov eax, 0x1f530b4f
mov ecx, 0xb294ea15
mov dword [esi + 0x44], ecx
mov dword [esi + 0x40], eax
mov eax, 0xc13a8f9b
mov ecx, 0x892e4ac2
mov dword [esi + 0x4c], ecx
mov dword [esi + 0x48], eax
mov eax, 0xe5713022
mov ecx, 0x2f8f0c46
mov dword [esi + 0x54], ecx
mov dword [esi + 0x50], eax
mov eax, 0xc009857a
mov ecx, 0xdcd9a767
mov edx, 0xab1c4cdf
mov edi, 0x1d50d9b4
mov dword [esi + 0x84], edi
mov dword [esi + 0x80], edx
mov edx, 0xe76e1b4
mov edi, 0xe7a075c5
mov dword [esi + 0x8c], edi
mov dword [esi + 0x88], edx
mov edx, 0x36a23791
mov edi, 0x8bb10b1a
mov dword [esi + 0x94], edi
mov dword [esi + 0x90], edx
mov edx, 0x426734a6
mov edi, 0xb5378feb
mov dword [esi + 0x9c], edi
mov dword [esi + 0x98], edx
mov edx, 0x7a376423
mov edi, 0xd7f28c50
mov dword [esi + 0xa4], edi
mov dword [esi + 0xa0], edx
mov edx, 0xa86efbf8
mov edi, 0xec6c21a1
mov dword [esi + 0xac], edi
mov edi, 0x2f8f0c46
mov dword [esi + 0xa8], edx
mov edx, 0xe51f5945
mov dword [esi + 0xb4], edi
mov dword [esi + 0xb0], edx
mov dword [esi + 0x5c], ecx
mov dword [esi + 0x58], eax
mov dword [esi + 0xbc], ecx
mov dword [esi + 0xb8], 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]
movaps xmmword [esi + 0x30], xmm0
movaps xmm0, xmmword [esi + 0x40]
xorps xmm0, xmmword [eax + 0x20]
movaps xmmword [esi + 0x40], xmm0
movaps xmm0, xmmword [esi + 0x50]
xorps xmm0, xmmword [eax + 0x30]
mov eax, dword [0x10259d5c]
mov dword [esi + 0xc], eax
movaps xmmword [esi + 0x50], xmm0
mov dword [esi + 0x128], 0
lea eax, [esi + 0x20]
lea ecx, [esi + 0xd8]
mov dword [esi + 4], ecx
push eax
call fcn.10015240
mov eax, dword [esi + 0xe8]
mov dword [esi + 8], eax
cmp dword [esi + 0xec], 0x10
jb 0x1010111d
mov eax, dword [esi + 0xd8]
mov dword [esi + 4], eax
cmp dword [esi + 8], 0
je 0x10101228
mov eax, dword [esi + 8]
mov ecx, eax
and ecx, 3
mov dword [esi + 0x14], ecx
cmp eax, 4
jae 0x1010122f
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x10101279
mov ecx, 0x811c9dc5
jmp 0x101011b5
mov edi, dword [esi + 4]
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 0x1010115e
cmp dword [esi + 0xc], 0
je 0x101011b5
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 + 0xc], edi
jne 0x101011a3
mov edx, dword [esi + 0xf0]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov ebx, dword [eax + ecx*8 + 4]
cmp ebx, dword [edx + 4]
je 0x101020bf
add ecx, ecx
mov edi, dword [eax + ecx*4]
mov eax, dword [esi + 4]
cmp eax, dword [ebx + 0x18]
jne 0x101011fc
cmp dword [ebx + 0x1c], 0x10
jb 0x101011e6
mov eax, dword [ebx + 8]
jmp 0x101011e9
lea eax, [ebx + 8]
push dword [esi + 4]
push eax
push dword [esi + 0x14]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x10101209
cmp ebx, edi
je 0x101020bf
mov ebx, dword [ebx + 4]
jmp 0x101011d3
add ebx, 0x20
lea ecx, [esi + 0xd8]
call fcn.10014f60
mov dword [0x1025f640], ebx
mov edi, dword [esi + 0x18]
mov eax, dword [esi + 0x10]
jmp 0x10100682
mov ecx, 0x811c9dc5
jmp 0x10101296
mov edi, dword [esi + 8]
and edi, 0xfffffffc
mov ecx, 0x811c9dc5
xor edx, edx
mov eax, dword [esi + 4]
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 0x1010123f
cmp dword [esi + 0x14], 0
je 0x10101296
add edx, dword [esi + 4]
xor edi, edi
movzx ebx, byte [edx + edi]
xor ebx, ecx
imul ecx, ebx, 0x1000193
inc edi
cmp dword [esi + 0x14], edi
jne 0x10101284
mov edx, dword [esi + 0xc]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov ebx, dword [eax + ecx*8 + 4]
cmp ebx, dword [edx + 4]
je 0x101020d6
add ecx, ecx
mov edi, dword [eax + ecx*4]
mov eax, dword [esi + 8]
cmp eax, dword [ebx + 0x18]
jne 0x101012da
cmp dword [ebx + 0x1c], 0x10
jb 0x101012c4
mov eax, dword [ebx + 8]
jmp 0x101012c7
lea eax, [ebx + 8]
push dword [esi + 8]
push eax
push dword [esi + 4]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x101012e7
cmp ebx, edi
je 0x101020d6
mov ebx, dword [ebx + 4]
jmp 0x101012b1
add ebx, 0x20
lea ecx, [esi + 0xd8]
call fcn.10014f60
mov dword [0x1025f9c4], ebx
mov edi, dword [esi + 0x18]
jmp 0x10100385
or eax, 1
mov dword [0x1025f784], eax
mov eax, dword [0x10259d5c]
mov dword [esi + 0xf0], eax
mov eax, 0xd87d0e9c
mov ecx, 0x693e9cd1
mov dword [esi + 0x24], ecx
mov dword [esi + 0x20], eax
mov eax, 0x230f95dd
mov ecx, 0x81ff18fb
mov dword [esi + 0x2c], ecx
mov dword [esi + 0x28], eax
mov eax, 0x5bcb64fd
mov ecx, 0xffd0676f
mov dword [esi + 0x34], ecx
mov dword [esi + 0x30], eax
mov eax, 0x16095bcf
mov ecx, 0xb552e282
mov dword [esi + 0x3c], ecx
mov dword [esi + 0x38], eax
mov eax, 0xab1c4cdf
mov ecx, 0x1d50d9b4
mov dword [esi + 0x84], ecx
mov dword [esi + 0x80], eax
mov eax, 0xe76e1b4
mov ecx, 0xe7a075c5
mov dword [esi + 0x8c], ecx
mov dword [esi + 0x88], eax
mov eax, 0x36a23791
mov ecx, 0x8bb10b1a
mov dword [esi + 0x94], ecx
mov dword [esi + 0x90], eax
mov eax, 0x426734a6
mov ecx, 0xb5378feb
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]
movaps xmmword [esi + 0x30], xmm0
mov dword [esi + 0x128], 2
lea eax, [esi + 0x20]
lea ecx, [esi + 0xd8]
mov dword [esi + 4], ecx
push eax
call fcn.10015240
mov eax, dword [esi + 0xe8]
mov dword [esi + 8], eax
cmp dword [esi + 0xec], 0x10
jb 0x10101404
mov eax, dword [esi + 0xd8]
mov dword [esi + 4], eax
cmp dword [esi + 8], 0
je 0x10101b50
mov eax, dword [esi + 8]
mov ecx, eax
and ecx, 3
mov dword [esi + 0xc], ecx
cmp eax, 4
jae 0x10101b8c
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x10101bd6
movss dword [esi + 0x10], xmm0
or eax, 1
mov dword [0x1025f9d0], eax
mov eax, 0xd87d0e9c
mov ecx, 0x5a039ad1
mov dword [esi + 0x24], ecx
mov dword [esi + 0x20], eax
mov eax, 0x6f1884c6
mov ecx, 0x95f010a1
mov dword [esi + 0x2c], ecx
mov dword [esi + 0x28], eax
mov eax, 0x55c75dfe
mov ecx, 0xeedd626e
mov dword [esi + 0x34], ecx
mov dword [esi + 0x30], eax
mov eax, 0x1d0a0a8b
mov ecx, 0xf054ea9d
mov dword [esi + 0x3c], ecx
mov dword [esi + 0x38], eax
mov eax, 0x155b145b
mov ecx, 0xb1b7e934
mov dword [esi + 0x44], ecx
mov dword [esi + 0x40], eax
mov eax, 0xdc0d9e9e
mov ecx, 0x8b0553ee
mov dword [esi + 0x4c], ecx
mov dword [esi + 0x48], eax
mov eax, 0xe51f372c
mov ecx, 0x2f8f0c46
mov dword [esi + 0x54], ecx
mov dword [esi + 0x50], eax
mov eax, 0xc009857a
mov ecx, 0xdcd9a767
mov edx, 0xab1c4cdf
mov edi, 0x1d50d9b4
mov dword [esi + 0x84], edi
mov dword [esi + 0x80], edx
mov edx, 0xe76e1b4
mov edi, 0xe7a075c5
mov dword [esi + 0x8c], edi
mov dword [esi + 0x88], edx
mov edx, 0x36a23791
mov edi, 0x8bb10b1a
mov dword [esi + 0x94], edi
mov dword [esi + 0x90], edx
mov edx, 0x426734a6
mov edi, 0xb5378feb
mov dword [esi + 0x9c], edi
mov dword [esi + 0x98], edx
mov edx, 0x7a376423
mov edi, 0xd7f28c50
mov dword [esi + 0xa4], edi
mov dword [esi + 0xa0], edx
mov edx, 0xa86efbf8
mov edi, 0xec6c21a1
mov dword [esi + 0xac], edi
mov edi, 0x2f8f0c46
mov dword [esi + 0xa8], edx
mov edx, 0xe51f5945
mov dword [esi + 0xb4], edi
mov dword [esi + 0xb0], edx
mov dword [esi + 0x5c], ecx
mov dword [esi + 0x58], eax
mov dword [esi + 0xbc], ecx
mov dword [esi + 0xb8], 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]
movaps xmmword [esi + 0x30], xmm0
movaps xmm0, xmmword [esi + 0x40]
xorps xmm0, xmmword [eax + 0x20]
movaps xmmword [esi + 0x40], xmm0
movaps xmm0, xmmword [esi + 0x50]
xorps xmm0, xmmword [eax + 0x30]
mov eax, dword [0x10259d5c]
mov dword [esi + 0xf0], eax
movaps xmmword [esi + 0x50], xmm0
mov dword [esi + 0x128], 4
lea eax, [esi + 0x20]
lea ecx, [esi + 0xd8]
mov dword [esi + 4], ecx
push eax
call fcn.10015240
mov eax, dword [esi + 0xe8]
mov dword [esi + 8], eax
cmp dword [esi + 0xec], 0x10
jb 0x101015da
mov eax, dword [esi + 0xd8]
mov dword [esi + 4], eax
cmp dword [esi + 8], 0
je 0x10101b5a
mov eax, dword [esi + 8]
mov ecx, eax
and ecx, 3
mov dword [esi + 0xc], ecx
cmp eax, 4
jae 0x10101c60
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x10101caa
or eax, 1
mov dword [0x1025f9d0], eax
mov eax, 0xd87d0e9c
mov ecx, 0x5a039ad1
mov dword [esi + 0x24], ecx
mov dword [esi + 0x20], eax
mov eax, 0x6f1884c6
mov ecx, 0x95f010a1
mov dword [esi + 0x2c], ecx
mov dword [esi + 0x28], eax
mov eax, 0x55c75dfe
mov ecx, 0xeedd626e
mov dword [esi + 0x34], ecx
mov dword [esi + 0x30], eax
mov eax, 0x1d0a0a8b
mov ecx, 0xf054ea9d
mov dword [esi + 0x3c], ecx
mov dword [esi + 0x38], eax
mov eax, 0x155b145b
mov ecx, 0xb1b7e934
mov dword [esi + 0x44], ecx
mov dword [esi + 0x40], eax
mov eax, 0xdc0d9e9e
mov ecx, 0x8b0553ee
mov dword [esi + 0x4c], ecx
mov dword [esi + 0x48], eax
mov eax, 0xe51f372c
mov ecx, 0x2f8f0c46
mov dword [esi + 0x54], ecx
mov dword [esi + 0x50], eax
mov eax, 0xc009857a
mov ecx, 0xdcd9a767
mov edx, 0xab1c4cdf
mov edi, 0x1d50d9b4
mov dword [esi + 0x84], edi
mov dword [esi + 0x80], edx
mov edx, 0xe76e1b4
mov edi, 0xe7a075c5
mov dword [esi + 0x8c], edi
mov dword [esi + 0x88], edx
mov edx, 0x36a23791
mov edi, 0x8bb10b1a
mov dword [esi + 0x94], edi
mov dword [esi + 0x90], edx
mov edx, 0x426734a6
mov edi, 0xb5378feb
mov dword [esi + 0x9c], edi
mov dword [esi + 0x98], edx
mov edx, 0x7a376423
mov edi, 0xd7f28c50
mov dword [esi + 0xa4], edi
mov dword [esi + 0xa0], edx
mov edx, 0xa86efbf8
mov edi, 0xec6c21a1
mov dword [esi + 0xac], edi
mov edi, 0x2f8f0c46
mov dword [esi + 0xa8], edx
mov edx, 0xe51f5945
mov dword [esi + 0xb4], edi
mov dword [esi + 0xb0], edx
mov dword [esi + 0x5c], ecx
mov dword [esi + 0x58], eax
mov dword [esi + 0xbc], ecx
mov dword [esi + 0xb8], 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]
movaps xmmword [esi + 0x30], xmm0
movaps xmm0, xmmword [esi + 0x40]
xorps xmm0, xmmword [eax + 0x20]
movaps xmmword [esi + 0x40], xmm0
movaps xmm0, xmmword [esi + 0x50]
xorps xmm0, xmmword [eax + 0x30]
mov eax, dword [0x10259d5c]
mov dword [esi + 0xf0], eax
movaps xmmword [esi + 0x50], xmm0
mov dword [esi + 0x128], 6
lea eax, [esi + 0x20]
lea ecx, [esi + 0xd8]
mov dword [esi + 0xc], ecx
push eax
call fcn.10015240
mov eax, dword [esi + 0xe8]
mov dword [esi + 4], eax
cmp dword [esi + 0xec], 0x10
jb 0x101017ab
mov eax, dword [esi + 0xd8]
mov dword [esi + 0xc], eax
cmp dword [esi + 4], 0
je 0x10101b64
mov eax, dword [esi + 4]
mov ecx, eax
and ecx, 3
mov dword [esi + 8], ecx
cmp eax, 4
jae 0x10101d3e
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x10101d88
or eax, 1
mov dword [0x1025f6cc], eax
mov eax, dword [0x10259d5c]
mov dword [esi + 0x10], 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, 0x53f454f4
mov ecx, 0xe2d26476
mov dword [esi + 0x34], ecx
mov dword [esi + 0x30], eax
mov eax, 0x723c4dd2
mov ecx, 0xb5378fb6
mov dword [esi + 0x3c], ecx
mov dword [esi + 0x38], eax
mov eax, 0xab1c4cdf
mov ecx, 0x1d50d9b4
mov dword [esi + 0x84], ecx
mov dword [esi + 0x80], eax
mov eax, 0xe76e1b4
mov ecx, 0xe7a075c5
mov dword [esi + 0x8c], ecx
mov dword [esi + 0x88], eax
mov eax, 0x36a23791
mov ecx, 0x8bb10b1a
mov dword [esi + 0x94], ecx
mov dword [esi + 0x90], eax
mov eax, 0x426734a6
mov ecx, 0xb5378feb
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]
movaps xmmword [esi + 0x30], xmm0
mov dword [esi + 0x128], 8
lea eax, [esi + 0x20]
lea ecx, [esi + 0xd8]
mov dword [esi + 0xc], ecx
push eax
call fcn.10015240
mov eax, dword [esi + 0xe8]
mov dword [esi + 4], eax
cmp dword [esi + 0xec], 0x10
jb 0x101018d3
mov eax, dword [esi + 0xd8]
mov dword [esi + 0xc], eax
cmp dword [esi + 4], 0
je 0x10101b6e
mov eax, dword [esi + 4]
mov ecx, eax
and ecx, 3
mov dword [esi + 0xf0], ecx
cmp eax, 4
jae 0x10101e21
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x10101e6b
or eax, 1
mov dword [0x1025f644], eax
mov eax, 0xd87d0e9c
mov ecx, 0x693e9cd1
mov dword [esi + 0x24], ecx
mov dword [esi + 0x20], eax
mov eax, 0x230f95dd
mov ecx, 0x91ff18fb
mov dword [esi + 0x2c], ecx
mov dword [esi + 0x28], eax
mov eax, 0x44ed54f4
mov ecx, 0xe5d86c73
mov dword [esi + 0x34], ecx
mov dword [esi + 0x30], eax
mov eax, 0x426734a6
mov ecx, 0xb5378feb
mov edx, 0xab1c4cdf
mov edi, 0x1d50d9b4
mov dword [esi + 0x84], edi
mov dword [esi + 0x80], edx
mov edx, 0xe76e1b4
mov edi, 0xe7a075c5
mov dword [esi + 0x8c], edi
mov dword [esi + 0x88], edx
mov edx, 0x36a23791
mov edi, 0x8bb10b1a
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 [0x10259d5c]
mov dword [esi + 0x7c], eax
movaps xmmword [esi + 0x30], xmm0
mov dword [esi + 0x128], 0xa
lea eax, [esi + 0x20]
lea ecx, [esi + 0xd8]
mov dword [esi + 0xf0], ecx
push eax
call fcn.10015240
mov eax, dword [esi + 0xe8]
mov dword [esi + 0xc], eax
cmp dword [esi + 0xec], 0x10
jb 0x101019fa
mov eax, dword [esi + 0xd8]
mov dword [esi + 0xf0], eax
cmp dword [esi + 0xc], 0
je 0x10101b78
mov eax, dword [esi + 0xc]
mov ecx, eax
and ecx, 3
mov dword [esi + 0x10], ecx
cmp eax, 4
jae 0x10101ef8
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x10101f45
mov dword [esi + 0x108], ecx
or eax, 1
mov dword [0x1025f9d8], eax
mov eax, 0xd87d0e9c
mov ecx, 0x78229ed1
mov dword [esi + 0x24], ecx
mov dword [esi + 0x20], eax
mov eax, 0x6b1280da
mov ecx, 0xb8cd4be8
mov dword [esi + 0x2c], ecx
mov dword [esi + 0x28], eax
mov eax, 0x44ca63f9
mov ecx, 0xf9d47c75
mov dword [esi + 0x34], ecx
mov dword [esi + 0x30], eax
mov eax, 0x426734a6
mov ecx, 0xb5378feb
mov edx, 0xab1c4cdf
mov edi, 0x1d50d9b4
mov dword [esi + 0x84], edi
mov dword [esi + 0x80], edx
mov edx, 0xe76e1b4
mov edi, 0xe7a075c5
mov dword [esi + 0x8c], edi
mov dword [esi + 0x88], edx
mov edx, 0x36a23791
mov edi, 0x8bb10b1a
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 [0x10259d5c]
mov dword [esi + 0x104], eax
movaps xmmword [esi + 0x30], xmm0
mov dword [esi + 0x128], 0xc
lea eax, [esi + 0x20]
lea ecx, [esi + 0xd8]
mov dword [esi + 0x10], ecx
push eax
call fcn.10015240
mov eax, dword [esi + 0xe8]
mov dword [esi + 0xf0], eax
cmp dword [esi + 0xec], 0x10
jb 0x10101b24
mov eax, dword [esi + 0xd8]
mov dword [esi + 0x10], eax
cmp dword [esi + 0xf0], 0
je 0x10101b82
mov eax, dword [esi + 0xf0]
mov ecx, eax
and ecx, 3
mov dword [esi + 0x7c], ecx
cmp eax, 4
jae 0x10101fd2
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x1010201f
mov ecx, 0x811c9dc5
jmp 0x10101bf3
mov ecx, 0x811c9dc5
jmp 0x10101cc7
mov ecx, 0x811c9dc5
jmp 0x10101da5
mov ecx, 0x811c9dc5
jmp 0x10101e8e
mov ecx, 0x811c9dc5
jmp 0x10101f65
mov ecx, 0x811c9dc5
jmp 0x1010203c
mov edi, dword [esi + 8]
and edi, 0xfffffffc
mov ecx, 0x811c9dc5
xor edx, edx
mov eax, dword [esi + 4]
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 0x10101b9c
cmp dword [esi + 0xc], 0
je 0x10101bf3
add edx, dword [esi + 4]
xor edi, edi
movzx ebx, byte [edx + edi]
xor ebx, ecx
imul ecx, ebx, 0x1000193
inc edi
cmp dword [esi + 0xc], edi
jne 0x10101be1
mov edx, dword [esi + 0xf0]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov ebx, dword [eax + ecx*8 + 4]
cmp ebx, dword [edx + 4]
je 0x101020ed
add ecx, ecx
mov edi, dword [eax + ecx*4]
mov eax, dword [esi + 8]
cmp eax, dword [ebx + 0x18]
jne 0x10101c3a
cmp dword [ebx + 0x1c], 0x10
jb 0x10101c24
mov eax, dword [ebx + 8]
jmp 0x10101c27
lea eax, [ebx + 8]
push dword [esi + 8]
push eax
push dword [esi + 4]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x10101c47
cmp ebx, edi
je 0x101020ed
mov ebx, dword [ebx + 4]
jmp 0x10101c11
add ebx, 0x20
lea ecx, [esi + 0xd8]
call fcn.10014f60
mov dword [0x1025f780], ebx
jmp 0x10100443
mov edi, dword [esi + 8]
and edi, 0xfffffffc
mov ecx, 0x811c9dc5
xor edx, edx
mov eax, dword [esi + 4]
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 0x10101c70
cmp dword [esi + 0xc], 0
je 0x10101cc7
add edx, dword [esi + 4]
xor edi, edi
movzx ebx, byte [edx + edi]
xor ebx, ecx
imul ecx, ebx, 0x1000193
inc edi
cmp dword [esi + 0xc], edi
jne 0x10101cb5
mov edx, dword [esi + 0xf0]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov ebx, dword [eax + ecx*8 + 4]
cmp ebx, dword [edx + 4]
je 0x10102104
add ecx, ecx
mov edi, dword [eax + ecx*4]
mov eax, dword [esi + 8]
cmp eax, dword [ebx + 0x18]
jne 0x10101d0e
cmp dword [ebx + 0x1c], 0x10
jb 0x10101cf8
mov eax, dword [ebx + 8]
jmp 0x10101cfb
lea eax, [ebx + 8]
push dword [esi + 8]
push eax
push dword [esi + 4]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x10101d1b
cmp ebx, edi
je 0x10102104
mov ebx, dword [ebx + 4]
jmp 0x10101ce5
add ebx, 0x20
lea ecx, [esi + 0xd8]
call fcn.10014f60
mov dword [0x1025f9cc], ebx
mov eax, dword [0x1025f9d0]
movss xmm0, dword [esi + 0x10]
jmp 0x10100461
mov edi, dword [esi + 4]
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 0x10101d4e
cmp dword [esi + 8], 0
je 0x10101da5
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 + 8], edi
jne 0x10101d93
mov edx, dword [esi + 0xf0]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov ebx, dword [eax + ecx*8 + 4]
cmp ebx, dword [edx + 4]
je 0x1010211b
mov edx, dword [ebp + 8]
add edx, 0xc
mov dword [esi + 8], edx
add ecx, ecx
mov edi, dword [eax + ecx*4]
mov eax, dword [esi + 4]
cmp eax, dword [ebx + 0x18]
jne 0x10101df5
cmp dword [ebx + 0x1c], 0x10
jb 0x10101ddf
mov eax, dword [ebx + 8]
jmp 0x10101de2
lea eax, [ebx + 8]
push dword [esi + 4]
push eax
push dword [esi + 0xc]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x10101e02
cmp ebx, edi
je 0x1010211b
mov ebx, dword [ebx + 4]
jmp 0x10101dcc
lea edi, [ebx + 0x20]
lea ecx, [esi + 0xd8]
call fcn.10014f60
mov dword [0x1025f9cc], edi
mov eax, dword [esi + 8]
add eax, dword [ebx + 0x24]
jmp 0x10100498
mov edi, dword [esi + 4]
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 0x10101e31
cmp dword [esi + 0xf0], 0
je 0x10101e8e
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 + 0xf0], edi
jne 0x10101e79
mov edx, dword [esi + 0x10]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov ebx, dword [eax + ecx*8 + 4]
cmp ebx, dword [edx + 4]
je 0x10102132
add ecx, ecx
mov edi, dword [eax + ecx*4]
mov eax, dword [esi + 4]
cmp eax, dword [ebx + 0x18]
jne 0x10101ed2
cmp dword [ebx + 0x1c], 0x10
jb 0x10101ebc
mov eax, dword [ebx + 8]
jmp 0x10101ebf
lea eax, [ebx + 8]
push dword [esi + 4]
push eax
push dword [esi + 0xc]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x10101edf
cmp ebx, edi
je 0x10102132
mov ebx, dword [ebx + 4]
jmp 0x10101ea9
add ebx, 0x20
lea ecx, [esi + 0xd8]
call fcn.10014f60
mov dword [0x1025f6c8], ebx
jmp 0x101004ae
mov edi, dword [esi + 0xc]
and edi, 0xfffffffc
mov ecx, 0x811c9dc5
xor edx, edx
mov eax, dword [esi + 0xf0]
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 0x10101f0b
cmp dword [esi + 0x10], 0
je 0x10101f65
add edx, dword [esi + 0xf0]
xor edi, edi
movzx ebx, byte [edx + edi]
xor ebx, ecx
imul ecx, ebx, 0x1000193
inc edi
cmp dword [esi + 0x10], edi
jne 0x10101f53
mov edx, dword [esi + 0x7c]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov ebx, dword [eax + ecx*8 + 4]
cmp ebx, dword [edx + 4]
je 0x10102149
add ecx, ecx
mov edi, dword [eax + ecx*4]
mov eax, dword [esi + 0xc]
cmp eax, dword [ebx + 0x18]
jne 0x10101fac
cmp dword [ebx + 0x1c], 0x10
jb 0x10101f93
mov eax, dword [ebx + 8]
jmp 0x10101f96
lea eax, [ebx + 8]
push dword [esi + 0xc]
push eax
push dword [esi + 0xf0]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x10101fb9
cmp ebx, edi
je 0x10102149
mov ebx, dword [ebx + 4]
jmp 0x10101f80
add ebx, 0x20
lea ecx, [esi + 0xd8]
call fcn.10014f60
mov dword [0x1025f640], ebx
jmp 0x101004ca
mov edi, dword [esi + 0xf0]
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 0x10101fe5
cmp dword [esi + 0x7c], 0
je 0x1010203c
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 + 0x7c], edi
jne 0x1010202a
mov edx, dword [esi + 0x104]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov ebx, dword [eax + ecx*8 + 4]
cmp ebx, dword [edx + 4]
je 0x10102160
add ecx, ecx
mov edi, dword [eax + ecx*4]
mov eax, dword [esi + 0xf0]
cmp eax, dword [ebx + 0x18]
jne 0x10102089
cmp dword [ebx + 0x1c], 0x10
jb 0x10102070
mov eax, dword [ebx + 8]
jmp 0x10102073
lea eax, [ebx + 8]
push dword [esi + 0xf0]
push eax
push dword [esi + 0x10]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x10102096
cmp ebx, edi
je 0x10102160
mov ebx, dword [ebx + 4]
jmp 0x1010205a
add ebx, 0x20
lea ecx, [esi + 0xd8]
call fcn.10014f60
mov dword [0x1025f9d4], ebx
mov dword [esi + 0x128], 0xffffffff
mov ecx, dword [esi + 0x108]
jmp 0x1010050b
mov dword [esi + 0x128], 0xf
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 + 0x128], 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 + 0x128], 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 + 0x128], 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 + 0x128], 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 + 0x128], 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 + 0x128], 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 + 0x128], 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 [eax + eax]
push ebp
sub esp, 0x1c
lea esi, [ebp - 0x12c]
mov ebp, dword [esi + 0x118]
lea ecx, [esi + 0xd8]
call fcn.10014f60
add esp, 0x1c
pop ebp
ret