Function at 0x100be2a0
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], 0x100c0260
mov ecx, dword fs:[0]
mov dword [esi + 0x100], ecx
mov dword fs:[0], eax
cmp dword [ebx], 0
jle 0x100be5d3
mov eax, dword [ebp + 0xc]
xorps xmm0, xmm0
ucomiss xmm0, dword [eax + 0xfc]
jae 0x100be5d3
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.100bd1f0
test al, al
jne 0x100be372
mov ecx, dword [0x10258dbc]
mov eax, dword [ecx]
push 0
push 0x600400b
push edi
call dword [eax]
test eax, 0x600400b
je 0x100be5d3
mov ecx, dword [0x10258dc0]
movsx eax, word [esi + 0xe0]
mov edx, dword [ecx]
push eax
call dword [edx + 0x14]
mov edi, eax
mov ecx, dword [0x10258dc0]
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 [0x101a799c]
movss xmm0, dword [0x101a784c]
cmp eax, 0x47
je 0x100be4a6
cmp eax, 0x59
je 0x100be4a6
movss xmm0, dword [0x101a6280]
mov eax, dword [ebp + 0x10]
test byte [eax + 0x30], 8
jne 0x100be49a
test byte [eax + 0x42], 0x80
jne 0x100be49a
cmp dword [eax + 0x4c], 0
je 0x100be488
mov eax, dword [0x10258d58]
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 0x100be488
jp 0x100be488
cmp word [edx + 0x60], 0x46
jne 0x100be488
mov eax, dword [ebp + 0x10]
mov eax, dword [eax + 0x4c]
mov dword [esi + 8], eax
mov eax, dword [0x1025e674]
test al, 1
je 0x100be609
mov ebx, dword [0x1025e670]
mov ecx, dword [ebx + 4]
mov ebx, dword [esi + 8]
mov ebx, dword [ecx + ebx]
test al, 1
je 0x100be70f
mov eax, dword [ebp + 8]
cmp ebx, dword [ecx + eax]
mov ebx, dword [ebp + 0x1c]
jne 0x100be488
mov eax, dword [0x10258d58]
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 0x100be49a
jp 0x100be49a
jmp 0x100be5d3
movss xmm0, dword [edx + 0x58]
addss xmm0, dword [edi + 0x58]
mulss xmm0, dword [0x101a62c0]
movzx eax, word [edx + 0x60]
movss xmm3, dword [0x101afc8c]
cmp ax, word [edi + 0x60]
jne 0x100be4d1
movss xmm1, dword [0x101a784c]
cmp ax, 0x57
je 0x100be4d4
movzx eax, ax
cmp eax, 0x55
je 0x100be4d4
cmp eax, 0x4c
jne 0x100be4d1
movss xmm1, dword [0x101a7ae8]
jmp 0x100be4d4
movaps xmm1, xmm0
movss xmm6, dword [ebp + 0x24]
mov edi, dword [ebp + 0x20]
movss xmm4, dword [0x101a6280]
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 0x100be543
sqrtsd xmm0, xmm0
jmp 0x100be582
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 [0x101a6280]
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 [0x101a784c]
mulss xmm2, xmm5
mulss xmm2, xmm6
mulss xmm3, xmm0
mulss xmm1, xmm1
mulss xmm1, xmm5
divss xmm1, dword [0x101a7d70]
addss xmm3, xmm2
addss xmm1, xmm3
ucomiss xmm1, xmm0
ja 0x100be5d3
xorps xmm2, xmm2
ucomiss xmm1, xmm2
jbe 0x100be5ce
subss xmm0, xmm1
movss dword [edi], xmm0
ucomiss xmm4, xmm0
jbe 0x100be5ec
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 0x100be5d5
mov dword [esi + 0x1c], edi
or eax, 1
mov dword [0x1025e674], eax
mov eax, 0xc11df3c2
mov ecx, 0x38d49ec2
mov dword [esi + 0x24], ecx
mov dword [esi + 0x20], eax
mov eax, 0xa2e671f
mov ecx, 0xee0c14b0
mov dword [esi + 0x2c], ecx
mov dword [esi + 0x28], eax
mov eax, 0x759d2917
mov ecx, 0xc2d0372f
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 + 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 0x100be6e5
mov eax, dword [esi + 0x80]
mov dword [esi + 0xc], eax
cmp dword [esi + 4], 0
je 0x100be814
mov eax, dword [esi + 4]
mov ecx, eax
and ecx, 3
mov dword [esi + 0x14], ecx
cmp eax, 4
jae 0x100be825
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x100be86f
mov dword [esi + 0x18], ebx
mov dword [esi + 0x1c], edi
or eax, 1
mov dword [0x1025e674], eax
mov eax, 0xc11df3c2
mov ecx, 0x38d49ec2
mov dword [esi + 0x24], ecx
mov dword [esi + 0x20], eax
mov eax, 0xa2e671f
mov ecx, 0xee0c14b0
mov dword [esi + 0x2c], ecx
mov dword [esi + 0x28], eax
mov eax, 0x759d2917
mov ecx, 0xc2d0372f
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 + 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 0x100be7ee
mov eax, dword [esi + 0x80]
mov dword [esi + 4], eax
cmp dword [esi + 8], 0
je 0x100be81b
mov eax, dword [esi + 8]
mov ecx, eax
and ecx, 3
mov dword [esi + 0xc], ecx
cmp eax, 4
jae 0x100be901
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x100be94b
mov ecx, 0x811c9dc5
jmp 0x100be88c
mov ecx, 0x811c9dc5
jmp 0x100be968
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 0x100be835
cmp dword [esi + 0x14], 0
je 0x100be88c
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 0x100be87a
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 0x100be9d6
add ecx, ecx
mov edi, dword [eax + ecx*4]
mov eax, dword [esi + 4]
cmp eax, dword [ebx + 0x18]
jne 0x100be8d0
cmp dword [ebx + 0x1c], 0x10
jb 0x100be8ba
mov eax, dword [ebx + 8]
jmp 0x100be8bd
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 0x100be8dd
cmp ebx, edi
je 0x100be9d6
mov ebx, dword [ebx + 4]
jmp 0x100be8a7
add ebx, 0x20
lea ecx, [esi + 0x80]
call fcn.10014f60
mov dword [0x1025e670], ebx
mov eax, dword [0x1025e674]
mov edi, dword [esi + 0x1c]
mov edx, dword [esi + 0x10]
jmp 0x100be436
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 0x100be911
cmp dword [esi + 0xc], 0
je 0x100be968
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 0x100be956
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 0x100be9ed
add ecx, ecx
mov edi, dword [eax + ecx*4]
mov eax, dword [esi + 8]
cmp eax, dword [ebx + 0x18]
jne 0x100be9a8
cmp dword [ebx + 0x1c], 0x10
jb 0x100be992
mov eax, dword [ebx + 8]
jmp 0x100be995
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 0x100be9b1
cmp ebx, edi
je 0x100be9ed
mov ebx, dword [ebx + 4]
jmp 0x100be97f
lea edi, [ebx + 0x20]
lea ecx, [esi + 0x80]
call fcn.10014f60
mov dword [0x1025e670], edi
mov ecx, dword [ebx + 0x24]
mov edi, dword [esi + 0x1c]
mov edx, dword [esi + 0x10]
mov ebx, dword [esi + 0x18]
jmp 0x100be447
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