Function at 0x100be3c0
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, 0x120
mov esi, esp
mov dword [esi + 0xf8], ebp
mov ebx, dword [ebp + 0x1c]
mov dword [esi + 0xfc], esp
mov dword [esi + 0x108], 0xffffffff
lea eax, [esi + 0x100]
mov dword [esi + 0x104], 0x100c0380
mov ecx, dword fs:[0]
mov dword [esi + 0x100], ecx
mov dword fs:[0], eax
cmp dword [ebx], 0
jle 0x100be6f3
mov eax, dword [ebp + 0xc]
xorps xmm0, xmm0
ucomiss xmm0, dword [eax + 0xfc]
jae 0x100be6f3
mov eax, dword [ebp + 0x18]
mov edx, dword [ebp + 0x10]
lea edi, [edx + 0xc]
xorps xmm0, xmm0
movaps xmmword [esi + 0xe0], xmm0
movaps xmmword [esi + 0xd0], xmm0
movaps xmmword [esi + 0xc0], xmm0
movaps xmmword [esi + 0xb0], xmm0
movaps xmmword [esi + 0xa0], xmm0
mov dword [esi + 0xf0], 0
lea ecx, [esi + 0xa0]
push ecx
push edx
push eax
push edi
call fcn.100bd310
test al, al
jne 0x100be492
mov ecx, dword [0x10259dbc]
mov eax, dword [ecx]
push 0
push 0x600400b
push edi
call dword [eax]
test eax, 0x600400b
je 0x100be6f3
mov ecx, dword [0x10259dc0]
movsx eax, word [esi + 0xe0]
mov edx, dword [ecx]
push eax
call dword [edx + 0x14]
mov edi, eax
mov ecx, dword [0x10259dc0]
mov eax, dword [ebp + 0x10]
movsx eax, word [eax + 0x40]
mov edx, dword [ecx]
push eax
call dword [edx + 0x14]
mov edx, eax
movzx eax, word [eax + 0x60]
movss xmm3, dword [0x101a899c]
movss xmm0, dword [0x101a884c]
cmp eax, 0x47
je 0x100be5c6
cmp eax, 0x59
je 0x100be5c6
movss xmm0, dword [0x101a7280]
mov eax, dword [ebp + 0x10]
test byte [eax + 0x30], 8
jne 0x100be5ba
test byte [eax + 0x42], 0x80
jne 0x100be5ba
cmp dword [eax + 0x4c], 0
je 0x100be5a8
mov eax, dword [0x10259d58]
mov ecx, dword [eax + 0x10c]
mov eax, dword [ecx]
mov dword [esi + 0x10], edx
call dword [eax + 0x30]
mov edx, dword [esi + 0x10]
fstp dword [esi + 0x7c]
movss xmm0, dword [esi + 0x7c]
xorps xmm1, xmm1
ucomiss xmm0, xmm1
jne 0x100be5a8
jp 0x100be5a8
cmp word [edx + 0x60], 0x46
jne 0x100be5a8
mov eax, dword [ebp + 0x10]
mov eax, dword [eax + 0x4c]
mov dword [esi + 8], eax
mov eax, dword [0x1025f674]
test al, 1
je 0x100be729
mov ebx, dword [0x1025f670]
mov ecx, dword [ebx + 4]
mov ebx, dword [esi + 8]
mov ebx, dword [ecx + ebx]
test al, 1
je 0x100be82f
mov eax, dword [ebp + 8]
cmp ebx, dword [ecx + eax]
mov ebx, dword [ebp + 0x1c]
jne 0x100be5a8
mov eax, dword [0x10259d58]
mov ecx, dword [eax + 0x110]
mov eax, dword [ecx]
mov eax, dword [eax + 0x30]
mov dword [esi + 0x108], 0xffffffff
call eax
mov edx, dword [esi + 0x10]
fstp dword [esi + 0x78]
movss xmm0, dword [esi + 0x78]
xorps xmm1, xmm1
ucomiss xmm0, xmm1
jne 0x100be5ba
jp 0x100be5ba
jmp 0x100be6f3
movss xmm0, dword [edx + 0x58]
addss xmm0, dword [edi + 0x58]
mulss xmm0, dword [0x101a72c0]
movzx eax, word [edx + 0x60]
movss xmm3, dword [0x101b0c8c]
cmp ax, word [edi + 0x60]
jne 0x100be5f1
movss xmm1, dword [0x101a884c]
cmp ax, 0x57
je 0x100be5f4
movzx eax, ax
cmp eax, 0x55
je 0x100be5f4
cmp eax, 0x4c
jne 0x100be5f1
movss xmm1, dword [0x101a8ae8]
jmp 0x100be5f4
movaps xmm1, xmm0
movss xmm6, dword [ebp + 0x24]
mov edi, dword [ebp + 0x20]
movss xmm4, dword [0x101a7280]
movaps xmm2, xmm4
divss xmm2, xmm1
xorps xmm5, xmm5
movss xmm0, dword [esi + 0xb4]
mov eax, dword [ebp + 0x10]
subss xmm0, dword [eax + 0x14]
maxss xmm5, xmm2
movss xmm1, dword [esi + 0xb0]
subss xmm1, dword [eax + 0x10]
movss xmm2, dword [esi + 0xac]
subss xmm2, dword [eax + 0xc]
mulss xmm1, xmm1
mulss xmm2, xmm2
addss xmm2, xmm1
mulss xmm0, xmm0
addss xmm0, xmm2
cvtss2sd xmm0, xmm0
xorps xmm1, xmm1
ucomisd xmm0, xmm1
jb 0x100be663
sqrtsd xmm0, xmm0
jmp 0x100be6a2
sub esp, 8
movsd qword [esp], xmm0
movss dword [esi + 0x10], xmm3
movss dword [esi + 8], xmm5
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrt
movss xmm6, dword [ebp + 0x24]
movss xmm5, dword [esi + 8]
movss xmm4, dword [0x101a7280]
movss xmm3, dword [esi + 0x10]
add esp, 8
fstp qword [esi + 0x98]
movsd xmm0, qword [esi + 0x98]
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm0
movss xmm0, dword [edi]
movss xmm2, dword [0x101a884c]
mulss xmm2, xmm5
mulss xmm2, xmm6
mulss xmm3, xmm0
mulss xmm1, xmm1
mulss xmm1, xmm5
divss xmm1, dword [0x101a8d70]
addss xmm3, xmm2
addss xmm1, xmm3
ucomiss xmm1, xmm0
ja 0x100be6f3
xorps xmm2, xmm2
ucomiss xmm1, xmm2
jbe 0x100be6ee
subss xmm0, xmm1
movss dword [edi], xmm0
ucomiss xmm4, xmm0
jbe 0x100be70c
xor eax, eax
mov ecx, dword [esi + 0x100]
mov dword fs:[0], ecx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 0x20
mov eax, dword [ebp + 0x14]
lea ecx, [esi + 0xac]
dec dword [ebx]
mov edx, dword [ecx + 8]
mov dword [eax + 8], edx
movsd xmm0, qword [ecx]
movsd qword [eax], xmm0
mov al, 1
jmp 0x100be6f5
mov dword [esi + 0x1c], edi
or eax, 1
mov dword [0x1025f674], eax
mov eax, 0x7e4e3df8
mov ecx, 0x42650117
mov dword [esi + 0x24], ecx
mov dword [esi + 0x20], eax
mov eax, 0x32047505
mov ecx, 0xe66b5521
mov dword [esi + 0x2c], ecx
mov dword [esi + 0x28], eax
mov eax, 0x74ba7519
mov ecx, 0x9ba0c56a
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 + 0x108], 0
lea eax, [esi + 0x20]
lea ecx, [esi + 0x80]
mov dword [esi + 0xc], ecx
push eax
call fcn.10015240
mov eax, dword [esi + 0x90]
mov dword [esi + 4], eax
cmp dword [esi + 0x94], 0x10
jb 0x100be805
mov eax, dword [esi + 0x80]
mov dword [esi + 0xc], eax
cmp dword [esi + 4], 0
je 0x100be934
mov eax, dword [esi + 4]
mov ecx, eax
and ecx, 3
mov dword [esi + 0x14], ecx
cmp eax, 4
jae 0x100be945
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x100be98f
mov dword [esi + 0x18], ebx
mov dword [esi + 0x1c], edi
or eax, 1
mov dword [0x1025f674], eax
mov eax, 0x7e4e3df8
mov ecx, 0x42650117
mov dword [esi + 0x24], ecx
mov dword [esi + 0x20], eax
mov eax, 0x32047505
mov ecx, 0xe66b5521
mov dword [esi + 0x2c], ecx
mov dword [esi + 0x28], eax
mov eax, 0x74ba7519
mov ecx, 0x9ba0c56a
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 + 0x14], eax
movaps xmmword [esi + 0x30], xmm0
mov dword [esi + 0x108], 2
lea eax, [esi + 0x20]
lea ecx, [esi + 0x80]
mov dword [esi + 4], ecx
push eax
call fcn.10015240
mov eax, dword [esi + 0x90]
mov dword [esi + 8], eax
cmp dword [esi + 0x94], 0x10
jb 0x100be90e
mov eax, dword [esi + 0x80]
mov dword [esi + 4], eax
cmp dword [esi + 8], 0
je 0x100be93b
mov eax, dword [esi + 8]
mov ecx, eax
and ecx, 3
mov dword [esi + 0xc], ecx
cmp eax, 4
jae 0x100bea21
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x100bea6b
mov ecx, 0x811c9dc5
jmp 0x100be9ac
mov ecx, 0x811c9dc5
jmp 0x100bea88
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 0x100be955
cmp dword [esi + 0x14], 0
je 0x100be9ac
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 + 0x14], edi
jne 0x100be99a
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 0x100beaf6
add ecx, ecx
mov edi, dword [eax + ecx*4]
mov eax, dword [esi + 4]
cmp eax, dword [ebx + 0x18]
jne 0x100be9f0
cmp dword [ebx + 0x1c], 0x10
jb 0x100be9da
mov eax, dword [ebx + 8]
jmp 0x100be9dd
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 0x100be9fd
cmp ebx, edi
je 0x100beaf6
mov ebx, dword [ebx + 4]
jmp 0x100be9c7
add ebx, 0x20
lea ecx, [esi + 0x80]
call fcn.10014f60
mov dword [0x1025f670], ebx
mov eax, dword [0x1025f674]
mov edi, dword [esi + 0x1c]
mov edx, dword [esi + 0x10]
jmp 0x100be556
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 0x100bea31
cmp dword [esi + 0xc], 0
je 0x100bea88
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 0x100bea76
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 0x100beb0d
add ecx, ecx
mov edi, dword [eax + ecx*4]
mov eax, dword [esi + 8]
cmp eax, dword [ebx + 0x18]
jne 0x100beac8
cmp dword [ebx + 0x1c], 0x10
jb 0x100beab2
mov eax, dword [ebx + 8]
jmp 0x100beab5
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 0x100bead1
cmp ebx, edi
je 0x100beb0d
mov ebx, dword [ebx + 4]
jmp 0x100bea9f
lea edi, [ebx + 0x20]
lea ecx, [esi + 0x80]
call fcn.10014f60
mov dword [0x1025f670], edi
mov ecx, dword [ebx + 0x24]
mov edi, dword [esi + 0x1c]
mov edx, dword [esi + 0x10]
mov ebx, dword [esi + 0x18]
jmp 0x100be567
mov dword [esi + 0x108], 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 + 0x108], 3
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, 0x10
lea esi, [ebp - 0x10c]
mov ebp, dword [esi + 0xf8]
lea ecx, [esi + 0x80]
call fcn.10014f60
add esp, 0x10
pop ebp
ret