Function at 0x10092130
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 edx, dword [ebp + 8]
mov edi, dword [ebp + 0xc]
mov dword [esi + 0xdc], esp
mov dword [esi + 0xe8], 0xffffffff
lea eax, [esi + 0xe0]
mov dword [esi + 0xe4], 0x100a07a0
mov ecx, dword fs:[0]
mov dword [esi + 0xe0], ecx
mov dword fs:[0], eax
mov eax, dword [edi + 0x3050]
test eax, eax
je 0x100921b5
mov ecx, dword [edi + 0x304c]
lea ebx, [eax + ecx]
dec ebx
mov eax, ebx
shr eax, 1
mov ecx, dword [edi + 0x3048]
dec ecx
and ecx, eax
mov eax, dword [edi + 0x3044]
and ebx, 1
mov ecx, dword [eax + ecx*4]
mov eax, dword [ecx + ebx*8]
cmp byte [eax], 0
je 0x100921d1
mov byte [edx + 0xc], 0
mov eax, dword [esi + 0xe0]
mov dword fs:[0], eax
mov eax, edx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 8
mov dword [esi + 4], ecx
mov dword [esi + 8], ebx
movss xmm0, dword [eax + 0x30]
movss dword [esi + 0xc], xmm0
mov edi, dword [0x1025adc8]
movss xmm0, dword [edi + 0x180]
movss dword [esi + 0x10], xmm0
movss xmm0, dword [edi + 0x184]
movss dword [esi + 0xa0], xmm0
mov ecx, dword [edi + 0x130]
mov eax, dword [ecx]
call dword [eax + 0x30]
fstp dword [esi + 0xa4]
movss xmm5, dword [esi + 0xa4]
movss xmm6, dword [edi + 0x17c]
mov eax, dword [0x1025ae04]
mov ecx, dword [eax]
mov eax, dword [0x1025af68]
test al, 1
je 0x1009280a
mov ebx, dword [0x1025af64]
movss xmm4, dword [esi + 0x10]
addss xmm4, dword [esi + 0xa0]
xorps xmm1, xmm1
xorps xmm0, xmm0
maxss xmm0, xmm4
movss xmm2, dword [0x101a8280]
movaps xmm3, xmm2
cmpltss xmm3, xmm4
movaps xmm4, xmm3
andnps xmm4, xmm0
andps xmm3, xmm2
orps xmm3, xmm4
addss xmm3, xmm6
maxss xmm1, xmm3
movaps xmm0, xmm5
cmpltss xmm0, xmm3
movaps xmm2, xmm0
andnps xmm2, xmm1
andps xmm0, xmm5
mov eax, dword [ebx + 4]
mov ecx, dword [eax + ecx]
mov eax, dword [0x1025add0]
mov edx, dword [eax + 0x10]
xor eax, eax
test edx, edx
cmovle edx, eax
sub ecx, edx
xorps xmm3, xmm3
cvtsi2ss xmm3, ecx
orps xmm0, xmm2
mov ecx, dword [0x1025ae0c]
movss xmm1, dword [ecx + 0x20]
mulss xmm3, xmm1
subss xmm3, dword [esi + 0xc]
subss xmm0, xmm3
andps xmm0, xmmword [0x101a97c0]
movss xmm2, dword [0x101a9840]
ucomiss xmm2, xmm0
jbe 0x100922fd
mov ecx, dword [esi + 8]
mov ebx, dword [esi + 4]
mov eax, dword [ebx + ecx*8 + 4]
test eax, eax
mov edx, dword [ebp + 8]
mov edi, dword [ebp + 0xc]
je 0x1009247b
lock inc dword [eax + 4]
mov eax, dword [ebx + ecx*8 + 4]
jmp 0x1009247d
mov ecx, dword [0x1025add4]
cmp byte [ecx + 0x10], 0
mov ecx, dword [0x1025ae18]
je 0x1009231a
mov eax, 0xf
sub eax, dword [ecx + 0x4d28]
mov edx, dword [0x1025adc8]
movss xmm2, dword [edx + 0x180]
addss xmm2, dword [edx + 0x184]
divss xmm2, xmm1
addss xmm2, dword [0x101a82c0]
cvttss2si edx, xmm2
add eax, dword [ecx + 0x174]
add eax, edx
mov ebx, dword [esi + 8]
mov edi, dword [esi + 4]
mov ecx, dword [edi + ebx*8]
sub eax, dword [ecx + 0x24]
mov dword [esi + 0x10], ecx
mov ecx, dword [ecx + 0x14]
cdq
mov dword [esi + 0xc], ecx
idiv ecx
mov edx, eax
add eax, 0xffffffeb
cmp eax, 0xffffffeb
ja 0x10092387
mov eax, dword [edi + ebx*8 + 4]
test eax, eax
mov edx, dword [ebp + 8]
je 0x10092784
lock inc dword [eax + 4]
movsd xmm0, qword [edi + ebx*8]
jmp 0x10092789
addss xmm0, dword [0x101a9998]
divss xmm0, xmm1
addss xmm0, dword [0x101a82c0]
cvttss2si eax, xmm0
mov edi, edx
cdq
idiv dword [esi + 0xc]
mov edx, edi
cmp eax, edi
cmovl edx, eax
test edx, edx
jle 0x1009279b
mov dword [esi + 0xc], edx
mov eax, dword [esi + 0x10]
mov dword [eax + 0x2c], edx
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax]
mov edx, dword [esi + 8]
mov edi, dword [esi + 4]
mov eax, dword [edi + edx*8]
mov dword [esi + 0x20], ecx
movss xmm1, dword [eax + 0x30]
movss dword [esi + 0x24], xmm1
mov ecx, dword [eax + 0xc]
mov dword [esi + 0x28], ecx
mov ecx, dword [eax + 0x74]
mov dword [esi + 0x34], ecx
movsd xmm0, qword [eax + 0x6c]
movsd qword [esi + 0x2c], xmm0
mov ecx, dword [eax + 0x68]
mov dword [esi + 0x40], ecx
movsd xmm0, qword [eax + 0x60]
movsd qword [esi + 0x38], xmm0
mov ecx, dword [eax + 0x80]
mov dword [esi + 0x4c], ecx
movsd xmm0, qword [eax + 0x78]
movsd qword [esi + 0x44], xmm0
mov ecx, dword [eax + 0x8c]
mov dword [esi + 0x58], ecx
movsd xmm0, qword [eax + 0x84]
movsd qword [esi + 0x50], xmm0
mov eax, dword [edi + edx*8]
mov ebx, dword [esi + 4]
jmp 0x10092435
dec dword [esi + 0xc]
je 0x1009248a
cmp dword [eax + 0x14], 0
jle 0x10092430
mov dword [esi + 0xe8], 0xffffffff
xor edi, edi
nop word [eax + eax]
lea eax, [esi + 0x20]
push eax
call fcn.10091700
mov eax, dword [0x1025ae0c]
movss xmm1, dword [eax + 0x20]
addss xmm1, dword [esi + 0x24]
movss dword [esi + 0x24], xmm1
inc edi
mov eax, dword [esi + 8]
mov eax, dword [ebx + eax*8]
cmp edi, dword [eax + 0x14]
jl 0x10092450
jmp 0x10092430
xor eax, eax
mov ecx, dword [ebx + ecx*8]
mov dword [edx], edi
mov dword [edx + 4], ecx
jmp 0x10092778
mov eax, dword [ebp + 0xc]
mov dword [esi + 0x60], eax
mov dword [esi + 0xe8], 0xffffffff
push 0x10234
movss dword [esi + 0xc], xmm1
call fcn.1015791b
add esp, 4
mov edi, eax
mov dword [eax + 4], 1
mov dword [eax + 8], 1
mov dword [eax], vtable.std::_Ref_count_obj2_struct_supremacy::hacks::lag_record_t_.0
lea ebx, [eax + 0xc]
push 0x10228
push 0
push ebx
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov dword [esi + 0x64], ebx
mov dword [esi + 0x68], edi
mov ecx, dword [esi + 8]
mov edx, dword [esi + 4]
mov eax, dword [edx + ecx*8]
mov byte [eax + 0xa], 1
push 0x10228
push dword [edx + ecx*8]
mov dword [esi + 0x10], ebx
push ebx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
movss xmm0, dword [esi + 0xc]
movss dword [edi + 0x3c], xmm0
mov eax, dword [esi + 0x28]
mov dword [edi + 0x18], eax
lea ecx, [esi + 0x2c]
mov eax, dword [ecx + 8]
mov dword [edi + 0x80], eax
movsd xmm0, qword [ecx]
movsd qword [edi + 0x78], xmm0
mov eax, dword [ecx + 0x14]
mov dword [edi + 0x74], eax
movsd xmm0, qword [ecx + 0xc]
movsd qword [edi + 0x6c], xmm0
mov eax, dword [esi + 8]
mov ecx, dword [esi + 4]
mov eax, dword [ecx + eax*8]
movss xmm0, dword [esi + 0x34]
subss xmm0, dword [eax + 0x74]
movss xmm1, dword [esi + 0x2c]
movss xmm2, dword [esi + 0x30]
subss xmm2, dword [eax + 0x70]
subss xmm1, dword [eax + 0x6c]
mov eax, dword [edi + 0x33d4]
test eax, eax
je 0x100925ed
xor ecx, ecx
mov edx, 0x430
nop dword [eax]
cmp edx, 0x3430
je 0x100927fb
movss xmm3, dword [edi + edx - 0x50]
addss xmm3, xmm1
movss dword [edi + edx - 0x50], xmm3
movss xmm3, dword [edi + edx - 0x40]
addss xmm3, xmm2
movss dword [edi + edx - 0x40], xmm3
movss xmm3, dword [edi + edx - 0x30]
addss xmm3, xmm0
movss dword [edi + edx - 0x30], xmm3
mov ebx, ecx
or ebx, 1
cmp ebx, eax
jae 0x100925ed
movss xmm3, dword [edi + edx - 0x20]
addss xmm3, xmm1
movss dword [edi + edx - 0x20], xmm3
movss xmm3, dword [edi + edx - 0x10]
addss xmm3, xmm2
movss dword [edi + edx - 0x10], xmm3
movss xmm3, dword [edi + edx]
addss xmm3, xmm0
movss dword [edi + edx], xmm3
add ecx, 2
add edx, 0x60
cmp ecx, eax
jb 0x10092570
mov eax, dword [edi + 0x66b4]
test eax, eax
je 0x100926a7
xor ecx, ecx
xor ebx, ebx
nop
cmp ecx, 0x3000
je 0x100927fb
movss xmm3, dword [edi + ecx + 0x36c0]
addss xmm3, xmm1
movss dword [edi + ecx + 0x36c0], xmm3
movss xmm3, dword [edi + ecx + 0x36d0]
addss xmm3, xmm2
movss dword [edi + ecx + 0x36d0], xmm3
movss xmm3, dword [edi + ecx + 0x36e0]
addss xmm3, xmm0
movss dword [edi + ecx + 0x36e0], xmm3
mov edx, ebx
or edx, 1
cmp edx, eax
jae 0x100926a7
movss xmm3, dword [edi + ecx + 0x36f0]
addss xmm3, xmm1
movss dword [edi + ecx + 0x36f0], xmm3
movss xmm3, dword [edi + ecx + 0x3700]
addss xmm3, xmm2
movss dword [edi + ecx + 0x3700], xmm3
movss xmm3, dword [edi + ecx + 0x3710]
addss xmm3, xmm0
movss dword [edi + ecx + 0x3710], xmm3
add ebx, 2
add ecx, 0x60
cmp ebx, eax
jb 0x10092600
mov eax, dword [edi + 0x9994]
test eax, eax
je 0x10092767
xor ecx, ecx
xor edx, edx
nop dword [eax]
cmp ecx, 0x3000
je 0x100927fb
movss xmm3, dword [edi + ecx + 0x69a0]
addss xmm3, xmm1
movss dword [edi + ecx + 0x69a0], xmm3
movss xmm3, dword [edi + ecx + 0x69b0]
addss xmm3, xmm2
movss dword [edi + ecx + 0x69b0], xmm3
movss xmm3, dword [edi + ecx + 0x69c0]
addss xmm3, xmm0
movss dword [edi + ecx + 0x69c0], xmm3
mov ebx, edx
or ebx, 1
cmp ebx, eax
jae 0x10092767
movss xmm3, dword [edi + ecx + 0x69d0]
addss xmm3, xmm1
movss dword [edi + ecx + 0x69d0], xmm3
movss xmm3, dword [edi + ecx + 0x69e0]
addss xmm3, xmm2
movss dword [edi + ecx + 0x69e0], xmm3
movss xmm3, dword [edi + ecx + 0x69f0]
addss xmm3, xmm0
movss dword [edi + ecx + 0x69f0], xmm3
add edx, 2
add ecx, 0x60
cmp edx, eax
jb 0x100926c0
mov edx, dword [ebp + 8]
mov eax, dword [ebp + 0xc]
mov dword [edx], eax
mov eax, dword [esi + 0x10]
mov dword [edx + 4], eax
mov eax, dword [esi + 0x68]
mov dword [edx + 8], eax
mov byte [edx + 0xc], 1
jmp 0x100921b9
movss xmm0, dword [esi + 0x10]
mov eax, dword [ebp + 0xc]
mov dword [edx], eax
movlps qword [edx + 4], xmm0
mov byte [edx + 0xc], 1
jmp 0x100921b9
mov edx, dword [ebp + 0xc]
mov dword [esi + 0x20], edx
mov dword [esi + 0x24], 0
mov dword [esi + 0x28], 0
mov eax, dword [esi + 8]
mov ecx, dword [esi + 4]
mov eax, dword [ecx + eax*8 + 4]
test eax, eax
mov ecx, dword [ebp + 8]
je 0x100927c7
lock inc dword [eax + 4]
mov edx, dword [esi + 0x20]
mov dword [ecx], edx
mov eax, dword [esi + 8]
mov edx, dword [esi + 4]
movsd xmm0, qword [edx + eax*8]
movsd qword [ecx + 4], xmm0
mov dword [esi + 0x24], 0
mov dword [esi + 0x28], 0
mov byte [ecx + 0xc], 1
lea ecx, [esi + 0x20]
call fcn.10092a80
mov edx, dword [ebp + 8]
jmp 0x100921b9
mov dword [esi + 0xe8], 2
call fcn.1009f460
movss dword [esi + 0x94], xmm6
movaps xmmword [esi + 0xc0], xmm5
mov dword [esi + 0x98], ecx
or eax, 1
mov dword [0x1025af68], eax
mov eax, 0xbb6d7426
mov ecx, 0x74d10de4
mov dword [esi + 0x64], ecx
mov dword [esi + 0x60], eax
mov eax, 0xa8bc7d4b
mov ecx, 0x82b726fa
mov dword [esi + 0x6c], ecx
mov dword [esi + 0x68], eax
mov eax, 0x16fa6ca3
mov ecx, 0xed44ffd9
mov dword [esi + 0x74], ecx
mov dword [esi + 0x70], eax
mov eax, 0x769f34ec
mov ecx, 0x4c76479e
mov edx, 0xc80c3665
mov edi, 0x15bd5d81
mov dword [esi + 0x24], edi
mov dword [esi + 0x20], edx
mov edx, 0x85ce1832
mov edi, 0xece84bc4
mov dword [esi + 0x2c], edi
mov dword [esi + 0x28], edx
mov edx, 0x7d9905f7
mov edi, 0x88379e9b
mov dword [esi + 0x34], edi
mov dword [esi + 0x30], edx
mov dword [esi + 0x7c], ecx
mov dword [esi + 0x78], eax
mov dword [esi + 0x3c], ecx
mov dword [esi + 0x38], eax
lea eax, [esi + 0x20]
xor ecx, ecx
movaps xmm0, xmmword [esi + 0x60]
xorps xmm0, xmmword [eax]
movaps xmmword [esi + 0x60], xmm0
movaps xmm0, xmmword [esi + 0x70]
xorps xmm0, xmmword [eax + 0x10]
mov eax, dword [0x1025adcc]
mov dword [esi + 0x9c], eax
movaps xmmword [esi + 0x70], xmm0
mov dword [esi + 0xe8], 0
lea eax, [esi + 0x60]
lea ecx, [esi + 0xa8]
mov dword [esi + 0x18], ecx
push eax
call fcn.10015170
mov eax, dword [esi + 0xb8]
mov dword [esi + 0x14], eax
cmp dword [esi + 0xbc], 0x10
jb 0x100928fb
mov eax, dword [esi + 0xa8]
mov dword [esi + 0x18], eax
cmp dword [esi + 0x14], 0
je 0x1009291a
mov eax, dword [esi + 0x14]
mov ecx, eax
and ecx, 3
mov dword [esi + 0x1c], ecx
cmp eax, 4
jae 0x10092921
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x1009296b
mov ecx, 0x811c9dc5
jmp 0x10092988
mov edi, dword [esi + 0x14]
and edi, 0xfffffffc
mov ecx, 0x811c9dc5
xor edx, edx
mov eax, dword [esi + 0x18]
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 0x10092931
cmp dword [esi + 0x1c], 0
je 0x10092988
add edx, dword [esi + 0x18]
xor edi, edi
movzx ebx, byte [edx + edi]
xor ebx, ecx
imul ecx, ebx, 0x1000193
inc edi
cmp dword [esi + 0x1c], edi
jne 0x10092976
mov edx, dword [esi + 0x9c]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov ebx, dword [eax + ecx*8 + 4]
cmp ebx, dword [edx + 4]
je 0x10092a02
add ecx, ecx
mov edi, dword [eax + ecx*4]
mov eax, dword [esi + 0x14]
cmp eax, dword [ebx + 0x18]
jne 0x100929cb
cmp dword [ebx + 0x1c], 0x10
jb 0x100929b5
mov eax, dword [ebx + 8]
jmp 0x100929b8
lea eax, [ebx + 8]
push dword [esi + 0x14]
push eax
push dword [esi + 0x18]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x100929d4
cmp ebx, edi
je 0x10092a02
mov ebx, dword [ebx + 4]
jmp 0x100929a2
add ebx, 0x20
lea ecx, [esi + 0xa8]
call fcn.10015110
mov dword [0x1025af64], ebx
mov ecx, dword [esi + 0x98]
movaps xmm5, xmmword [esi + 0xc0]
movss xmm6, dword [esi + 0x94]
jmp 0x1009223f
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 dword [eax]
push ebp
sub esp, 0xc
lea esi, [ebp - 0xec]
mov ebp, dword [esi + 0xd8]
lea ecx, [esi + 0xa8]
call fcn.10015110
add esp, 0xc
pop ebp
ret