Function at 0x100be4a0
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], 0x100c0460
mov ecx, dword fs:[0]
mov dword [esi + 0x100], ecx
mov dword fs:[0], eax
cmp dword [ebx], 0
jle 0x100be7d3
mov eax, dword [ebp + 0xc]
xorps xmm0, xmm0
ucomiss xmm0, dword [eax + 0xfc]
jae 0x100be7d3
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.100bd3f0
test al, al
jne 0x100be572
mov ecx, dword [0x1025ae2c]
mov eax, dword [ecx]
push 0
push 0x600400b
push edi
call dword [eax]
test eax, 0x600400b
je 0x100be7d3
mov ecx, dword [0x1025ae30]
movsx eax, word [esi + 0xe0]
mov edx, dword [ecx]
push eax
call dword [edx + 0x14]
mov edi, eax
mov ecx, dword [0x1025ae30]
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 [0x101a999c]
movss xmm0, dword [0x101a984c]
cmp eax, 0x47
je 0x100be6a6
cmp eax, 0x59
je 0x100be6a6
movss xmm0, dword [0x101a8280]
mov eax, dword [ebp + 0x10]
test byte [eax + 0x30], 8
jne 0x100be69a
test byte [eax + 0x42], 0x80
jne 0x100be69a
cmp dword [eax + 0x4c], 0
je 0x100be688
mov eax, dword [0x1025adc8]
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 0x100be688
jp 0x100be688
cmp word [edx + 0x60], 0x46
jne 0x100be688
mov eax, dword [ebp + 0x10]
mov eax, dword [eax + 0x4c]
mov dword [esi + 8], eax
mov eax, dword [0x102606e4]
test al, 1
je 0x100be809
mov ebx, dword [0x102606e0]
mov ecx, dword [ebx + 4]
mov ebx, dword [esi + 8]
mov ebx, dword [ecx + ebx]
test al, 1
je 0x100be90f
mov eax, dword [ebp + 8]
cmp ebx, dword [ecx + eax]
mov ebx, dword [ebp + 0x1c]
jne 0x100be688
mov eax, dword [0x1025adc8]
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 0x100be69a
jp 0x100be69a
jmp 0x100be7d3
movss xmm0, dword [edx + 0x58]
addss xmm0, dword [edi + 0x58]
mulss xmm0, dword [0x101a82c0]
movzx eax, word [edx + 0x60]
movss xmm3, dword [0x101b1c88]
cmp ax, word [edi + 0x60]
jne 0x100be6d1
movss xmm1, dword [0x101a984c]
cmp ax, 0x57
je 0x100be6d4
movzx eax, ax
cmp eax, 0x55
je 0x100be6d4
cmp eax, 0x4c
jne 0x100be6d1
movss xmm1, dword [0x101a9ae8]
jmp 0x100be6d4
movaps xmm1, xmm0
movss xmm6, dword [ebp + 0x24]
mov edi, dword [ebp + 0x20]
movss xmm4, dword [0x101a8280]
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 0x100be743
sqrtsd xmm0, xmm0
jmp 0x100be782
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 [0x101a8280]
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 [0x101a984c]
mulss xmm2, xmm5
mulss xmm2, xmm6
mulss xmm3, xmm0
mulss xmm1, xmm1
mulss xmm1, xmm5
divss xmm1, dword [0x101a9d70]
addss xmm3, xmm2
addss xmm1, xmm3
ucomiss xmm1, xmm0
ja 0x100be7d3
xorps xmm2, xmm2
ucomiss xmm1, xmm2
jbe 0x100be7ce
subss xmm0, xmm1
movss dword [edi], xmm0
ucomiss xmm4, xmm0
jbe 0x100be7ec
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 0x100be7d5
mov dword [esi + 0x1c], edi
or eax, 1
mov dword [0x102606e4], eax
mov eax, 0xde3f1734
mov ecx, 0x9bd4a67d
mov dword [esi + 0x24], ecx
mov dword [esi + 0x20], eax
mov eax, 0x92399759
mov ecx, 0x7bb5ab13
mov dword [esi + 0x2c], ecx
mov dword [esi + 0x28], eax
mov eax, 0x7eb35fb5
mov ecx, 0x6258517c
mov dword [esi + 0x34], ecx
mov dword [esi + 0x30], eax
mov eax, 0x9db8cf2
mov ecx, 0x7278c207
mov edx, 0xad5e5577
mov edi, 0xefbae318
mov dword [esi + 0x44], edi
mov dword [esi + 0x40], edx
mov edx, 0xbf40e330
mov edi, 0x12eac62d
mov dword [esi + 0x4c], edi
mov dword [esi + 0x48], edx
mov edx, 0x13d23ae1
mov edi, 0x62352432
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 [0x1025adcc]
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.10015170
mov eax, dword [esi + 0x90]
mov dword [esi + 4], eax
cmp dword [esi + 0x94], 0x10
jb 0x100be8e5
mov eax, dword [esi + 0x80]
mov dword [esi + 0xc], eax
cmp dword [esi + 4], 0
je 0x100bea14
mov eax, dword [esi + 4]
mov ecx, eax
and ecx, 3
mov dword [esi + 0x14], ecx
cmp eax, 4
jae 0x100bea25
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x100bea6f
mov dword [esi + 0x18], ebx
mov dword [esi + 0x1c], edi
or eax, 1
mov dword [0x102606e4], eax
mov eax, 0xde3f1734
mov ecx, 0x9bd4a67d
mov dword [esi + 0x24], ecx
mov dword [esi + 0x20], eax
mov eax, 0x92399759
mov ecx, 0x7bb5ab13
mov dword [esi + 0x2c], ecx
mov dword [esi + 0x28], eax
mov eax, 0x7eb35fb5
mov ecx, 0x6258517c
mov dword [esi + 0x34], ecx
mov dword [esi + 0x30], eax
mov eax, 0x9db8cf2
mov ecx, 0x7278c207
mov edx, 0xad5e5577
mov edi, 0xefbae318
mov dword [esi + 0x44], edi
mov dword [esi + 0x40], edx
mov edx, 0xbf40e330
mov edi, 0x12eac62d
mov dword [esi + 0x4c], edi
mov dword [esi + 0x48], edx
mov edx, 0x13d23ae1
mov edi, 0x62352432
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 [0x1025adcc]
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.10015170
mov eax, dword [esi + 0x90]
mov dword [esi + 8], eax
cmp dword [esi + 0x94], 0x10
jb 0x100be9ee
mov eax, dword [esi + 0x80]
mov dword [esi + 4], eax
cmp dword [esi + 8], 0
je 0x100bea1b
mov eax, dword [esi + 8]
mov ecx, eax
and ecx, 3
mov dword [esi + 0xc], ecx
cmp eax, 4
jae 0x100beb01
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x100beb4b
mov ecx, 0x811c9dc5
jmp 0x100bea8c
mov ecx, 0x811c9dc5
jmp 0x100beb68
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 0x100bea35
cmp dword [esi + 0x14], 0
je 0x100bea8c
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 0x100bea7a
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 0x100bebd6
add ecx, ecx
mov edi, dword [eax + ecx*4]
mov eax, dword [esi + 4]
cmp eax, dword [ebx + 0x18]
jne 0x100bead0
cmp dword [ebx + 0x1c], 0x10
jb 0x100beaba
mov eax, dword [ebx + 8]
jmp 0x100beabd
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 0x100beadd
cmp ebx, edi
je 0x100bebd6
mov ebx, dword [ebx + 4]
jmp 0x100beaa7
add ebx, 0x20
lea ecx, [esi + 0x80]
call fcn.10015110
mov dword [0x102606e0], ebx
mov eax, dword [0x102606e4]
mov edi, dword [esi + 0x1c]
mov edx, dword [esi + 0x10]
jmp 0x100be636
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 0x100beb11
cmp dword [esi + 0xc], 0
je 0x100beb68
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 0x100beb56
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 0x100bebed
add ecx, ecx
mov edi, dword [eax + ecx*4]
mov eax, dword [esi + 8]
cmp eax, dword [ebx + 0x18]
jne 0x100beba8
cmp dword [ebx + 0x1c], 0x10
jb 0x100beb92
mov eax, dword [ebx + 8]
jmp 0x100beb95
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 0x100bebb1
cmp ebx, edi
je 0x100bebed
mov ebx, dword [ebx + 4]
jmp 0x100beb7f
lea edi, [ebx + 0x20]
lea ecx, [esi + 0x80]
call fcn.10015110
mov dword [0x102606e0], edi
mov ecx, dword [ebx + 0x24]
mov edi, dword [esi + 0x1c]
mov edx, dword [esi + 0x10]
mov ebx, dword [esi + 0x18]
jmp 0x100be647
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.10015110
add esp, 0x10
pop ebp
ret