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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xffffffe0
sub esp, 0xc0
mov esi, esp
mov dword [esi + 0x98], ebp
mov dword [esi + 0x1c], ecx
mov dword [esi + 0x9c], esp
mov dword [esi + 0xa8], 0xffffffff
lea eax, [esi + 0xa0]
mov dword [esi + 0xa4], 0x100e82f0
mov ecx, dword fs:[0]
mov dword [esi + 0xa0], ecx
mov dword fs:[0], eax
push dword [ebp + 8]
call fcn.100df340
mov eax, dword [0x10259d94]
mov ecx, dword [eax]
mov eax, dword [0x1025f68c]
test al, 1
je 0x100e6d87
mov ebx, dword [0x1025f688]
mov eax, dword [ebx + 4]
cmp byte [eax + ecx], 2
jne 0x100e6d71
mov eax, dword [0x10259d94]
mov ecx, dword [eax]
mov eax, dword [0x1025f664]
test al, 1
je 0x100e6e3f
mov ebx, dword [0x1025f660]
mov eax, dword [ebx + 4]
movss xmm0, dword [eax + ecx]
mov eax, dword [esi + 0x1c]
movss dword [eax + 0x14], xmm0
mov eax, dword [0x10259d58]
mov ecx, dword [eax + 0x1d8]
test ecx, ecx
je 0x100e6919
mov eax, dword [ecx]
mov eax, dword [eax + 0x6e4]
mov dword [esi + 0xa8], 0xffffffff
call eax
fstp dword [esi + 0x8c]
movss xmm0, dword [esi + 0x8c]
jmp 0x100e6921
movss xmm0, dword [0x101b0a0c]
mov eax, dword [esi + 0x1c]
movss dword [eax + 0x18], xmm0
mov eax, dword [0x10259d94]
mov edi, dword [eax]
mov eax, dword [0x1025f6cc]
test al, 1
je 0x100e6f43
mov ebx, dword [0x1025f6c8]
mov dword [esi + 0xa8], 0xffffffff
mov eax, dword [ebx + 4]
mov edx, dword [eax + edi + 8]
mov ecx, dword [esi + 0x1c]
mov dword [ecx + 8], edx
movsd xmm0, qword [eax + edi]
movsd qword [ecx], xmm0
push ecx
mov edi, dword [ebp + 8]
push edi
call fcn.100e11e0
mov eax, dword [0x10259d54]
cmp byte [eax + 0x53c], 0
je 0x100e697f
or byte [edi + 0x32], 0x40
mov eax, dword [esi + 0x1c]
cmp byte [eax + 0x10], 0
je 0x100e6a9f
mov eax, dword [0x10259d60]
cmp dword [eax + 0x18], 0
je 0x100e69d7
mov eax, dword [0x10259d94]
mov ecx, dword [eax]
mov eax, dword [0x1025f6dc]
test al, 1
je 0x100e71da
mov ebx, dword [0x1025f6d8]
mov eax, dword [ebx + 4]
movss xmm0, dword [eax + ecx]
ucomiss xmm0, dword [0x101a72c0]
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x30]
jbe 0x100e6a4e
or eax, 4
mov dword [ecx + 0x30], eax
jmp 0x100e6a95
mov eax, dword [ebp + 8]
or byte [eax + 0x32], 0x40
mov eax, dword [0x10259d94]
mov edx, dword [eax]
mov eax, dword [0x1025f76c]
test al, 1
je 0x100e744f
mov ebx, dword [0x1025f768]
mov edi, edx
mov eax, dword [ebx + 4]
mov ecx, dword [0x10259d9c]
movss xmm0, dword [ecx + 0x20]
mulss xmm0, dword [0x101a8fc0]
mulss xmm0, dword [eax + edx]
mov eax, dword [0x1025f6dc]
test al, 1
je 0x100e7553
mov ebx, dword [0x1025f6d8]
minss xmm0, dword [0x101a7280]
mov eax, dword [ebx + 4]
ucomiss xmm0, dword [eax + edi]
jae 0x100e6a56
mov eax, dword [ebp + 8]
and byte [eax + 0x30], 0xfb
mov eax, dword [0x10259d58]
and byte [eax + 0x1d4], 0xfd
jmp 0x100e6a95
and eax, 0xfffffffb
mov dword [ecx + 0x30], eax
jmp 0x100e6a95
mov eax, dword [0x10259da8]
xor ecx, ecx
cmp dword [eax + 0x4d28], 7
setge cl
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x30]
and eax, 0xfffffffb
lea eax, [eax + ecx*4]
mov dword [edx + 0x30], eax
mov eax, dword [0x10259d58]
movzx ecx, byte [eax + 0x1d4]
test cl, 1
jne 0x100e6a8c
and cl, 0xfd
jmp 0x100e6a8f
or cl, 2
mov byte [eax + 0x1d4], cl
mov dword [esi + 0xa8], 0xffffffff
mov edi, dword [esi + 0x1c]
mov ecx, edi
mov ebx, dword [ebp + 8]
push ebx
call fcn.100e26d0
mov byte [esi + 0xc], al
mov ecx, edi
push ebx
call fcn.100e4030
cmp byte [esi + 0xc], 0
jne 0x100e6cbf
mov bh, al
mov eax, dword [0x10259d54]
push dword [eax + 0x490]
push dword [eax + 0x48c]
call fcn.10087190
add esp, 8
test al, al
je 0x100e6c31
mov eax, dword [ebp + 8]
test byte [eax + 0x30], 2
jne 0x100e6c31
mov byte [esi + 0xc], bh
mov eax, dword [0x10259d94]
mov ecx, dword [eax]
mov eax, dword [0x10259ee0]
test al, 1
je 0x100e76f5
mov ebx, dword [0x10259edc]
mov eax, dword [ebx + 4]
test byte [eax + ecx], 1
mov bh, byte [esi + 0xc]
je 0x100e6c31
mov eax, dword [ebp + 8]
movss xmm1, dword [eax + 0x24]
xorps xmm0, xmm0
ucomiss xmm1, xmm0
jne 0x100e6b41
jp 0x100e6b41
movss xmm1, dword [eax + 0x28]
ucomiss xmm1, xmm0
jne 0x100e6b41
jnp 0x100e6c31
mov eax, dword [0x10259d54]
mov eax, dword [eax + 0x494]
test eax, eax
je 0x100e6b8f
cvtsi2ss xmm2, eax
mov eax, dword [esi + 0x1c]
movss xmm0, dword [eax]
movss xmm1, dword [eax + 4]
mulss xmm1, xmm1
mulss xmm0, xmm0
addss xmm0, xmm1
movss xmm1, dword [eax + 8]
mulss xmm1, xmm1
addss xmm1, xmm0
xorps xmm0, xmm0
cvtss2sd xmm0, xmm1
xorps xmm1, xmm1
ucomisd xmm0, xmm1
jb 0x100e6b99
sqrtsd xmm0, xmm0
jmp 0x100e6bc1
mov eax, dword [esi + 0x1c]
movss xmm0, dword [eax + 0x18]
jmp 0x100e6be2
sub esp, 8
movsd qword [esp], xmm0
movss dword [esi + 8], xmm2
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrt
movss xmm2, dword [esi + 8]
add esp, 8
fstp qword [esi + 0x90]
movsd xmm0, qword [esi + 0x90]
cvtsd2ss xmm0, xmm0
ucomiss xmm0, xmm2
jb 0x100e6be7
mov eax, dword [0x10259d54]
xorps xmm0, xmm0
cvtsi2ss xmm0, dword [eax + 0x494]
mov eax, dword [esi + 0x1c]
movss dword [eax + 0x18], xmm0
movss dword [eax + 0x14], xmm0
mov eax, dword [0x10259d94]
mov edx, dword [eax]
mov eax, dword [0x1025f6cc]
test al, 1
je 0x100e7b60
mov ebx, dword [0x1025f6c8]
mov dword [esi + 0xa8], 0xffffffff
mov eax, dword [ebx + 4]
mov ecx, dword [eax + edx + 8]
mov dword [esi + 0x68], ecx
movsd xmm0, qword [eax + edx]
movsd qword [esi + 0x60], xmm0
lea eax, [esi + 0x60]
mov ecx, dword [esi + 0x1c]
push eax
push dword [ebp + 8]
call fcn.100e0fb0
mov bh, byte [esi + 0xc]
test bh, bh
jne 0x100e6cbf
mov eax, dword [0x10259d54]
cmp byte [eax + 0x481], 0
je 0x100e6caa
mov eax, dword [ebp + 8]
test byte [eax + 0x30], 2
mov dword [esi + 0xa8], 0xffffffff
je 0x100e6caa
mov eax, dword [0x10259d58]
mov ecx, dword [eax + 0x114]
mov eax, dword [ecx]
call dword [eax + 0x34]
test eax, eax
jne 0x100e6caa
mov eax, dword [0x10259d94]
mov ecx, dword [eax]
mov eax, dword [0x10259ee0]
test al, 1
je 0x100e7c67
mov ebx, dword [0x10259edc]
mov eax, dword [ebx + 4]
mov eax, dword [eax + ecx]
mov edx, dword [ebp + 8]
mov ecx, dword [edx + 0x30]
and ecx, 0xfffffffd
and eax, 1
lea eax, [ecx + eax*2]
mov dword [edx + 0x30], eax
mov dword [esi + 0xa8], 0xffffffff
mov dword [esi + 0xa8], 0xffffffff
mov ecx, dword [esi + 0x1c]
push dword [ebp + 8]
call fcn.100e1440
mov eax, dword [ebp + 8]
and dword [eax + 0x30], 0xfffff9e7
mov eax, dword [0x10259d54]
cmp byte [eax + 0x488], 0
je 0x100e6d2f
mov eax, dword [0x10259d94]
mov ecx, dword [eax]
mov eax, dword [0x1025f68c]
test al, 1
je 0x100e7051
mov ebx, dword [0x1025f688]
mov eax, dword [ebx + 4]
cmp byte [eax + ecx], 2
jne 0x100e6d2f
mov ecx, dword [ebp + 8]
movss xmm1, dword [ecx + 0x24]
xorps xmm0, xmm0
ucomiss xmm1, xmm0
jne 0x100e6d0c
jnp 0x100e6d1e
xor eax, eax
ucomiss xmm0, xmm1
setbe al
lea eax, [eax*8 + 8]
or dword [ecx + 0x30], eax
movss xmm1, dword [ecx + 0x28]
ucomiss xmm1, xmm0
jne 0x100e6d2a
jnp 0x100e6d71
ucomiss xmm0, xmm1
jmp 0x100e6d60
mov ecx, dword [ebp + 8]
movss xmm1, dword [ecx + 0x24]
xorps xmm0, xmm0
ucomiss xmm1, xmm0
jne 0x100e6d41
jnp 0x100e6d51
setbe al
movzx eax, al
lea eax, [eax*8 + 8]
or dword [ecx + 0x30], eax
movss xmm1, dword [ecx + 0x28]
ucomiss xmm1, xmm0
jne 0x100e6d5d
jnp 0x100e6d71
ucomiss xmm1, xmm0
seta al
movzx eax, al
shl eax, 9
add eax, 0x200
or dword [ecx + 0x30], eax
mov eax, dword [esi + 0xa0]
mov dword fs:[0], eax
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 4
mov dword [esi + 0x18], ecx
or eax, 1
mov dword [0x1025f68c], eax
mov eax, dword [0x10259d5c]
mov dword [esi + 0x14], eax
mov eax, 0xa0ecda42
mov ecx, 0x3430c98a
mov dword [esi + 0x44], ecx
mov dword [esi + 0x40], eax
mov ecx, 0x8f4bc564
mov eax, 0xb78ca27d
mov edx, 0xb78ca27d
mov dword [esi + 0x4c], edx
mov dword [esi + 0x48], ecx
mov ecx, 0xcfa1852f
mov edx, 0x4d64acfc
mov dword [esi + 0x24], edx
mov dword [esi + 0x20], ecx
mov ecx, 0x8f4ba014
mov dword [esi + 0x2c], eax
mov dword [esi + 0x28], ecx
lea eax, [esi + 0x20]
xor ecx, ecx
movaps xmm0, xmmword [esi + 0x40]
xorps xmm0, xmmword [eax]
movaps xmmword [esi + 0x40], xmm0
mov dword [esi + 0xa8], 0
lea eax, [esi + 0x40]
lea ecx, [esi + 0x60]
mov dword [esi + 8], ecx
push eax
call fcn.10015240
mov eax, dword [esi + 0x70]
mov dword [esi + 0xc], eax
cmp dword [esi + 0x74], 0x10
jb 0x100e6e15
mov eax, dword [esi + 0x60]
mov dword [esi + 8], eax
cmp dword [esi + 0xc], 0
je 0x100e7047
mov eax, dword [esi + 0xc]
mov ecx, eax
and ecx, 3
mov dword [esi + 0x10], ecx
cmp eax, 4
jae 0x100e7109
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x100e7153
mov dword [esi + 0x18], ecx
or eax, 1
mov dword [0x1025f664], eax
mov eax, dword [0x10259d5c]
mov dword [esi + 0x14], eax
mov eax, 0xbcc0c76c
mov ecx, 0x2c08fc99
mov dword [esi + 0x24], ecx
mov dword [esi + 0x20], eax
mov eax, 0xa239c56d
mov ecx, 0xd1d3cf43
mov dword [esi + 0x2c], ecx
mov dword [esi + 0x28], eax
mov eax, 0x9f404fad
mov ecx, 0x3ef847a1
mov dword [esi + 0x34], ecx
mov dword [esi + 0x30], eax
mov ecx, 0xd329ded2
mov eax, 0xe54b6333
mov edx, 0xe54b6333
mov dword [esi + 0x3c], edx
mov dword [esi + 0x38], ecx
mov ecx, 0xcfa1852f
mov edx, 0x4d64acfc
mov dword [esi + 0x64], edx
mov dword [esi + 0x60], ecx
mov ecx, 0x8f4ba014
mov edx, 0xb78ca27d
mov dword [esi + 0x6c], edx
mov dword [esi + 0x68], ecx
mov ecx, 0xe72102c1
mov edx, 0x5b9d37d2
mov dword [esi + 0x74], edx
mov dword [esi + 0x70], ecx
mov ecx, 0xd329deb6
mov dword [esi + 0x7c], eax
mov dword [esi + 0x78], ecx
lea eax, [esi + 0x60]
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 + 0xa8], 2
lea eax, [esi + 0x20]
lea ecx, [esi + 0x40]
mov dword [esi + 8], ecx
push eax
call fcn.10015240
mov eax, dword [esi + 0x50]
mov dword [esi + 0xc], eax
cmp dword [esi + 0x54], 0x10
jb 0x100e6f19
mov eax, dword [esi + 0x40]
mov dword [esi + 8], eax
cmp dword [esi + 0xc], 0
je 0x100e7292
mov eax, dword [esi + 0xc]
mov ecx, eax
and ecx, 3
mov dword [esi + 0x10], ecx
cmp eax, 4
jae 0x100e72a3
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x100e72ed
mov dword [esi + 0x18], edi
or eax, 1
mov dword [0x1025f6cc], eax
mov eax, dword [0x10259d5c]
mov dword [esi + 0x14], eax
mov eax, 0xbcc0c76c
mov ecx, 0x2c08fc99
mov dword [esi + 0x24], ecx
mov dword [esi + 0x20], eax
mov eax, 0xa239c56d
mov ecx, 0xc1d3cf43
mov dword [esi + 0x2c], ecx
mov dword [esi + 0x28], eax
mov eax, 0x827761a4
mov ecx, 0x32fe58be
mov dword [esi + 0x34], ecx
mov dword [esi + 0x30], eax
mov eax, 0xe372a7c2
mov ecx, 0xe54b636e
mov dword [esi + 0x3c], ecx
mov dword [esi + 0x38], eax
mov eax, 0xcfa1852f
mov ecx, 0x4d64acfc
mov dword [esi + 0x64], ecx
mov dword [esi + 0x60], eax
mov eax, 0x8f4ba014
mov ecx, 0xb78ca27d
mov dword [esi + 0x6c], ecx
mov dword [esi + 0x68], eax
mov eax, 0xe72102c1
mov ecx, 0x5b9d37d2
mov dword [esi + 0x74], ecx
mov dword [esi + 0x70], eax
mov eax, 0xd329deb6
mov ecx, 0xe54b6333
mov dword [esi + 0x7c], ecx
mov dword [esi + 0x78], eax
lea eax, [esi + 0x60]
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 + 0xa8], 4
lea eax, [esi + 0x20]
lea ecx, [esi + 0x40]
mov dword [esi + 8], ecx
push eax
call fcn.10015240
mov eax, dword [esi + 0x50]
mov dword [esi + 0xc], eax
cmp dword [esi + 0x54], 0x10
jb 0x100e701d
mov eax, dword [esi + 0x40]
mov dword [esi + 8], eax
cmp dword [esi + 0xc], 0
je 0x100e7299
mov eax, dword [esi + 0xc]
mov ecx, eax
and ecx, 3
mov dword [esi + 0x10], ecx
cmp eax, 4
jae 0x100e7374
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x100e73be
mov ecx, 0x811c9dc5
jmp 0x100e7170
mov dword [esi + 0x14], ecx
or eax, 1
mov dword [0x1025f68c], eax
mov eax, dword [0x10259d5c]
mov dword [esi + 0x10], eax
mov eax, 0xa0ecda42
mov ecx, 0x3430c98a
mov dword [esi + 0x44], ecx
mov dword [esi + 0x40], eax
mov ecx, 0x8f4bc564
mov eax, 0xb78ca27d
mov edx, 0xb78ca27d
mov dword [esi + 0x4c], edx
mov dword [esi + 0x48], ecx
mov ecx, 0xcfa1852f
mov edx, 0x4d64acfc
mov dword [esi + 0x24], edx
mov dword [esi + 0x20], ecx
mov ecx, 0x8f4ba014
mov dword [esi + 0x2c], eax
mov dword [esi + 0x28], ecx
lea eax, [esi + 0x20]
xor ecx, ecx
movaps xmm0, xmmword [esi + 0x40]
xorps xmm0, xmmword [eax]
movaps xmmword [esi + 0x40], xmm0
mov dword [esi + 0xa8], 0x12
lea eax, [esi + 0x40]
lea ecx, [esi + 0x60]
mov dword [esi + 0xc], ecx
push eax
call fcn.10015240
mov eax, dword [esi + 0x70]
mov dword [esi + 0x1c], eax
cmp dword [esi + 0x74], 0x10
jb 0x100e70df
mov eax, dword [esi + 0x60]
mov dword [esi + 0xc], eax
cmp dword [esi + 0x1c], 0
je 0x100e7613
mov eax, dword [esi + 0x1c]
mov ecx, eax
and ecx, 3
mov dword [esi + 8], ecx
cmp eax, 4
jae 0x100e761a
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x100e7664
mov edi, dword [esi + 0xc]
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 0x100e7119
cmp dword [esi + 0x10], 0
je 0x100e7170
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 + 0x10], edi
jne 0x100e715e
mov edx, dword [esi + 0x14]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov ebx, dword [eax + ecx*8 + 4]
cmp ebx, dword [edx + 4]
je 0x100e7f1d
add ecx, ecx
mov edi, dword [eax + ecx*4]
mov eax, dword [esi + 0xc]
cmp eax, dword [ebx + 0x18]
jne 0x100e71b4
cmp dword [ebx + 0x1c], 0x10
jb 0x100e719e
mov eax, dword [ebx + 8]
jmp 0x100e71a1
lea eax, [ebx + 8]
push dword [esi + 0xc]
push eax
push dword [esi + 8]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x100e71c1
cmp ebx, edi
je 0x100e7f1d
mov ebx, dword [ebx + 4]
jmp 0x100e718b
add ebx, 0x20
lea ecx, [esi + 0x60]
call fcn.10014f60
mov dword [0x1025f688], ebx
mov ecx, dword [esi + 0x18]
jmp 0x100e68af
mov dword [esi + 0x18], ecx
or eax, 1
mov dword [0x1025f6dc], eax
mov eax, dword [0x10259d5c]
mov dword [esi + 0x14], eax
mov eax, 0xa3c7da42
mov ecx, 0x2607d9b8
mov dword [esi + 0x44], ecx
mov dword [esi + 0x40], eax
mov eax, 0xfa24cd55
mov ecx, 0xb78cd613
mov dword [esi + 0x4c], ecx
mov dword [esi + 0x48], eax
mov eax, 0xcfa1852f
mov ecx, 0x4d64acfc
mov dword [esi + 0x24], ecx
mov dword [esi + 0x20], eax
mov eax, 0x8f4ba014
mov ecx, 0xb78ca27d
mov dword [esi + 0x2c], ecx
mov dword [esi + 0x28], eax
lea eax, [esi + 0x20]
xor ecx, ecx
movaps xmm0, xmmword [esi + 0x40]
xorps xmm0, xmmword [eax]
movaps xmmword [esi + 0x40], xmm0
mov dword [esi + 0xa8], 6
lea eax, [esi + 0x40]
lea ecx, [esi + 0x60]
mov dword [esi + 8], ecx
push eax
call fcn.10015240
mov eax, dword [esi + 0x70]
mov dword [esi + 0xc], eax
cmp dword [esi + 0x74], 0x10
jb 0x100e7268
mov eax, dword [esi + 0x60]
mov dword [esi + 8], eax
cmp dword [esi + 0xc], 0
je 0x100e76eb
mov eax, dword [esi + 0xc]
mov ecx, eax
and ecx, 3
mov dword [esi + 0x10], ecx
cmp eax, 4
jae 0x100e77f2
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x100e783c
mov ecx, 0x811c9dc5
jmp 0x100e730a
mov ecx, 0x811c9dc5
jmp 0x100e73db
mov edi, dword [esi + 0xc]
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 0x100e72b3
cmp dword [esi + 0x10], 0
je 0x100e730a
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 + 0x10], edi
jne 0x100e72f8
mov edx, dword [esi + 0x14]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov ebx, dword [eax + ecx*8 + 4]
cmp ebx, dword [edx + 4]
je 0x100e7f34
add ecx, ecx
mov edi, dword [eax + ecx*4]
mov eax, dword [esi + 0xc]
cmp eax, dword [ebx + 0x18]
jne 0x100e734e
cmp dword [ebx + 0x1c], 0x10
jb 0x100e7338
mov eax, dword [ebx + 8]
jmp 0x100e733b
lea eax, [ebx + 8]
push dword [esi + 0xc]
push eax
push dword [esi + 8]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x100e735b
cmp ebx, edi
je 0x100e7f34
mov ebx, dword [ebx + 4]
jmp 0x100e7325
add ebx, 0x20
lea ecx, [esi + 0x40]
call fcn.10014f60
mov dword [0x1025f660], ebx
mov ecx, dword [esi + 0x18]
jmp 0x100e68d6
mov edi, dword [esi + 0xc]
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 0x100e7384
cmp dword [esi + 0x10], 0
je 0x100e73db
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 + 0x10], edi
jne 0x100e73c9
mov edx, dword [esi + 0x14]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov ebx, dword [eax + ecx*8 + 4]
cmp ebx, dword [edx + 4]
je 0x100e7f4b
add ecx, ecx
mov edi, dword [eax + ecx*4]
mov eax, dword [esi + 0xc]
cmp eax, dword [ebx + 0x18]
jne 0x100e741f
cmp dword [ebx + 0x1c], 0x10
jb 0x100e7409
mov eax, dword [ebx + 8]
jmp 0x100e740c
lea eax, [ebx + 8]
push dword [esi + 0xc]
push eax
push dword [esi + 8]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x100e742c
cmp ebx, edi
je 0x100e7f4b
mov ebx, dword [ebx + 4]
jmp 0x100e73f6
add ebx, 0x20
lea ecx, [esi + 0x40]
call fcn.10014f60
mov dword [0x1025f6c8], ebx
mov dword [esi + 0xa8], 0xffffffff
mov edi, dword [esi + 0x18]
jmp 0x100e694d
mov dword [esi + 0x18], edx
or eax, 1
mov dword [0x1025f76c], eax
mov eax, dword [0x10259d5c]
mov dword [esi + 0x14], eax
mov eax, 0xbcc0c76c
mov ecx, 0x2c08fc99
mov dword [esi + 0x24], ecx
mov dword [esi + 0x20], eax
mov eax, 0xa239c56d
mov ecx, 0xd1d3cf43
mov dword [esi + 0x2c], ecx
mov dword [esi + 0x28], eax
mov eax, 0x845446ad
mov ecx, 0x3eed64b9
mov dword [esi + 0x34], ecx
mov dword [esi + 0x30], eax
mov ecx, 0xd329bad3
mov eax, 0xe54b6333
mov edx, 0xe54b6333
mov dword [esi + 0x3c], edx
mov dword [esi + 0x38], ecx
mov ecx, 0xcfa1852f
mov edx, 0x4d64acfc
mov dword [esi + 0x64], edx
mov dword [esi + 0x60], ecx
mov ecx, 0x8f4ba014
mov edx, 0xb78ca27d
mov dword [esi + 0x6c], edx
mov dword [esi + 0x68], ecx
mov ecx, 0xe72102c1
mov edx, 0x5b9d37d2
mov dword [esi + 0x74], edx
mov dword [esi + 0x70], ecx
mov ecx, 0xd329deb6
mov dword [esi + 0x7c], eax
mov dword [esi + 0x78], ecx
lea eax, [esi + 0x60]
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 + 0xa8], 8
lea eax, [esi + 0x20]
lea ecx, [esi + 0x40]
mov dword [esi + 8], ecx
push eax
call fcn.10015240
mov eax, dword [esi + 0x50]
mov dword [esi + 0xc], eax
cmp dword [esi + 0x54], 0x10
jb 0x100e7529
mov eax, dword [esi + 0x40]
mov dword [esi + 8], eax
cmp dword [esi + 0xc], 0
je 0x100e78c3
mov eax, dword [esi + 0xc]
mov ecx, eax
and ecx, 3
mov dword [esi + 0x10], ecx
cmp eax, 4
jae 0x100e78d4
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x100e791e
movss dword [esi + 0x88], xmm0
mov dword [esi + 0x18], edi
or eax, 1
mov dword [0x1025f6dc], eax
mov eax, dword [0x10259d5c]
mov dword [esi + 0x14], eax
mov eax, 0xa3c7da42
mov ecx, 0x2607d9b8
mov dword [esi + 0x44], ecx
mov dword [esi + 0x40], eax
mov eax, 0xfa24cd55
mov ecx, 0xb78cd613
mov dword [esi + 0x4c], ecx
mov dword [esi + 0x48], eax
mov eax, 0xcfa1852f
mov ecx, 0x4d64acfc
mov dword [esi + 0x24], ecx
mov dword [esi + 0x20], eax
mov eax, 0x8f4ba014
mov ecx, 0xb78ca27d
mov dword [esi + 0x2c], ecx
mov dword [esi + 0x28], eax
lea eax, [esi + 0x20]
xor ecx, ecx
movaps xmm0, xmmword [esi + 0x40]
xorps xmm0, xmmword [eax]
movaps xmmword [esi + 0x40], xmm0
mov dword [esi + 0xa8], 0xa
lea eax, [esi + 0x40]
lea ecx, [esi + 0x60]
mov dword [esi + 8], ecx
push eax
call fcn.10015240
mov eax, dword [esi + 0x70]
mov dword [esi + 0xc], eax
cmp dword [esi + 0x74], 0x10
jb 0x100e75e9
mov eax, dword [esi + 0x60]
mov dword [esi + 8], eax
cmp dword [esi + 0xc], 0
je 0x100e78ca
mov eax, dword [esi + 0xc]
mov ecx, eax
and ecx, 3
mov dword [esi + 0x10], ecx
cmp eax, 4
jae 0x100e79ac
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x100e79f6
mov ecx, 0x811c9dc5
jmp 0x100e7681
mov edi, dword [esi + 0x1c]
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 0x100e762a
cmp dword [esi + 8], 0
je 0x100e7681
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 0x100e766f
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 0x100e7f62
add ecx, ecx
mov edi, dword [eax + ecx*4]
mov eax, dword [esi + 0x1c]
cmp eax, dword [ebx + 0x18]
jne 0x100e76c5
cmp dword [ebx + 0x1c], 0x10
jb 0x100e76af
mov eax, dword [ebx + 8]
jmp 0x100e76b2
lea eax, [ebx + 8]
push dword [esi + 0x1c]
push eax
push dword [esi + 0xc]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x100e76d2
cmp ebx, edi
je 0x100e7f62
mov ebx, dword [ebx + 4]
jmp 0x100e769c
add ebx, 0x20
lea ecx, [esi + 0x60]
call fcn.10014f60
mov dword [0x1025f688], ebx
mov ecx, dword [esi + 0x14]
jmp 0x100e6cf1
mov ecx, 0x811c9dc5
jmp 0x100e7859
mov dword [esi + 0x88], ecx
or eax, 1
mov dword [0x10259ee0], eax
mov eax, 0xbcc0c76c
mov ecx, 0x2c08fc99
mov dword [esi + 0x24], ecx
mov dword [esi + 0x20], eax
mov eax, 0xa239c56d
mov ecx, 0xd1d3cf43
mov dword [esi + 0x2c], ecx
mov dword [esi + 0x28], eax
mov eax, 0x80406e87
mov ecx, 0x5b9d37a1
mov dword [esi + 0x34], ecx
mov dword [esi + 0x30], eax
mov eax, 0xd329deb6
mov ecx, 0xe54b6333
mov edx, 0xcfa1852f
mov edi, 0x4d64acfc
mov dword [esi + 0x64], edi
mov dword [esi + 0x60], edx
mov edx, 0x8f4ba014
mov edi, 0xb78ca27d
mov dword [esi + 0x6c], edi
mov dword [esi + 0x68], edx
mov edx, 0xe72102c1
mov edi, 0x5b9d37d2
mov dword [esi + 0x74], edi
mov dword [esi + 0x70], edx
mov dword [esi + 0x3c], ecx
mov dword [esi + 0x38], eax
mov dword [esi + 0x7c], ecx
mov dword [esi + 0x78], eax
lea eax, [esi + 0x60]
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], 0xc
lea eax, [esi + 0x20]
lea ecx, [esi + 0x40]
mov dword [esi + 0x10], ecx
push eax
call fcn.10015240
mov eax, dword [esi + 0x50]
mov dword [esi + 8], eax
cmp dword [esi + 0x54], 0x10
jb 0x100e77c8
mov eax, dword [esi + 0x40]
mov dword [esi + 0x10], eax
cmp dword [esi + 8], 0
je 0x100e7a85
mov eax, dword [esi + 8]
mov ecx, eax
and ecx, 3
mov dword [esi + 0x14], ecx
cmp eax, 4
jae 0x100e7a8c
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x100e7ad6
mov edi, dword [esi + 0xc]
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 0x100e7802
cmp dword [esi + 0x10], 0
je 0x100e7859
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 + 0x10], edi
jne 0x100e7847
mov edx, dword [esi + 0x14]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov ebx, dword [eax + ecx*8 + 4]
cmp ebx, dword [edx + 4]
je 0x100e7f79
add ecx, ecx
mov edi, dword [eax + ecx*4]
mov eax, dword [esi + 0xc]
cmp eax, dword [ebx + 0x18]
jne 0x100e789d
cmp dword [ebx + 0x1c], 0x10
jb 0x100e7887
mov eax, dword [ebx + 8]
jmp 0x100e788a
lea eax, [ebx + 8]
push dword [esi + 0xc]
push eax
push dword [esi + 8]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x100e78aa
cmp ebx, edi
je 0x100e7f79
mov ebx, dword [ebx + 4]
jmp 0x100e7874
add ebx, 0x20
lea ecx, [esi + 0x60]
call fcn.10014f60
mov dword [0x1025f6d8], ebx
mov ecx, dword [esi + 0x18]
jmp 0x100e69b1
mov ecx, 0x811c9dc5
jmp 0x100e793b
mov ecx, 0x811c9dc5
jmp 0x100e7a13
mov edi, dword [esi + 0xc]
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 0x100e78e4
cmp dword [esi + 0x10], 0
je 0x100e793b
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 + 0x10], edi
jne 0x100e7929
mov edx, dword [esi + 0x14]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov ebx, dword [eax + ecx*8 + 4]
cmp ebx, dword [edx + 4]
je 0x100e7f90
add ecx, ecx
mov edi, dword [eax + ecx*4]
mov eax, dword [esi + 0xc]
cmp eax, dword [ebx + 0x18]
jne 0x100e797f
cmp dword [ebx + 0x1c], 0x10
jb 0x100e7969
mov eax, dword [ebx + 8]
jmp 0x100e796c
lea eax, [ebx + 8]
push dword [esi + 0xc]
push eax
push dword [esi + 8]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x100e798c
cmp ebx, edi
je 0x100e7f90
mov ebx, dword [ebx + 4]
jmp 0x100e7956
add ebx, 0x20
lea ecx, [esi + 0x40]
call fcn.10014f60
mov dword [0x1025f768], ebx
mov eax, dword [0x10259d94]
mov edi, dword [eax]
mov edx, dword [esi + 0x18]
jmp 0x100e69fa
mov edi, dword [esi + 0xc]
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 0x100e79bc
cmp dword [esi + 0x10], 0
je 0x100e7a13
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 + 0x10], edi
jne 0x100e7a01
mov edx, dword [esi + 0x14]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov ebx, dword [eax + ecx*8 + 4]
cmp ebx, dword [edx + 4]
je 0x100e7fa7
add ecx, ecx
mov edi, dword [eax + ecx*4]
mov eax, dword [esi + 0xc]
cmp eax, dword [ebx + 0x18]
jne 0x100e7a57
cmp dword [ebx + 0x1c], 0x10
jb 0x100e7a41
mov eax, dword [ebx + 8]
jmp 0x100e7a44
lea eax, [ebx + 8]
push dword [esi + 0xc]
push eax
push dword [esi + 8]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x100e7a64
cmp ebx, edi
je 0x100e7fa7
mov ebx, dword [ebx + 4]
jmp 0x100e7a2e
add ebx, 0x20
lea ecx, [esi + 0x60]
call fcn.10014f60
mov dword [0x1025f6d8], ebx
mov edi, dword [esi + 0x18]
movss xmm0, dword [esi + 0x88]
jmp 0x100e6a28
mov ecx, 0x811c9dc5
jmp 0x100e7af3
mov edi, dword [esi + 8]
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 0x100e7a9c
cmp dword [esi + 0x14], 0
je 0x100e7af3
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 + 0x14], edi
jne 0x100e7ae1
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 0x100e7fbe
add ecx, ecx
mov edi, dword [eax + ecx*4]
mov eax, dword [esi + 8]
cmp eax, dword [ebx + 0x18]
jne 0x100e7b37
cmp dword [ebx + 0x1c], 0x10
jb 0x100e7b21
mov eax, dword [ebx + 8]
jmp 0x100e7b24
lea eax, [ebx + 8]
push dword [esi + 8]
push eax
push dword [esi + 0x10]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x100e7b44
cmp ebx, edi
je 0x100e7fbe
mov ebx, dword [ebx + 4]
jmp 0x100e7b0e
add ebx, 0x20
lea ecx, [esi + 0x40]
call fcn.10014f60
mov dword [0x10259edc], ebx
mov ecx, dword [esi + 0x88]
jmp 0x100e6b0f
mov dword [esi + 0x88], edx
or eax, 1
mov dword [0x1025f6cc], eax
mov eax, dword [0x10259d5c]
mov dword [esi + 0x18], eax
mov eax, 0xbcc0c76c
mov ecx, 0x2c08fc99
mov dword [esi + 0x24], ecx
mov dword [esi + 0x20], eax
mov eax, 0xa239c56d
mov ecx, 0xc1d3cf43
mov dword [esi + 0x2c], ecx
mov dword [esi + 0x28], eax
mov eax, 0x827761a4
mov ecx, 0x32fe58be
mov dword [esi + 0x34], ecx
mov dword [esi + 0x30], eax
mov eax, 0xe372a7c2
mov ecx, 0xe54b636e
mov dword [esi + 0x3c], ecx
mov dword [esi + 0x38], eax
mov eax, 0xcfa1852f
mov ecx, 0x4d64acfc
mov dword [esi + 0x64], ecx
mov dword [esi + 0x60], eax
mov eax, 0x8f4ba014
mov ecx, 0xb78ca27d
mov dword [esi + 0x6c], ecx
mov dword [esi + 0x68], eax
mov eax, 0xe72102c1
mov ecx, 0x5b9d37d2
mov dword [esi + 0x74], ecx
mov dword [esi + 0x70], eax
mov eax, 0xd329deb6
mov ecx, 0xe54b6333
mov dword [esi + 0x7c], ecx
mov dword [esi + 0x78], eax
lea eax, [esi + 0x60]
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 + 0xa8], 0xe
lea eax, [esi + 0x20]
lea ecx, [esi + 0x40]
mov dword [esi + 0x10], ecx
push eax
call fcn.10015240
mov eax, dword [esi + 0x50]
mov dword [esi + 8], eax
cmp dword [esi + 0x54], 0x10
jb 0x100e7c3d
mov eax, dword [esi + 0x40]
mov dword [esi + 0x10], eax
cmp dword [esi + 8], 0
je 0x100e7d5d
mov eax, dword [esi + 8]
mov ecx, eax
and ecx, 3
mov dword [esi + 0x14], ecx
cmp eax, 4
jae 0x100e7d6e
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x100e7db8
mov dword [esi + 0x18], ecx
or eax, 1
mov dword [0x10259ee0], eax
mov eax, 0xbcc0c76c
mov ecx, 0x2c08fc99
mov dword [esi + 0x24], ecx
mov dword [esi + 0x20], eax
mov eax, 0xa239c56d
mov ecx, 0xd1d3cf43
mov dword [esi + 0x2c], ecx
mov dword [esi + 0x28], eax
mov eax, 0x80406e87
mov ecx, 0x5b9d37a1
mov dword [esi + 0x34], ecx
mov dword [esi + 0x30], eax
mov eax, 0xd329deb6
mov ecx, 0xe54b6333
mov edx, 0xcfa1852f
mov edi, 0x4d64acfc
mov dword [esi + 0x64], edi
mov dword [esi + 0x60], edx
mov edx, 0x8f4ba014
mov edi, 0xb78ca27d
mov dword [esi + 0x6c], edi
mov dword [esi + 0x68], edx
mov edx, 0xe72102c1
mov edi, 0x5b9d37d2
mov dword [esi + 0x74], edi
mov dword [esi + 0x70], edx
mov dword [esi + 0x3c], ecx
mov dword [esi + 0x38], eax
mov dword [esi + 0x7c], ecx
mov dword [esi + 0x78], eax
lea eax, [esi + 0x60]
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 + 0x14], eax
movaps xmmword [esi + 0x30], xmm0
mov dword [esi + 0xa8], 0x10
lea eax, [esi + 0x20]
lea ecx, [esi + 0x40]
mov dword [esi + 8], ecx
push eax
call fcn.10015240
mov eax, dword [esi + 0x50]
mov dword [esi + 0xc], eax
cmp dword [esi + 0x54], 0x10
jb 0x100e7d37
mov eax, dword [esi + 0x40]
mov dword [esi + 8], eax
cmp dword [esi + 0xc], 0
je 0x100e7d64
mov eax, dword [esi + 0xc]
mov ecx, eax
and ecx, 3
mov dword [esi + 0x10], ecx
cmp eax, 4
jae 0x100e7e4c
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x100e7e96
mov ecx, 0x811c9dc5
jmp 0x100e7dd5
mov ecx, 0x811c9dc5
jmp 0x100e7eb3
mov edi, dword [esi + 8]
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 0x100e7d7e
cmp dword [esi + 0x14], 0
je 0x100e7dd5
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 + 0x14], edi
jne 0x100e7dc3
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 0x100e7fd5
add ecx, ecx
mov edi, dword [eax + ecx*4]
mov eax, dword [esi + 8]
cmp eax, dword [ebx + 0x18]
jne 0x100e7e19
cmp dword [ebx + 0x1c], 0x10
jb 0x100e7e03
mov eax, dword [ebx + 8]
jmp 0x100e7e06
lea eax, [ebx + 8]
push dword [esi + 8]
push eax
push dword [esi + 0x10]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x100e7e26
cmp ebx, edi
je 0x100e7fd5
mov ebx, dword [ebx + 4]
jmp 0x100e7df0
add ebx, 0x20
lea ecx, [esi + 0x40]
call fcn.10014f60
mov dword [0x1025f6c8], ebx
mov dword [esi + 0xa8], 0xffffffff
mov edx, dword [esi + 0x88]
jmp 0x100e6c0b
mov edi, dword [esi + 0xc]
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 0x100e7e5c
cmp dword [esi + 0x10], 0
je 0x100e7eb3
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 + 0x10], edi
jne 0x100e7ea1
mov edx, dword [esi + 0x14]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov ebx, dword [eax + ecx*8 + 4]
cmp ebx, dword [edx + 4]
je 0x100e7fec
add ecx, ecx
mov edi, dword [eax + ecx*4]
mov eax, dword [esi + 0xc]
cmp eax, dword [ebx + 0x18]
jne 0x100e7ef7
cmp dword [ebx + 0x1c], 0x10
jb 0x100e7ee1
mov eax, dword [ebx + 8]
jmp 0x100e7ee4
lea eax, [ebx + 8]
push dword [esi + 0xc]
push eax
push dword [esi + 8]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x100e7f04
cmp ebx, edi
je 0x100e7fec
mov ebx, dword [ebx + 4]
jmp 0x100e7ece
add ebx, 0x20
lea ecx, [esi + 0x40]
call fcn.10014f60
mov dword [0x10259edc], ebx
mov ecx, dword [esi + 0x18]
jmp 0x100e6c88
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], 0x13
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
mov dword [esi + 0xa8], 0xd
push str.invalid_unordered_map_K__T__key
call sub.MSVCP140.dll_void___cdecl_std::_Xout_of_range_char_const__
add esp, 4
mov dword [esi + 0xa8], 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 + 0xa8], 0x11
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 + 0x40]
call fcn.10014f60
add esp, 0xc
pop ebp
ret