Function at 0x10092a70
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, 0x100
mov esi, esp
mov dword [esi + 0xd8], ebp
mov edi, dword [ebp + 0xc]
mov dword [esi + 0xdc], esp
mov dword [esi + 0xe8], 0xffffffff
lea eax, [esi + 0xe0]
mov dword [esi + 0xe4], 0x100a0730
mov ecx, dword fs:[0]
mov dword [esi + 0xe0], ecx
mov dword fs:[0], eax
mov ecx, dword [edi + 0x3050]
xor edx, edx
test ecx, ecx
je 0x10092eca
mov eax, dword [edi + 0x3040]
mov dword [esi + 0x34], eax
mov eax, dword [edi + 0x304c]
add ecx, eax
mov dword [esi + 0x10], ecx
jmp 0x10092b66
mov ecx, dword [0x10258da8]
mov eax, 0xf
sub eax, dword [ecx + 0x4d28]
mov dword [esi + 0xe8], 0xffffffff
mov ecx, dword [0x10258d58]
add eax, dword [ecx + 0x188]
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
mulss xmm2, xmm0
movaps xmmword [esi + 0xb0], xmm2
mov ecx, dword [ecx + 0x130]
mov eax, dword [ecx]
mov eax, dword [eax + 0x30]
mov dword [esi + 0xe8], 0xffffffff
call eax
fstp dword [esi + 0x38]
movaps xmm1, xmmword [esi + 0xb0]
subss xmm1, dword [esi + 0x38]
mov eax, dword [esi + 0xc]
movss xmm0, dword [eax + 0x30]
cvttps2dq xmm1, xmm1
cvtdq2ps xmm1, xmm1
ucomiss xmm0, xmm1
jae 0x10092ee7
nop dword [eax]
mov eax, dword [edi + 0x304c]
mov ecx, dword [esi + 0x10]
cmp ecx, eax
je 0x10092ec8
dec ecx
mov eax, dword [esi + 0x34]
mov eax, dword [eax]
mov ebx, ecx
shr ebx, 1
mov edx, dword [eax + 4]
mov eax, dword [eax + 8]
dec eax
and eax, ebx
mov dword [esi + 0x10], ecx
mov ebx, ecx
and ebx, 1
mov eax, dword [edx + eax*4]
mov dword [esi + 0x30], eax
mov eax, dword [eax + ebx*8]
mov dword [esi + 0xc], eax
cmp byte [eax], 0
jne 0x10092b60
mov eax, dword [esi + 0xc]
movss xmm0, dword [eax + 0x30]
movss dword [esi + 0xb0], xmm0
mov edi, dword [0x10258d58]
movss xmm0, dword [edi + 0x180]
movss dword [esi + 0x2c], xmm0
movss xmm0, dword [edi + 0x184]
movss dword [esi + 0x28], xmm0
mov ecx, dword [edi + 0x130]
mov eax, dword [ecx]
mov eax, dword [eax + 0x30]
mov dword [esi + 0xe8], 0xffffffff
call eax
fstp dword [esi + 0x3c]
movss xmm4, dword [esi + 0x3c]
movss xmm5, dword [edi + 0x17c]
mov eax, dword [0x10258d94]
mov ecx, dword [eax]
mov eax, dword [0x10258ef8]
test al, 1
je 0x10092cc3
mov edi, dword [0x10258ef4]
movss xmm2, dword [esi + 0x2c]
addss xmm2, dword [esi + 0x28]
xorps xmm0, xmm0
maxss xmm0, xmm2
movss xmm3, dword [0x101a6280]
movaps xmm1, xmm3
cmpltss xmm1, xmm2
movaps xmm2, xmm1
andnps xmm2, xmm0
andps xmm1, xmm3
orps xmm1, xmm2
addss xmm1, xmm5
xorps xmm2, xmm2
maxss xmm2, xmm1
movaps xmm0, xmm4
cmpltss xmm0, xmm1
movaps xmm1, xmm0
andnps xmm1, xmm2
andps xmm0, xmm4
orps xmm0, xmm1
mov eax, dword [edi + 4]
mov eax, dword [eax + ecx]
mov ecx, dword [0x10258d60]
mov ecx, dword [ecx + 0x10]
test ecx, ecx
mov edx, 0
cmovle ecx, edx
sub eax, ecx
xorps xmm1, xmm1
cvtsi2ss xmm1, eax
mov eax, dword [0x10258d9c]
movss xmm2, dword [eax + 0x20]
mulss xmm1, xmm2
subss xmm1, dword [esi + 0xb0]
subss xmm0, xmm1
andps xmm0, xmmword [0x101a77c0]
ucomiss xmm0, dword [0x101a7840]
mov edi, dword [ebp + 0xc]
ja 0x10092b60
mov eax, dword [0x10258d64]
cmp byte [eax + 0x10], 0
jne 0x10092ae6
xor eax, eax
jmp 0x10092b01
movss dword [esi + 0x18], xmm5
movaps xmmword [esi + 0xc0], xmm4
mov dword [esi + 0x1c], ecx
mov dword [esi + 0x20], ebx
or eax, 1
mov dword [0x10258ef8], eax
mov eax, 0x2a37a706
mov ecx, 0x59f4798c
mov dword [esi + 0x44], ecx
mov dword [esi + 0x40], eax
mov eax, 0xc453107f
mov ecx, 0x1d6faaee
mov dword [esi + 0x4c], ecx
mov dword [esi + 0x48], eax
mov eax, 0xaf944913
mov ecx, 0x13cb2ccd
mov dword [esi + 0x54], ecx
mov dword [esi + 0x50], eax
mov eax, 0x9e593c28
mov ecx, 0x8f05a52e
mov edx, 0x5956e545
mov edi, 0x389829e9
mov dword [esi + 0x84], edi
mov dword [esi + 0x80], edx
mov edx, 0xe9217506
mov edi, 0x7330c7d0
mov dword [esi + 0x8c], edi
mov dword [esi + 0x88], edx
mov edx, 0xc4f72047
mov edi, 0x76b84d8f
mov dword [esi + 0x94], edi
mov dword [esi + 0x90], edx
mov dword [esi + 0x5c], ecx
mov dword [esi + 0x58], eax
mov dword [esi + 0x9c], ecx
mov dword [esi + 0x98], eax
lea eax, [esi + 0x80]
xor ecx, ecx
movaps xmm0, xmmword [esi + 0x40]
xorps xmm0, xmmword [eax]
movaps xmmword [esi + 0x40], xmm0
movaps xmm0, xmmword [esi + 0x50]
xorps xmm0, xmmword [eax + 0x10]
mov eax, dword [0x10258d5c]
mov dword [esi + 0x24], eax
movaps xmmword [esi + 0x50], xmm0
mov dword [esi + 0xe8], 0
lea ecx, [esi + 0x68]
lea eax, [esi + 0x40]
push eax
call fcn.10015240
cmp dword [esi + 0x7c], 0x10
lea eax, [esi + 0x68]
mov dword [esi + 8], eax
jb 0x10092dba
mov eax, dword [esi + 0x68]
mov dword [esi + 8], eax
mov eax, dword [esi + 0x78]
mov dword [esi + 4], eax
test eax, eax
je 0x10092ddd
mov eax, dword [esi + 4]
mov ecx, eax
and ecx, 3
mov dword [esi + 0x14], ecx
cmp eax, 4
jae 0x10092de4
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x10092e2e
mov ecx, 0x811c9dc5
jmp 0x10092e4b
mov edi, dword [esi + 4]
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 0x10092df1
mov eax, dword [esi + 0x14]
test eax, eax
je 0x10092e4b
add edx, dword [esi + 8]
xor edi, edi
movzx ebx, byte [edx + edi]
xor ebx, ecx
imul ecx, ebx, 0x1000193
inc edi
cmp eax, edi
jne 0x10092e3a
mov edx, dword [esi + 0x24]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov edi, dword [eax + ecx*8 + 4]
cmp edi, dword [edx + 4]
mov edx, dword [esi + 4]
je 0x10092f10
add ecx, ecx
mov ebx, dword [eax + ecx*4]
cmp edx, dword [edi + 0x18]
je 0x10092e7e
cmp edi, ebx
je 0x10092f10
mov edi, dword [edi + 4]
cmp edx, dword [edi + 0x18]
jne 0x10092e6e
cmp dword [edi + 0x1c], 0x10
jb 0x10092e89
mov eax, dword [edi + 8]
jmp 0x10092e8c
lea eax, [edi + 8]
push edx
push eax
push dword [esi + 8]
call sub.VCRUNTIME140.dll_memcmp
mov edx, dword [esi + 4]
add esp, 0xc
test eax, eax
jne 0x10092e6e
add edi, 0x20
lea ecx, [esi + 0x68]
call fcn.10014f60
mov dword [0x10258ef4], edi
mov ebx, dword [esi + 0x20]
mov ecx, dword [esi + 0x1c]
movaps xmm4, xmmword [esi + 0xc0]
movss xmm5, dword [esi + 0x18]
jmp 0x10092c0e
xor edx, edx
mov eax, dword [ebp + 8]
mov byte [eax + 0xc], dl
mov ecx, dword [esi + 0xe0]
mov dword fs:[0], ecx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 8
mov ecx, dword [esi + 0x30]
mov eax, dword [ecx + ebx*8 + 4]
test eax, eax
je 0x10092efc
lock inc dword [eax + 4]
mov edx, dword [ecx + ebx*8 + 4]
jmp 0x10092efe
xor edx, edx
mov ecx, dword [ecx + ebx*8]
mov eax, dword [ebp + 8]
mov dword [eax], edi
mov dword [eax + 4], ecx
mov dword [eax + 8], edx
mov dl, 1
jmp 0x10092ecd
mov dword [esi + 0xe8], 1
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 [eax + eax]
push ebp
sub esp, 0xc
lea esi, [ebp - 0xec]
mov ebp, dword [esi + 0xd8]
lea ecx, [esi + 0x68]
call fcn.10014f60
add esp, 0xc
pop ebp
ret