Function at 0x100b9fb0
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], 0x100bd1c0
mov ecx, dword fs:[0]
mov dword [esi + 0xa0], ecx
mov dword fs:[0], eax
mov eax, dword [0x10258d60]
cmp byte [eax], 0
jne 0x100ba455
mov eax, dword [0x10258d58]
cmp byte [eax + 0x1bd], 0
jne 0x100ba455
mov ecx, dword [0x10258d64]
cmp byte [ecx + 0x10], 0
jne 0x100ba455
mov ecx, dword [0x10258da8]
cmp dword [ecx + 0x4d28], 0xe
jg 0x100ba455
test byte [eax + 0x1d4], 1
je 0x100ba455
mov eax, dword [0x10258d94]
mov ecx, dword [eax]
mov eax, dword [0x10258ee0]
test al, 1
je 0x100ba508
mov ebx, dword [0x10258edc]
mov eax, dword [ebx + 4]
test byte [eax + ecx], 0x40
jne 0x100ba455
mov eax, dword [0x10258d94]
mov edx, dword [eax]
mov eax, dword [0x1025e68c]
test al, 1
je 0x100ba605
mov ebx, dword [0x1025e688]
mov ecx, dword [ebp + 8]
mov eax, dword [ebx + 4]
movzx ebx, byte [eax + edx]
test ecx, ecx
je 0x100ba0ee
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 [0x10258d70]
cmp edi, 0x96
jae 0x100ba6c7
imul eax, edi, 0x854
movzx edx, byte [ecx + eax + 0x7a8]
movzx eax, byte [ecx + eax + 0x850]
mov edi, dword [esi + 0x14]
jmp 0x100ba0f2
xor eax, eax
xor edx, edx
mov ecx, dword [0x10258d54]
cmp byte [ecx + 0x154], 0
je 0x100ba178
cmp bl, 8
je 0x100ba178
cmp bl, 9
je 0x100ba178
cmp dword [ebp + 8], 0
je 0x100ba123
cmp dl, 9
je 0x100ba178
cmp al, 9
je 0x100ba178
mov eax, dword [ebp + 8]
test byte [eax + 0x30], 0x20
jne 0x100ba178
mov eax, dword [0x10258d94]
mov ecx, dword [eax]
mov eax, dword [0x10258ee0]
test al, 1
je 0x100ba885
mov ebx, dword [0x10258edc]
mov eax, dword [ebx + 4]
test byte [eax + ecx], 0x40
jne 0x100ba178
mov eax, dword [0x10258d58]
movzx ecx, byte [eax + 0x1d4]
test cl, 0x10
jne 0x100ba178
cmp byte [eax + 0x1bd], 0
jne 0x100ba178
mov edx, dword [0x10258da8]
cmp dword [edx + 0x4d28], 0
jg 0x100ba178
or cl, 2
mov byte [eax + 0x1d4], cl
mov ecx, dword [0x10258d54]
cmp byte [ecx + 0x19c], 0
je 0x100ba455
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 0x100ba229
mov al, 1
test bl, bl
jne 0x100ba2ef
mov ecx, 0x1a4
add ecx, dword [0x10258d54]
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 0x100ba2b6
mov eax, dword [0x10258d94]
mov ecx, dword [eax]
mov eax, dword [0x10258ee0]
test al, 1
je 0x100baa8c
mov ebx, dword [0x10258edc]
mov eax, dword [ebx + 4]
test byte [eax + ecx], 1
sete al
jmp 0x100ba2ef
mov ecx, 0x1a4
add ecx, dword [0x10258d54]
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 0x100ba1ba
mov byte [esi + 8], bl
mov eax, dword [0x10258d94]
mov ecx, dword [eax]
mov eax, dword [0x1025e6cc]
test al, 1
je 0x100ba982
mov ebx, dword [0x1025e6c8]
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 0x100ba2ba
sqrtsd xmm0, xmm0
jmp 0x100ba2d8
xor eax, eax
jmp 0x100ba2ef
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 [0x101a7ae8]
jbe 0x100ba1ba
mov al, 1
test al, al
jne 0x100ba305
mov eax, dword [0x10258d7c]
cmp byte [eax + 0xa8], 0
je 0x100ba3ae
mov eax, dword [0x10258da8]
mov eax, dword [eax + 0x4d24]
cmp dword [edi + 0x14], eax
je 0x100ba318
mov dword [edi + 0x14], eax
mov eax, dword [0x10258d58]
movzx ebx, byte [eax + 0x1d4]
test bl, 2
jne 0x100ba455
lea edi, [eax + 0x1d4]
mov ecx, dword [0x10258d54]
mov ecx, dword [ecx + 0x1a0]
cmp ecx, 3
ja case.default.0x100ba348
jmp dword [ecx*4 + 0x101afab0]
mov eax, dword [0x10258d94]
mov ecx, dword [eax]
mov eax, dword [0x1025e6cc]
test al, 1
je 0x100bac64
mov ebx, dword [0x1025e6c8]
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 0x100ba46b
sqrtsd xmm0, xmm0
jmp 0x100ba489
mov eax, dword [0x10258d58]
movzx ebx, byte [eax + 0x1d4]
test bl, 2
jne 0x100ba455
mov ecx, dword [0x10258da8]
mov edx, dword [edi + 0x14]
cmp edx, dword [ecx + 0x4d24]
je 0x100ba32d
jmp 0x100ba455
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.0x100ba348.1
jmp case.default.0x100ba348
cmp byte [eax + 0x1c1], 0
je case.0x100ba348.1
and bl, 0xfd
jmp 0x100ba418
or bl, 2
mov byte [edi], bl
mov eax, dword [0x10258da8]
mov ecx, dword [eax + 0x4d28]
mov eax, dword [0x10258d54]
cmp ecx, dword [eax + 0x1c4]
jl 0x100ba455
cmp byte [eax + 0x1c8], 0
je 0x100ba449
mov eax, dword [0x10258d7c]
cmp byte [eax + 0xa8], 0
jne 0x100ba455
mov eax, dword [0x10258d58]
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 [0x10258d9c]
mulss xmm0, dword [eax + 0x20]
cvttss2si eax, xmm0
cmp eax, 0xffffffbb
jg 0x100ba4c6
mov eax, dword [0x10258da8]
cmp dword [eax + 0x4d28], 0
jle 0x100ba4d9
mov eax, dword [0x10258d58]
and byte [eax + 0x1d4], 0xfd
jmp case.default.0x100ba348
cmp eax, 0x45
jl 0x100ba4ea
mov eax, dword [0x10258da8]
cmp dword [eax + 0x4d28], 3
jge 0x100ba4b5
mov eax, dword [0x10258d58]
or byte [eax + 0x1d4], 2
jmp case.default.0x100ba348
xor ecx, ecx
cmp eax, 0x23
setl cl
lea eax, [ecx + ecx*4]
add eax, 4
mov ecx, dword [0x10258da8]
cmp dword [ecx + 0x4d28], eax
jge 0x100ba4b5
jmp 0x100ba4d9
mov dword [esi + 0x1c], ecx
mov dword [esi + 0x14], edi
or eax, 1
mov dword [0x10258ee0], eax
mov eax, 0xc11df3c2
mov ecx, 0x2dd68bc2
mov dword [esi + 0x24], ecx
mov dword [esi + 0x20], eax
mov eax, 0xa25760f
mov ecx, 0xe10c14b0
mov dword [esi + 0x2c], ecx
mov dword [esi + 0x28], eax
mov eax, 0x7f9d2005
mov ecx, 0xc2bd4212
mov dword [esi + 0x34], ecx
mov dword [esi + 0x30], eax
mov eax, 0x86cc2838
mov ecx, 0x7ae2f370
mov edx, 0xb27cb181
mov edi, 0x4cbadba7
mov dword [esi + 0x44], edi
mov dword [esi + 0x40], edx
mov edx, 0x27571376
mov edi, 0x8753798e
mov dword [esi + 0x4c], edi
mov dword [esi + 0x48], edx
mov edx, 0x18fc4c43
mov edi, 0xc2bd4261
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 [0x10258d5c]
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 0x100ba5db
mov eax, dword [esi + 0x60]
mov dword [esi + 0xc], eax
cmp dword [esi + 8], 0
je 0x100ba6c0
mov eax, dword [esi + 8]
mov ecx, eax
and ecx, 3
mov dword [esi + 0x10], ecx
cmp eax, 4
jae 0x100ba6d6
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x100ba720
mov dword [esi + 0x1c], edx
mov dword [esi + 0x14], edi
or eax, 1
mov dword [0x1025e68c], eax
mov eax, dword [0x10258d5c]
mov dword [esi + 0x18], eax
mov eax, 0xdd31eeec
mov ecx, 0x35eebed1
mov dword [esi + 0x64], ecx
mov dword [esi + 0x60], eax
mov ecx, 0x27577606
mov eax, 0x8753798e
mov edx, 0x8753798e
mov dword [esi + 0x6c], edx
mov dword [esi + 0x68], ecx
mov ecx, 0xb27cb181
mov edx, 0x4cbadba7
mov dword [esi + 0x24], edx
mov dword [esi + 0x20], ecx
mov ecx, 0x27571376
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 0x100ba696
mov eax, dword [esi + 0x40]
mov dword [esi + 0xc], eax
cmp dword [esi + 8], 0
je 0x100ba7aa
mov eax, dword [esi + 8]
mov ecx, eax
and ecx, 3
mov dword [esi + 0x10], ecx
cmp eax, 4
jae 0x100ba7b1
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x100ba7fb
mov ecx, 0x811c9dc5
jmp 0x100ba73d
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 0x100ba6e6
cmp dword [esi + 0x10], 0
je 0x100ba73d
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 0x100ba72b
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 0x100baffc
add ecx, ecx
mov edi, dword [eax + ecx*4]
mov eax, dword [esi + 8]
cmp eax, dword [ebx + 0x18]
jne 0x100ba781
cmp dword [ebx + 0x1c], 0x10
jb 0x100ba76b
mov eax, dword [ebx + 8]
jmp 0x100ba76e
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 0x100ba78e
cmp ebx, edi
je 0x100baffc
mov ebx, dword [ebx + 4]
jmp 0x100ba758
add ebx, 0x20
lea ecx, [esi + 0x60]
call fcn.10014f60
mov dword [0x10258edc], ebx
mov edi, dword [esi + 0x14]
mov ecx, dword [esi + 0x1c]
jmp 0x100ba066
mov ecx, 0x811c9dc5
jmp 0x100ba818
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 0x100ba7c1
cmp dword [esi + 0x10], 0
je 0x100ba818
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 0x100ba806
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 0x100bb013
add ecx, ecx
mov edi, dword [eax + ecx*4]
mov eax, dword [esi + 8]
cmp eax, dword [ebx + 0x18]
jne 0x100ba85c
cmp dword [ebx + 0x1c], 0x10
jb 0x100ba846
mov eax, dword [ebx + 8]
jmp 0x100ba849
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 0x100ba869
cmp ebx, edi
je 0x100bb013
mov ebx, dword [ebx + 4]
jmp 0x100ba833
add ebx, 0x20
lea ecx, [esi + 0x40]
call fcn.10014f60
mov dword [0x1025e688], ebx
mov edi, dword [esi + 0x14]
mov edx, dword [esi + 0x1c]
jmp 0x100ba08d
mov dword [esi + 0x1c], ecx
mov dword [esi + 0x14], edi
or eax, 1
mov dword [0x10258ee0], eax
mov eax, 0xc11df3c2
mov ecx, 0x2dd68bc2
mov dword [esi + 0x24], ecx
mov dword [esi + 0x20], eax
mov eax, 0xa25760f
mov ecx, 0xe10c14b0
mov dword [esi + 0x2c], ecx
mov dword [esi + 0x28], eax
mov eax, 0x7f9d2005
mov ecx, 0xc2bd4212
mov dword [esi + 0x34], ecx
mov dword [esi + 0x30], eax
mov eax, 0x86cc2838
mov ecx, 0x7ae2f370
mov edx, 0xb27cb181
mov edi, 0x4cbadba7
mov dword [esi + 0x44], edi
mov dword [esi + 0x40], edx
mov edx, 0x27571376
mov edi, 0x8753798e
mov dword [esi + 0x4c], edi
mov dword [esi + 0x48], edx
mov edx, 0x18fc4c43
mov edi, 0xc2bd4261
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 [0x10258d5c]
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 0x100ba958
mov eax, dword [esi + 0x60]
mov dword [esi + 0xc], eax
cmp dword [esi + 8], 0
je 0x100bab89
mov eax, dword [esi + 8]
mov ecx, eax
and ecx, 3
mov dword [esi + 0x10], ecx
cmp eax, 4
jae 0x100bab90
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x100babda
mov dword [esi + 0x84], ecx
mov dword [esi + 0x14], edi
or eax, 1
mov dword [0x1025e6cc], eax
mov eax, dword [0x10258d5c]
mov dword [esi + 0x1c], eax
mov eax, 0xc11df3c2
mov ecx, 0x2dd68bc2
mov dword [esi + 0x24], ecx
mov dword [esi + 0x20], eax
mov eax, 0xa25760f
mov ecx, 0xf10c14b0
mov dword [esi + 0x2c], ecx
mov dword [esi + 0x28], eax
mov eax, 0x7daa2f26
mov ecx, 0xabde2d0d
mov dword [esi + 0x34], ecx
mov dword [esi + 0x30], eax
mov eax, 0xb697514c
mov ecx, 0x7ae2f32d
mov dword [esi + 0x3c], ecx
mov dword [esi + 0x38], eax
mov eax, 0xb27cb181
mov ecx, 0x4cbadba7
mov dword [esi + 0x44], ecx
mov dword [esi + 0x40], eax
mov eax, 0x27571376
mov ecx, 0x8753798e
mov dword [esi + 0x4c], ecx
mov dword [esi + 0x48], eax
mov eax, 0x18fc4c43
mov ecx, 0xc2bd4261
mov dword [esi + 0x54], ecx
mov dword [esi + 0x50], eax
mov eax, 0x86cc2838
mov ecx, 0x7ae2f370
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 0x100baa62
mov eax, dword [esi + 0x60]
mov dword [esi + 0x10], eax
cmp dword [esi + 0xc], 0
je 0x100bad68
mov eax, dword [esi + 0xc]
mov ecx, eax
and ecx, 3
mov dword [esi + 0x18], ecx
cmp eax, 4
jae 0x100bad79
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x100badc3
mov dword [esi + 0x1c], ecx
mov dword [esi + 0x14], edi
or eax, 1
mov dword [0x10258ee0], eax
mov eax, 0xc11df3c2
mov ecx, 0x2dd68bc2
mov dword [esi + 0x24], ecx
mov dword [esi + 0x20], eax
mov eax, 0xa25760f
mov ecx, 0xe10c14b0
mov dword [esi + 0x2c], ecx
mov dword [esi + 0x28], eax
mov eax, 0x7f9d2005
mov ecx, 0xc2bd4212
mov dword [esi + 0x34], ecx
mov dword [esi + 0x30], eax
mov eax, 0x86cc2838
mov ecx, 0x7ae2f370
mov edx, 0xb27cb181
mov edi, 0x4cbadba7
mov dword [esi + 0x44], edi
mov dword [esi + 0x40], edx
mov edx, 0x27571376
mov edi, 0x8753798e
mov dword [esi + 0x4c], edi
mov dword [esi + 0x48], edx
mov edx, 0x18fc4c43
mov edi, 0xc2bd4261
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 [0x10258d5c]
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 0x100bab5f
mov eax, dword [esi + 0x60]
mov dword [esi + 0xc], eax
cmp dword [esi + 8], 0
je 0x100bad6f
mov eax, dword [esi + 8]
mov ecx, eax
and ecx, 3
mov dword [esi + 0x10], ecx
cmp eax, 4
jae 0x100bae50
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x100bae9a
mov ecx, 0x811c9dc5
jmp 0x100babf7
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 0x100baba0
cmp dword [esi + 0x10], 0
je 0x100babf7
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 0x100babe5
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 0x100bb02a
add ecx, ecx
mov edi, dword [eax + ecx*4]
mov eax, dword [esi + 8]
cmp eax, dword [ebx + 0x18]
jne 0x100bac3b
cmp dword [ebx + 0x1c], 0x10
jb 0x100bac25
mov eax, dword [ebx + 8]
jmp 0x100bac28
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 0x100bac48
cmp ebx, edi
je 0x100bb02a
mov ebx, dword [ebx + 4]
jmp 0x100bac12
add ebx, 0x20
lea ecx, [esi + 0x60]
call fcn.10014f60
mov dword [0x10258edc], ebx
mov edi, dword [esi + 0x14]
mov ecx, dword [esi + 0x1c]
jmp 0x100ba13d
mov dword [esi + 0x18], ecx
or eax, 1
mov dword [0x1025e6cc], eax
mov eax, dword [0x10258d5c]
mov dword [esi + 0x10], eax
mov eax, 0xc11df3c2
mov ecx, 0x2dd68bc2
mov dword [esi + 0x24], ecx
mov dword [esi + 0x20], eax
mov eax, 0xa25760f
mov ecx, 0xf10c14b0
mov dword [esi + 0x2c], ecx
mov dword [esi + 0x28], eax
mov eax, 0x7daa2f26
mov ecx, 0xabde2d0d
mov dword [esi + 0x34], ecx
mov dword [esi + 0x30], eax
mov eax, 0xb697514c
mov ecx, 0x7ae2f32d
mov dword [esi + 0x3c], ecx
mov dword [esi + 0x38], eax
mov eax, 0xb27cb181
mov ecx, 0x4cbadba7
mov dword [esi + 0x44], ecx
mov dword [esi + 0x40], eax
mov eax, 0x27571376
mov ecx, 0x8753798e
mov dword [esi + 0x4c], ecx
mov dword [esi + 0x48], eax
mov eax, 0x18fc4c43
mov ecx, 0xc2bd4261
mov dword [esi + 0x54], ecx
mov dword [esi + 0x50], eax
mov eax, 0x86cc2838
mov ecx, 0x7ae2f370
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 0x100bad3e
mov eax, dword [esi + 0x60]
mov dword [esi + 8], eax
cmp dword [esi + 0x14], 0
je 0x100baf24
mov eax, dword [esi + 0x14]
mov ecx, eax
and ecx, 3
mov dword [esi + 0xc], ecx
cmp eax, 4
jae 0x100baf2b
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x100baf75
mov ecx, 0x811c9dc5
jmp 0x100bade0
mov ecx, 0x811c9dc5
jmp 0x100baeb7
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 0x100bad89
cmp dword [esi + 0x18], 0
je 0x100bade0
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 0x100badce
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 0x100bb041
add ecx, ecx
mov edi, dword [eax + ecx*4]
mov eax, dword [esi + 0xc]
cmp eax, dword [ebx + 0x18]
jne 0x100bae24
cmp dword [ebx + 0x1c], 0x10
jb 0x100bae0e
mov eax, dword [ebx + 8]
jmp 0x100bae11
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 0x100bae31
cmp ebx, edi
je 0x100bb041
mov ebx, dword [ebx + 4]
jmp 0x100badfb
add ebx, 0x20
lea ecx, [esi + 0x60]
call fcn.10014f60
mov dword [0x1025e6c8], ebx
mov edi, dword [esi + 0x14]
mov ecx, dword [esi + 0x84]
jmp 0x100ba278
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 0x100bae60
cmp dword [esi + 0x10], 0
je 0x100baeb7
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 0x100baea5
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 0x100bb058
add ecx, ecx
mov edi, dword [eax + ecx*4]
mov eax, dword [esi + 8]
cmp eax, dword [ebx + 0x18]
jne 0x100baefb
cmp dword [ebx + 0x1c], 0x10
jb 0x100baee5
mov eax, dword [ebx + 8]
jmp 0x100baee8
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 0x100baf08
cmp ebx, edi
je 0x100bb058
mov ebx, dword [ebx + 4]
jmp 0x100baed2
add ebx, 0x20
lea ecx, [esi + 0x60]
call fcn.10014f60
mov dword [0x10258edc], ebx
mov edi, dword [esi + 0x14]
mov ecx, dword [esi + 0x1c]
jmp 0x100ba21a
mov ecx, 0x811c9dc5
jmp 0x100baf92
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 0x100baf3b
cmp dword [esi + 0xc], 0
je 0x100baf92
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 0x100baf80
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 0x100bb06f
add ecx, ecx
mov edi, dword [eax + ecx*4]
mov eax, dword [esi + 0x14]
cmp eax, dword [ebx + 0x18]
jne 0x100bafd6
cmp dword [ebx + 0x1c], 0x10
jb 0x100bafc0
mov eax, dword [ebx + 8]
jmp 0x100bafc3
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 0x100bafe3
cmp ebx, edi
je 0x100bb06f
mov ebx, dword [ebx + 4]
jmp 0x100bafad
add ebx, 0x20
lea ecx, [esi + 0x60]
call fcn.10014f60
mov dword [0x1025e6c8], ebx
mov ecx, dword [esi + 0x18]
jmp 0x100ba369
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