Function at 0x100ba46f
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, 0xc0
mov esi, esp
mov dword [esi + 0x98], ebp
mov edi, ecx
mov dword [esi + 0x9c], esp
mov dword [esi + 0xa8], 0xffffffff
lea eax, [esi + 0xa0]
mov dword [esi + 0xa4], 0x100bd2e0
mov ecx, dword fs:[0]
mov dword [esi + 0xa0], ecx
mov dword fs:[0], eax
mov eax, dword [0x10259d60]
cmp byte [eax], 0
jne 0x100ba575
mov eax, dword [0x10259d58]
cmp byte [eax + 0x1bd], 0
jne 0x100ba575
mov ecx, dword [0x10259d64]
cmp byte [ecx + 0x10], 0
jne 0x100ba575
mov ecx, dword [0x10259da8]
cmp dword [ecx + 0x4d28], 0xe
jg 0x100ba575
test byte [eax + 0x1d4], 1
je 0x100ba575
mov eax, dword [0x10259d94]
mov ecx, dword [eax]
mov eax, dword [0x10259ee0]
test al, 1
je 0x100ba628
mov ebx, dword [0x10259edc]
mov eax, dword [ebx + 4]
test byte [eax + ecx], 0x40
jne 0x100ba575
mov eax, dword [0x10259d94]
mov edx, dword [eax]
mov eax, dword [0x1025f68c]
test al, 1
je 0x100ba725
mov ebx, dword [0x1025f688]
mov ecx, dword [ebp + 8]
mov eax, dword [ebx + 4]
movzx ebx, byte [eax + edx]
test ecx, ecx
je 0x100ba20e
mov dword [esi + 0x14], edi
mov edi, dword [ecx + 4]
mov ecx, 0x1b4e81b5
mov eax, edi
imul ecx
mov eax, edx
shr eax, 0x1f
sar edx, 4
add edx, eax
imul eax, edx, 0x96
sub edi, eax
mov ecx, 0x13bc
add ecx, dword [0x10259d70]
cmp edi, 0x96
jae 0x100ba7e7
imul eax, edi, 0x854
movzx edx, byte [ecx + eax + 0x7a8]
movzx eax, byte [ecx + eax + 0x850]
mov edi, dword [esi + 0x14]
jmp 0x100ba212
xor eax, eax
xor edx, edx
mov ecx, dword [0x10259d54]
cmp byte [ecx + 0x154], 0
je 0x100ba298
cmp bl, 8
je 0x100ba298
cmp bl, 9
je 0x100ba298
cmp dword [ebp + 8], 0
je 0x100ba243
cmp dl, 9
je 0x100ba298
cmp al, 9
je 0x100ba298
mov eax, dword [ebp + 8]
test byte [eax + 0x30], 0x20
jne 0x100ba298
mov eax, dword [0x10259d94]
mov ecx, dword [eax]
mov eax, dword [0x10259ee0]
test al, 1
je 0x100ba9a5
mov ebx, dword [0x10259edc]
mov eax, dword [ebx + 4]
test byte [eax + ecx], 0x40
jne 0x100ba298
mov eax, dword [0x10259d58]
movzx ecx, byte [eax + 0x1d4]
test cl, 0x10
jne 0x100ba298
cmp byte [eax + 0x1bd], 0
jne 0x100ba298
mov edx, dword [0x10259da8]
cmp dword [edx + 0x4d28], 0
jg 0x100ba298
or cl, 2
mov byte [eax + 0x1d4], cl
mov ecx, dword [0x10259d54]
cmp byte [ecx + 0x19c], 0
je 0x100ba575
add ecx, 0x1a4
mov dword [esi + 0x20], 0
mov dword [esi + 0xa8], 0xffffffff
lea eax, [esi + 0x20]
lea edx, [esi + 0x40]
push eax
push edx
call fcn.10036b60
mov eax, dword [esi + 0x40]
movzx ebx, byte [eax + 0xc]
test bl, bl
je 0x100ba349
mov al, 1
test bl, bl
jne 0x100ba40f
mov ecx, 0x1a4
add ecx, dword [0x10259d54]
mov dword [esi + 0x80], 2
mov dword [esi + 0xa8], 0xffffffff
lea eax, [esi + 0x80]
push eax
lea eax, [esi + 0x40]
push eax
call fcn.10036b60
mov eax, dword [esi + 0x40]
cmp byte [eax + 0xc], 0
je 0x100ba3d6
mov eax, dword [0x10259d94]
mov ecx, dword [eax]
mov eax, dword [0x10259ee0]
test al, 1
je 0x100babac
mov ebx, dword [0x10259edc]
mov eax, dword [ebx + 4]
test byte [eax + ecx], 1
sete al
jmp 0x100ba40f
mov ecx, 0x1a4
add ecx, dword [0x10259d54]
mov dword [esi + 0x80], 1
lea eax, [esi + 0x80]
push eax
lea eax, [esi + 0x40]
push eax
call fcn.10036b60
mov eax, dword [esi + 0x40]
cmp byte [eax + 0xc], 0
je 0x100ba2da
mov byte [esi + 8], bl
mov eax, dword [0x10259d94]
mov ecx, dword [eax]
mov eax, dword [0x1025f6cc]
test al, 1
je 0x100baaa2
mov ebx, dword [0x1025f6c8]
mov eax, dword [ebx + 4]
movss xmm0, dword [eax + ecx]
movss xmm1, dword [eax + ecx + 4]
mulss xmm1, xmm1
mulss xmm0, xmm0
addss xmm0, xmm1
movss xmm1, dword [eax + ecx + 8]
mulss xmm1, xmm1
addss xmm1, xmm0
xorps xmm0, xmm0
cvtss2sd xmm0, xmm1
xorps xmm1, xmm1
ucomisd xmm0, xmm1
jb 0x100ba3da
sqrtsd xmm0, xmm0
jmp 0x100ba3f8
xor eax, eax
jmp 0x100ba40f
sub esp, 8
movsd qword [esp], xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrt
add esp, 8
fstp qword [esi + 0x90]
movsd xmm0, qword [esi + 0x90]
movzx ebx, byte [esi + 8]
cvtsd2ss xmm0, xmm0
ucomiss xmm0, dword [0x101a8ae8]
jbe 0x100ba2da
mov al, 1
test al, al
jne 0x100ba425
mov eax, dword [0x10259d7c]
cmp byte [eax + 0xa8], 0
je 0x100ba4ce
mov eax, dword [0x10259da8]
mov eax, dword [eax + 0x4d24]
cmp dword [edi + 0x14], eax
je 0x100ba438
mov dword [edi + 0x14], eax
mov eax, dword [0x10259d58]
movzx ebx, byte [eax + 0x1d4]
test bl, 2
jne 0x100ba575
lea edi, [eax + 0x1d4]
mov ecx, dword [0x10259d54]
mov ecx, dword [ecx + 0x1a0]
cmp ecx, 3
ja case.default.0x100ba468
jmp dword [ecx*4 + 0x101b0ab0]
mov eax, dword [0x10259d94]
mov ecx, dword [eax]
mov eax, dword [0x1025f6cc]
test al, 1
je 0x100bad84
mov ebx, dword [0x1025f6c8]
mov eax, dword [ebx + 4]
movss xmm0, dword [eax + ecx]
movss xmm1, dword [eax + ecx + 4]
mulss xmm1, xmm1
mulss xmm0, xmm0
addss xmm0, xmm1
movss xmm1, dword [eax + ecx + 8]
mulss xmm1, xmm1
addss xmm1, xmm0
xorps xmm0, xmm0
cvtss2sd xmm0, xmm1
xorps xmm1, xmm1
ucomisd xmm0, xmm1
jb 0x100ba58b
sqrtsd xmm0, xmm0
jmp 0x100ba5a9
mov eax, dword [0x10259d58]
movzx ebx, byte [eax + 0x1d4]
test bl, 2
jne 0x100ba575
mov ecx, dword [0x10259da8]
mov edx, dword [edi + 0x14]
cmp edx, dword [ecx + 0x4d24]
je 0x100ba44d
jmp 0x100ba575
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 4]
mov edx, 0x88888889
mov eax, ecx
imul edx
add edx, ecx
mov eax, edx
shr eax, 0x1f
sar edx, 4
add edx, eax
mov eax, edx
shl eax, 5
add edx, edx
sub edx, eax
add edx, ecx
cmp edx, 0xf
jge case.0x100ba468.1
jmp case.default.0x100ba468
cmp byte [eax + 0x1c1], 0
je case.0x100ba468.1
and bl, 0xfd
jmp 0x100ba538
or bl, 2
mov byte [edi], bl
mov eax, dword [0x10259da8]
mov ecx, dword [eax + 0x4d28]
mov eax, dword [0x10259d54]
cmp ecx, dword [eax + 0x1c4]
jl 0x100ba575
cmp byte [eax + 0x1c8], 0
je 0x100ba569
mov eax, dword [0x10259d7c]
cmp byte [eax + 0xa8], 0
jne 0x100ba575
mov eax, dword [0x10259d58]
and byte [eax + 0x1d4], 0xfd
mov eax, dword [esi + 0xa0]
mov dword fs:[0], eax
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 4
sub esp, 8
movsd qword [esp], xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrt
add esp, 8
fstp qword [esi + 0x88]
movsd xmm0, qword [esi + 0x88]
cvtsd2ss xmm0, xmm0
cvttps2dq xmm0, xmm0
cvtdq2ps xmm0, xmm0
mov eax, dword [0x10259d9c]
mulss xmm0, dword [eax + 0x20]
cvttss2si eax, xmm0
cmp eax, 0xffffffbb
jg 0x100ba5e6
mov eax, dword [0x10259da8]
cmp dword [eax + 0x4d28], 0
jle 0x100ba5f9
mov eax, dword [0x10259d58]
and byte [eax + 0x1d4], 0xfd
jmp case.default.0x100ba468
cmp eax, 0x45
jl 0x100ba60a
mov eax, dword [0x10259da8]
cmp dword [eax + 0x4d28], 3
jge 0x100ba5d5
mov eax, dword [0x10259d58]
or byte [eax + 0x1d4], 2
jmp case.default.0x100ba468
xor ecx, ecx
cmp eax, 0x23
setl cl
lea eax, [ecx + ecx*4]
add eax, 4
mov ecx, dword [0x10259da8]
cmp dword [ecx + 0x4d28], eax
jge 0x100ba5d5
jmp 0x100ba5f9
mov dword [esi + 0x1c], ecx
mov dword [esi + 0x14], edi
or eax, 1
mov dword [0x10259ee0], eax
mov eax, 0x7e4e3df8
mov ecx, 0x57671417
mov dword [esi + 0x24], ecx
mov dword [esi + 0x20], eax
mov eax, 0x320f6415
mov ecx, 0xe96b5521
mov dword [esi + 0x2c], ecx
mov dword [esi + 0x28], eax
mov eax, 0x7eba7c0b
mov ecx, 0x9bcdb057
mov dword [esi + 0x34], ecx
mov dword [esi + 0x30], eax
mov eax, 0x2817e16e
mov ecx, 0xa51aeae1
mov edx, 0xd2f7fbb
mov edi, 0x360b4472
mov dword [esi + 0x44], edi
mov dword [esi + 0x40], edx
mov edx, 0x1f7d016c
mov edi, 0x8f34381f
mov dword [esi + 0x4c], edi
mov dword [esi + 0x48], edx
mov edx, 0x19db104d
mov edi, 0x9bcdb024
mov dword [esi + 0x54], edi
mov dword [esi + 0x50], edx
mov dword [esi + 0x3c], ecx
mov dword [esi + 0x38], eax
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]
mov eax, dword [0x10259d5c]
mov dword [esi + 0x18], eax
movaps xmmword [esi + 0x30], xmm0
mov dword [esi + 0xa8], 0
lea eax, [esi + 0x20]
lea ecx, [esi + 0x60]
mov dword [esi + 0xc], ecx
push eax
call fcn.10015240
mov eax, dword [esi + 0x70]
mov dword [esi + 8], eax
cmp dword [esi + 0x74], 0x10
jb 0x100ba6fb
mov eax, dword [esi + 0x60]
mov dword [esi + 0xc], eax
cmp dword [esi + 8], 0
je 0x100ba7e0
mov eax, dword [esi + 8]
mov ecx, eax
and ecx, 3
mov dword [esi + 0x10], ecx
cmp eax, 4
jae 0x100ba7f6
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x100ba840
mov dword [esi + 0x1c], edx
mov dword [esi + 0x14], edi
or eax, 1
mov dword [0x1025f68c], eax
mov eax, dword [0x10259d5c]
mov dword [esi + 0x18], eax
mov eax, 0x626220d6
mov ecx, 0x4f5f2104
mov dword [esi + 0x64], ecx
mov dword [esi + 0x60], eax
mov ecx, 0x1f7d641c
mov eax, 0x8f34381f
mov edx, 0x8f34381f
mov dword [esi + 0x6c], edx
mov dword [esi + 0x68], ecx
mov ecx, 0xd2f7fbb
mov edx, 0x360b4472
mov dword [esi + 0x24], edx
mov dword [esi + 0x20], ecx
mov ecx, 0x1f7d016c
mov dword [esi + 0x2c], eax
mov dword [esi + 0x28], ecx
lea eax, [esi + 0x20]
xor ecx, ecx
movaps xmm0, xmmword [esi + 0x60]
xorps xmm0, xmmword [eax]
movaps xmmword [esi + 0x60], xmm0
mov dword [esi + 0xa8], 2
lea eax, [esi + 0x60]
lea ecx, [esi + 0x40]
mov dword [esi + 0xc], ecx
push eax
call fcn.10015240
mov eax, dword [esi + 0x50]
mov dword [esi + 8], eax
cmp dword [esi + 0x54], 0x10
jb 0x100ba7b6
mov eax, dword [esi + 0x40]
mov dword [esi + 0xc], eax
cmp dword [esi + 8], 0
je 0x100ba8ca
mov eax, dword [esi + 8]
mov ecx, eax
and ecx, 3
mov dword [esi + 0x10], ecx
cmp eax, 4
jae 0x100ba8d1
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x100ba91b
mov ecx, 0x811c9dc5
jmp 0x100ba85d
mov dword [esi + 0xa8], 0xffffffff
call fcn.1009f400
mov edi, dword [esi + 8]
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 0x100ba806
cmp dword [esi + 0x10], 0
je 0x100ba85d
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 0x100ba84b
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 0x100bb11c
add ecx, ecx
mov edi, dword [eax + ecx*4]
mov eax, dword [esi + 8]
cmp eax, dword [ebx + 0x18]
jne 0x100ba8a1
cmp dword [ebx + 0x1c], 0x10
jb 0x100ba88b
mov eax, dword [ebx + 8]
jmp 0x100ba88e
lea eax, [ebx + 8]
push dword [esi + 8]
push eax
push dword [esi + 0xc]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x100ba8ae
cmp ebx, edi
je 0x100bb11c
mov ebx, dword [ebx + 4]
jmp 0x100ba878
add ebx, 0x20
lea ecx, [esi + 0x60]
call fcn.10014f60
mov dword [0x10259edc], ebx
mov edi, dword [esi + 0x14]
mov ecx, dword [esi + 0x1c]
jmp 0x100ba186
mov ecx, 0x811c9dc5
jmp 0x100ba938
mov edi, dword [esi + 8]
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 0x100ba8e1
cmp dword [esi + 0x10], 0
je 0x100ba938
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 0x100ba926
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 0x100bb133
add ecx, ecx
mov edi, dword [eax + ecx*4]
mov eax, dword [esi + 8]
cmp eax, dword [ebx + 0x18]
jne 0x100ba97c
cmp dword [ebx + 0x1c], 0x10
jb 0x100ba966
mov eax, dword [ebx + 8]
jmp 0x100ba969
lea eax, [ebx + 8]
push dword [esi + 8]
push eax
push dword [esi + 0xc]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x100ba989
cmp ebx, edi
je 0x100bb133
mov ebx, dword [ebx + 4]
jmp 0x100ba953
add ebx, 0x20
lea ecx, [esi + 0x40]
call fcn.10014f60
mov dword [0x1025f688], ebx
mov edi, dword [esi + 0x14]
mov edx, dword [esi + 0x1c]
jmp 0x100ba1ad
mov dword [esi + 0x1c], ecx
mov dword [esi + 0x14], edi
or eax, 1
mov dword [0x10259ee0], eax
mov eax, 0x7e4e3df8
mov ecx, 0x57671417
mov dword [esi + 0x24], ecx
mov dword [esi + 0x20], eax
mov eax, 0x320f6415
mov ecx, 0xe96b5521
mov dword [esi + 0x2c], ecx
mov dword [esi + 0x28], eax
mov eax, 0x7eba7c0b
mov ecx, 0x9bcdb057
mov dword [esi + 0x34], ecx
mov dword [esi + 0x30], eax
mov eax, 0x2817e16e
mov ecx, 0xa51aeae1
mov edx, 0xd2f7fbb
mov edi, 0x360b4472
mov dword [esi + 0x44], edi
mov dword [esi + 0x40], edx
mov edx, 0x1f7d016c
mov edi, 0x8f34381f
mov dword [esi + 0x4c], edi
mov dword [esi + 0x48], edx
mov edx, 0x19db104d
mov edi, 0x9bcdb024
mov dword [esi + 0x54], edi
mov dword [esi + 0x50], edx
mov dword [esi + 0x3c], ecx
mov dword [esi + 0x38], eax
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]
mov eax, dword [0x10259d5c]
mov dword [esi + 0x18], eax
movaps xmmword [esi + 0x30], xmm0
mov dword [esi + 0xa8], 4
lea eax, [esi + 0x20]
lea ecx, [esi + 0x60]
mov dword [esi + 0xc], ecx
push eax
call fcn.10015240
mov eax, dword [esi + 0x70]
mov dword [esi + 8], eax
cmp dword [esi + 0x74], 0x10
jb 0x100baa78
mov eax, dword [esi + 0x60]
mov dword [esi + 0xc], eax
cmp dword [esi + 8], 0
je 0x100baca9
mov eax, dword [esi + 8]
mov ecx, eax
and ecx, 3
mov dword [esi + 0x10], ecx
cmp eax, 4
jae 0x100bacb0
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x100bacfa
mov dword [esi + 0x84], ecx
mov dword [esi + 0x14], edi
or eax, 1
mov dword [0x1025f6cc], eax
mov eax, dword [0x10259d5c]
mov dword [esi + 0x1c], eax
mov eax, 0x7e4e3df8
mov ecx, 0x57671417
mov dword [esi + 0x24], ecx
mov dword [esi + 0x20], eax
mov eax, 0x320f6415
mov ecx, 0xf96b5521
mov dword [esi + 0x2c], ecx
mov dword [esi + 0x28], eax
mov eax, 0x7c8d7328
mov ecx, 0xf2aedf48
mov dword [esi + 0x34], ecx
mov dword [esi + 0x30], eax
mov eax, 0x184c981a
mov ecx, 0xa51aeabc
mov dword [esi + 0x3c], ecx
mov dword [esi + 0x38], eax
mov eax, 0xd2f7fbb
mov ecx, 0x360b4472
mov dword [esi + 0x44], ecx
mov dword [esi + 0x40], eax
mov eax, 0x1f7d016c
mov ecx, 0x8f34381f
mov dword [esi + 0x4c], ecx
mov dword [esi + 0x48], eax
mov eax, 0x19db104d
mov ecx, 0x9bcdb024
mov dword [esi + 0x54], ecx
mov dword [esi + 0x50], eax
mov eax, 0x2817e16e
mov ecx, 0xa51aeae1
mov dword [esi + 0x5c], ecx
mov dword [esi + 0x58], eax
xor eax, eax
lea ecx, [esi + 0x40]
movaps xmm0, xmmword [esi + 0x20]
xorps xmm0, xmmword [ecx]
movaps xmmword [esi + 0x20], xmm0
movaps xmm0, xmmword [esi + 0x30]
xorps xmm0, xmmword [ecx + 0x10]
movaps xmmword [esi + 0x30], xmm0
mov dword [esi + 0xa8], 6
lea ecx, [esi + 0x60]
mov dword [esi + 0x10], ecx
lea eax, [esi + 0x20]
push eax
call fcn.10015240
mov eax, dword [esi + 0x70]
mov dword [esi + 0xc], eax
cmp dword [esi + 0x74], 0x10
jb 0x100bab82
mov eax, dword [esi + 0x60]
mov dword [esi + 0x10], eax
cmp dword [esi + 0xc], 0
je 0x100bae88
mov eax, dword [esi + 0xc]
mov ecx, eax
and ecx, 3
mov dword [esi + 0x18], ecx
cmp eax, 4
jae 0x100bae99
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x100baee3
mov dword [esi + 0x1c], ecx
mov dword [esi + 0x14], edi
or eax, 1
mov dword [0x10259ee0], eax
mov eax, 0x7e4e3df8
mov ecx, 0x57671417
mov dword [esi + 0x24], ecx
mov dword [esi + 0x20], eax
mov eax, 0x320f6415
mov ecx, 0xe96b5521
mov dword [esi + 0x2c], ecx
mov dword [esi + 0x28], eax
mov eax, 0x7eba7c0b
mov ecx, 0x9bcdb057
mov dword [esi + 0x34], ecx
mov dword [esi + 0x30], eax
mov eax, 0x2817e16e
mov ecx, 0xa51aeae1
mov edx, 0xd2f7fbb
mov edi, 0x360b4472
mov dword [esi + 0x44], edi
mov dword [esi + 0x40], edx
mov edx, 0x1f7d016c
mov edi, 0x8f34381f
mov dword [esi + 0x4c], edi
mov dword [esi + 0x48], edx
mov edx, 0x19db104d
mov edi, 0x9bcdb024
mov dword [esi + 0x54], edi
mov dword [esi + 0x50], edx
mov dword [esi + 0x3c], ecx
mov dword [esi + 0x38], eax
mov dword [esi + 0x5c], ecx
mov dword [esi + 0x58], eax
xor eax, eax
lea ecx, [esi + 0x40]
movaps xmm0, xmmword [esi + 0x20]
xorps xmm0, xmmword [ecx]
movaps xmmword [esi + 0x20], xmm0
movaps xmm0, xmmword [esi + 0x30]
xorps xmm0, xmmword [ecx + 0x10]
mov eax, dword [0x10259d5c]
mov dword [esi + 0x18], eax
movaps xmmword [esi + 0x30], xmm0
mov dword [esi + 0xa8], 8
lea ecx, [esi + 0x60]
mov dword [esi + 0xc], ecx
lea eax, [esi + 0x20]
push eax
call fcn.10015240
mov eax, dword [esi + 0x70]
mov dword [esi + 8], eax
cmp dword [esi + 0x74], 0x10
jb 0x100bac7f
mov eax, dword [esi + 0x60]
mov dword [esi + 0xc], eax
cmp dword [esi + 8], 0
je 0x100bae8f
mov eax, dword [esi + 8]
mov ecx, eax
and ecx, 3
mov dword [esi + 0x10], ecx
cmp eax, 4
jae 0x100baf70
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x100bafba
mov ecx, 0x811c9dc5
jmp 0x100bad17
mov edi, dword [esi + 8]
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 0x100bacc0
cmp dword [esi + 0x10], 0
je 0x100bad17
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 0x100bad05
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 0x100bb14a
add ecx, ecx
mov edi, dword [eax + ecx*4]
mov eax, dword [esi + 8]
cmp eax, dword [ebx + 0x18]
jne 0x100bad5b
cmp dword [ebx + 0x1c], 0x10
jb 0x100bad45
mov eax, dword [ebx + 8]
jmp 0x100bad48
lea eax, [ebx + 8]
push dword [esi + 8]
push eax
push dword [esi + 0xc]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x100bad68
cmp ebx, edi
je 0x100bb14a
mov ebx, dword [ebx + 4]
jmp 0x100bad32
add ebx, 0x20
lea ecx, [esi + 0x60]
call fcn.10014f60
mov dword [0x10259edc], ebx
mov edi, dword [esi + 0x14]
mov ecx, dword [esi + 0x1c]
jmp 0x100ba25d
mov dword [esi + 0x18], ecx
or eax, 1
mov dword [0x1025f6cc], eax
mov eax, dword [0x10259d5c]
mov dword [esi + 0x10], eax
mov eax, 0x7e4e3df8
mov ecx, 0x57671417
mov dword [esi + 0x24], ecx
mov dword [esi + 0x20], eax
mov eax, 0x320f6415
mov ecx, 0xf96b5521
mov dword [esi + 0x2c], ecx
mov dword [esi + 0x28], eax
mov eax, 0x7c8d7328
mov ecx, 0xf2aedf48
mov dword [esi + 0x34], ecx
mov dword [esi + 0x30], eax
mov eax, 0x184c981a
mov ecx, 0xa51aeabc
mov dword [esi + 0x3c], ecx
mov dword [esi + 0x38], eax
mov eax, 0xd2f7fbb
mov ecx, 0x360b4472
mov dword [esi + 0x44], ecx
mov dword [esi + 0x40], eax
mov eax, 0x1f7d016c
mov ecx, 0x8f34381f
mov dword [esi + 0x4c], ecx
mov dword [esi + 0x48], eax
mov eax, 0x19db104d
mov ecx, 0x9bcdb024
mov dword [esi + 0x54], ecx
mov dword [esi + 0x50], eax
mov eax, 0x2817e16e
mov ecx, 0xa51aeae1
mov dword [esi + 0x5c], ecx
mov dword [esi + 0x58], eax
xor eax, eax
lea ecx, [esi + 0x40]
movaps xmm0, xmmword [esi + 0x20]
xorps xmm0, xmmword [ecx]
movaps xmmword [esi + 0x20], xmm0
movaps xmm0, xmmword [esi + 0x30]
xorps xmm0, xmmword [ecx + 0x10]
movaps xmmword [esi + 0x30], xmm0
mov dword [esi + 0xa8], 0xa
lea ecx, [esi + 0x60]
mov dword [esi + 8], ecx
lea eax, [esi + 0x20]
push eax
call fcn.10015240
mov eax, dword [esi + 0x70]
mov dword [esi + 0x14], eax
cmp dword [esi + 0x74], 0x10
jb 0x100bae5e
mov eax, dword [esi + 0x60]
mov dword [esi + 8], eax
cmp dword [esi + 0x14], 0
je 0x100bb044
mov eax, dword [esi + 0x14]
mov ecx, eax
and ecx, 3
mov dword [esi + 0xc], ecx
cmp eax, 4
jae 0x100bb04b
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x100bb095
mov ecx, 0x811c9dc5
jmp 0x100baf00
mov ecx, 0x811c9dc5
jmp 0x100bafd7
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 0x100baea9
cmp dword [esi + 0x18], 0
je 0x100baf00
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 0x100baeee
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 0x100bb161
add ecx, ecx
mov edi, dword [eax + ecx*4]
mov eax, dword [esi + 0xc]
cmp eax, dword [ebx + 0x18]
jne 0x100baf44
cmp dword [ebx + 0x1c], 0x10
jb 0x100baf2e
mov eax, dword [ebx + 8]
jmp 0x100baf31
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 0x100baf51
cmp ebx, edi
je 0x100bb161
mov ebx, dword [ebx + 4]
jmp 0x100baf1b
add ebx, 0x20
lea ecx, [esi + 0x60]
call fcn.10014f60
mov dword [0x1025f6c8], ebx
mov edi, dword [esi + 0x14]
mov ecx, dword [esi + 0x84]
jmp 0x100ba398
mov edi, dword [esi + 8]
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 0x100baf80
cmp dword [esi + 0x10], 0
je 0x100bafd7
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 0x100bafc5
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 0x100bb178
add ecx, ecx
mov edi, dword [eax + ecx*4]
mov eax, dword [esi + 8]
cmp eax, dword [ebx + 0x18]
jne 0x100bb01b
cmp dword [ebx + 0x1c], 0x10
jb 0x100bb005
mov eax, dword [ebx + 8]
jmp 0x100bb008
lea eax, [ebx + 8]
push dword [esi + 8]
push eax
push dword [esi + 0xc]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x100bb028
cmp ebx, edi
je 0x100bb178
mov ebx, dword [ebx + 4]
jmp 0x100baff2
add ebx, 0x20
lea ecx, [esi + 0x60]
call fcn.10014f60
mov dword [0x10259edc], ebx
mov edi, dword [esi + 0x14]
mov ecx, dword [esi + 0x1c]
jmp 0x100ba33a
mov ecx, 0x811c9dc5
jmp 0x100bb0b2
mov edi, dword [esi + 0x14]
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 0x100bb05b
cmp dword [esi + 0xc], 0
je 0x100bb0b2
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 + 0xc], edi
jne 0x100bb0a0
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 0x100bb18f
add ecx, ecx
mov edi, dword [eax + ecx*4]
mov eax, dword [esi + 0x14]
cmp eax, dword [ebx + 0x18]
jne 0x100bb0f6
cmp dword [ebx + 0x1c], 0x10
jb 0x100bb0e0
mov eax, dword [ebx + 8]
jmp 0x100bb0e3
lea eax, [ebx + 8]
push dword [esi + 0x14]
push eax
push dword [esi + 8]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x100bb103
cmp ebx, edi
je 0x100bb18f
mov ebx, dword [ebx + 4]
jmp 0x100bb0cd
add ebx, 0x20
lea ecx, [esi + 0x60]
call fcn.10014f60
mov dword [0x1025f6c8], ebx
mov ecx, dword [esi + 0x18]
jmp 0x100ba489
mov dword [esi + 0xa8], 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 + 0xa8], 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 + 0xa8], 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 + 0xa8], 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 + 0xa8], 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 + 0xa8], 0xb
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, 0xc
lea esi, [ebp - 0xac]
mov ebp, dword [esi + 0x98]
lea ecx, [esi + 0x60]
call fcn.10014f60
add esp, 0xc
pop ebp
ret