Function at 0x100a8fd0
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, 0xfffffff0
sub esp, 0xf0
mov esi, esp
mov dword [esi + 0xd8], ebp
mov edi, dword [ebp + 0x10]
mov edx, dword [ebp + 0xc]
mov ebx, dword [ebp + 8]
mov dword [esi + 0xdc], esp
mov dword [esi + 0xe8], 0xffffffff
mov dword [esi + 0xe4], 0x100b5cf0
mov eax, dword fs:[0]
mov dword [esi + 0xe0], eax
lea eax, [esi + 0xe0]
mov dword fs:[0], eax
mov dword [edx + 0x1c], 5
mov eax, dword [ebx + 0x3034]
mov dword [edx + 0x18], eax
mov dword [edx + 0x20], 1
mov eax, dword [ebx + 0x303c]
lea ecx, [eax - 1]
cmp ecx, 2
ja 0x100a904b
inc eax
mov dword [edx + 0x20], eax
test edi, edi
je 0x100a90b5
mov eax, dword [edx + 0xc]
test eax, 0x200
jne 0x100a908c
test al, 0x40
jne 0x100a908c
mov ecx, dword [ebx]
mov eax, dword [0x1025f68c]
test al, 1
je 0x100a98ec
mov ebx, dword [0x1025f688]
mov eax, dword [ebx + 4]
cmp byte [eax + ecx], 9
mov ebx, dword [ebp + 8]
jne 0x100a90f2
movss xmm0, dword [0x101b001c]
ucomiss xmm0, dword [edx + 0x48]
jbe 0x100a90f2
mov dword [edx + 0x18], 0
mov dword [edx + 0x20], 6
cmp byte [edx + 3], 0
je 0x100a90bc
mov dword [edx + 0x1c], 2
mov dword [edx + 0x18], 0
mov eax, 0x11
jmp 0x100a90d9
mov eax, 5
jmp 0x100a90d9
cmp byte [edx + 4], 0
je 0x100a9336
mov dword [edx + 0x1c], 1
mov dword [edx + 0x18], 0
mov eax, 0x12
mov dword [edx + 0x20], eax
mov eax, dword [esi + 0xe0]
mov dword fs:[0], eax
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 0x10
cmp byte [ebx + 0x302e], 0
je 0x100a9266
mov edi, dword [0x10259d58]
movss xmm0, dword [edx + 0x3854]
movss xmm1, dword [edx + 0x3834]
movss xmm2, dword [edx + 0x3844]
movss dword [esi + 0x30], xmm1
movss dword [esi + 0x34], xmm2
movss dword [esi + 0x38], xmm0
movss xmm0, dword [edx + 0x6b34]
movss xmm1, dword [edx + 0x6b14]
movss xmm2, dword [edx + 0x6b24]
movss dword [esi + 0x8c], xmm1
movss dword [esi + 0x90], xmm2
movss dword [esi + 0x94], xmm0
mov ecx, dword [0x10259d74]
movss xmm0, dword [edi + 0x190]
movss xmm1, dword [edi + 0x194]
movss xmm2, dword [edi + 0x198]
mov eax, dword [ebx]
mov edx, dword [0x10259d94]
mov edx, dword [edx]
mov dword [esi + 0xe8], 0xffffffff
lea ebx, [esi + 0x30]
mov dword [esp + 0x18], ebx
mov ebx, dword [ebp + 8]
movss dword [esp + 0x14], xmm2
movss dword [esp + 0x10], xmm1
movss dword [esp + 0xc], xmm0
mov dword [esp + 8], eax
mov dword [esp + 4], edx
lea eax, [esi + 0x98]
mov dword [esp], eax
call fcn.100bfe50
sub esp, 0x1c
mov ecx, dword [0x10259d74]
movss xmm0, dword [edi + 0x190]
movss xmm1, dword [edi + 0x194]
movss xmm2, dword [edi + 0x198]
mov eax, dword [ebx]
mov edx, dword [0x10259d94]
mov edx, dword [edx]
lea edi, [esi + 0x8c]
mov dword [esp + 0x18], edi
movss dword [esp + 0x14], xmm2
movss dword [esp + 0x10], xmm1
movss dword [esp + 0xc], xmm0
mov dword [esp + 8], eax
mov dword [esp + 4], edx
lea eax, [esi + 0xc0]
mov dword [esp], eax
call fcn.100bfe50
sub esp, 0x1c
mov ecx, dword [esi + 0x9c]
mov eax, dword [esi + 0xc4]
cmp ecx, eax
je 0x100a9260
cmp ecx, 5
jg 0x100a923a
cmp eax, 6
jl 0x100a9260
cmp ecx, eax
mov edx, eax
cmovg edx, ecx
dec edx
cmp ecx, edx
jge 0x100a9252
mov dword [ebx + 0x3038], 1
mov edx, ecx
cmp eax, edx
jge 0x100a9260
mov dword [ebx + 0x3038], 2
mov edx, dword [ebp + 0xc]
mov edi, dword [ebp + 0x10]
cmp byte [edx + 6], 0
je 0x100a9483
cmp byte [ebx + 0x302d], 0
je 0x100a960f
movss xmm0, dword [edx + 0x33cc]
movss xmm1, dword [edx + 0x4c]
movss dword [esi + 0x24], xmm1
movss dword [esp], xmm0
mov dword [esp + 4], 0x43b40000
mov edi, dword [sym.imp.api_ms_win_crt_math_l1_1_0.dll_remainderf]
mov ebx, edx
call edi
fstp dword [esi + 0x88]
movss xmm0, dword [esi + 0x88]
movss dword [esi + 0x20], xmm0
movss xmm0, dword [esi + 0x24]
movss dword [esp], xmm0
mov dword [esp + 4], 0x43b40000
call edi
fstp dword [esi + 0x84]
movss xmm0, dword [esi + 0x20]
subss xmm0, dword [esi + 0x84]
movss dword [esp], xmm0
mov dword [esp + 4], 0x43b40000
call edi
fstp dword [esi + 0x80]
movss xmm0, dword [esi + 0x80]
ucomiss xmm0, dword [0x101a8fbc]
jbe 0x100a961b
mov dword [ebx + 0x1c], 1
mov dword [ebx + 0x18], 1
mov dword [ebx + 0x20], 8
mov eax, dword [ebp + 8]
mov dword [eax + 0x303c], 1
mov edx, ebx
mov edi, dword [ebp + 0x10]
jmp 0x100a909a
test byte [edx + 0xc], 1
jne 0x100a9353
test byte [edi + 0xc], 1
jne 0x100a9353
mov dword [edx + 0x1c], 1
mov eax, 0x13
jmp 0x100a90d9
cmp dword [ebp + 0x14], 0
je 0x100a90dc
mov ebx, edi
movss xmm0, dword [edx + 0x4c]
movss xmm1, dword [edi + 0x4c]
movss dword [esi + 0x24], xmm1
movss dword [esp], xmm0
mov dword [esp + 4], 0x43b40000
mov edi, dword [sym.imp.api_ms_win_crt_math_l1_1_0.dll_remainderf]
call edi
fstp dword [esi + 0x5c]
movss xmm0, dword [esi + 0x5c]
movss dword [esi + 0x20], xmm0
movss xmm0, dword [esi + 0x24]
movss dword [esp], xmm0
mov dword [esp + 4], 0x43b40000
call edi
fstp dword [esi + 0x58]
movss xmm0, dword [esi + 0x20]
subss xmm0, dword [esi + 0x58]
movss dword [esp], xmm0
mov dword [esp + 4], 0x43b40000
call edi
fstp dword [esi + 0x54]
movss xmm0, dword [esi + 0x54]
andps xmm0, xmmword [0x101a87c0]
mov eax, dword [ebp + 0xc]
ucomiss xmm0, dword [eax + 0x40]
mov eax, dword [ebp + 0x14]
jbe 0x100a90dc
movss xmm0, dword [ebx + 0x4c]
movss xmm1, dword [eax + 0x4c]
movss dword [esi + 0x24], xmm1
movss dword [esp], xmm0
mov dword [esp + 4], 0x43b40000
call edi
fstp dword [esi + 0x50]
movss xmm0, dword [esi + 0x50]
movss dword [esi + 0x20], xmm0
movss xmm0, dword [esi + 0x24]
movss dword [esp], xmm0
mov dword [esp + 4], 0x43b40000
call edi
fstp dword [esi + 0x4c]
movss xmm0, dword [esi + 0x20]
subss xmm0, dword [esi + 0x4c]
movss dword [esp], xmm0
mov dword [esp + 4], 0x43b40000
call edi
mov edx, dword [ebp + 0xc]
fstp dword [esi + 0x48]
movss xmm0, dword [esi + 0x48]
andps xmm0, xmmword [0x101a87c0]
ucomiss xmm0, dword [edx + 0x40]
jbe 0x100a90dc
mov byte [edx + 9], 1
mov dword [edx + 0x1c], 2
movss xmm0, dword [edx + 0x4c]
xor eax, eax
ucomiss xmm0, dword [ebx + 0x4c]
seta al
mov ecx, 4
sub ecx, eax
mov dword [edx + 0x18], ecx
mov eax, 0x14
jmp 0x100a90d9
cmp byte [ebx + 0x302c], 0
je 0x100a9654
movss xmm0, dword [0x101afb90]
ucomiss xmm0, dword [edx + 0x200]
jae 0x100a9660
movss xmm0, dword [edx + 0x318]
movss xmm3, dword [0x101a7280]
xorps xmm2, xmm2
xorps xmm1, xmm1
cmpltps xmm1, xmm0
cmpltps xmm0, xmm3
andps xmm0, xmm1
movss dword [esi + 0x24], xmm0
movss xmm4, dword [edi + 0x318]
movss xmm0, dword [edx + 0x350]
mulss xmm0, dword [0x101a8dc0]
cvttss2si ebx, xmm0
movss xmm0, dword [edi + 0x200]
ucomiss xmm0, dword [0x101afb90]
jbe 0x100a96c2
movss xmm0, dword [edi + 0x60]
movss xmm1, dword [edi + 0x64]
cvtss2sd xmm0, xmm0
cvtss2sd xmm1, xmm1
movsd qword [esp + 8], xmm0
movsd qword [esp], xmm1
mov edi, edx
movaps xmmword [esi + 0xb0], xmm4
call sub.api_ms_win_crt_math_l1_1_0.dll_atan2
fstp dword [esi + 0x7c]
movss xmm0, dword [0x101b0748]
movss dword [esi + 0x20], xmm0
movss xmm1, dword [esi + 0x7c]
mulss xmm1, xmm0
movss dword [esi + 0x28], xmm1
movss xmm0, dword [edi + 0x60]
movss xmm1, dword [edi + 0x64]
cvtss2sd xmm0, xmm0
cvtss2sd xmm1, xmm1
movsd qword [esp + 8], xmm0
movsd qword [esp], xmm1
call sub.api_ms_win_crt_math_l1_1_0.dll_atan2
fstp dword [esi + 0x78]
movss xmm0, dword [esi + 0x20]
mulss xmm0, dword [esi + 0x78]
movss dword [esi + 0x20], xmm0
movss xmm0, dword [esi + 0x28]
movss dword [esp], xmm0
mov dword [esp + 4], 0x43b40000
mov dword [esi + 0x28], ebx
mov ebx, dword [sym.imp.api_ms_win_crt_math_l1_1_0.dll_remainderf]
call ebx
fstp dword [esi + 0x74]
movss xmm0, dword [esi + 0x74]
movss dword [esi + 0x2c], xmm0
movss xmm0, dword [esi + 0x20]
movss dword [esp], xmm0
mov dword [esp + 4], 0x43b40000
call ebx
fstp dword [esi + 0x70]
movss xmm0, dword [esi + 0x2c]
subss xmm0, dword [esi + 0x70]
movss dword [esp], xmm0
mov dword [esp + 4], 0x43b40000
call ebx
mov ebx, dword [esi + 0x28]
movaps xmm4, xmmword [esi + 0xb0]
movss xmm3, dword [0x101a7280]
xorps xmm2, xmm2
mov edx, edi
mov edi, dword [ebp + 0x10]
fstp dword [esi + 0x6c]
movss xmm0, dword [esi + 0x6c]
andps xmm0, xmmword [0x101a87c0]
movss xmm1, dword [0x101a89bc]
ucomiss xmm1, xmm0
seta al
jmp 0x100a96c4
mov dword [edx + 0x20], 7
jmp 0x100a909a
mov edx, ebx
movss xmm1, dword [0x101b09e4]
ucomiss xmm1, xmm0
mov edi, dword [ebp + 0x10]
jbe 0x100a966c
mov dword [edx + 0x1c], 1
mov dword [edx + 0x18], 2
mov dword [edx + 0x20], 8
mov eax, dword [ebp + 8]
mov dword [eax + 0x303c], 1
jmp 0x100a909a
mov dword [edx + 0x20], 0xb
jmp 0x100a909a
mov dword [edx + 0x20], 0xc
jmp 0x100a909a
cmp dword [edx + 0x18], 0
mov ecx, dword [ebp + 8]
je 0x100a9682
cmp dword [ecx + 0x303c], 2
jne 0x100a909a
cmp byte [ecx + 0x302e], 0
je 0x100a98b2
cmp dword [ecx + 0x3038], 0
je 0x100a909a
mov dword [edx + 0x1c], 4
mov eax, dword [ecx + 0x3038]
mov dword [edx + 0x18], eax
mov dword [edx + 0x20], 0xa
mov dword [ecx + 0x303c], 2
jmp 0x100a909a
xor eax, eax
test ebx, ebx
je 0x100a96f8
movss xmm0, dword [edi + 0x350]
movss xmm1, dword [edx + 0x350]
unpcklps xmm1, xmm0
mulps xmm1, xmmword [0x101b09f0]
cvttps2dq xmm0, xmm1
pshufd xmm1, xmm0, 0x55
pcmpeqd xmm1, xmm0
movd ecx, xmm1
test cl, 1
je 0x100a9725
movss xmm0, dword [edi + 0x200]
movss xmm1, dword [edx + 0x200]
unpcklps xmm1, xmm0
mulps xmm1, xmmword [0x101b09f0]
cvttps2dq xmm0, xmm1
pshufd xmm1, xmm0, 0x55
pcmpeqd xmm1, xmm0
movd ecx, xmm1
jmp 0x100a9727
xor ecx, ecx
mov edi, edx
test byte [esi + 0x24], 1
je 0x100a9749
cmpltps xmm2, xmm4
cmpltps xmm4, xmm3
andps xmm4, xmm2
movd edx, xmm4
test ebx, ebx
sete bl
and dl, al
or dl, bl
jmp 0x100a974b
xor edx, edx
or cl, dl
test cl, 1
je 0x100a9817
mov ebx, edi
movss xmm0, dword [edi + 0x4c]
movss xmm1, dword [edi + 0x998c]
movss dword [esi + 0x24], xmm1
movss dword [esp], xmm0
mov dword [esp + 4], 0x43b40000
mov edi, dword [sym.imp.api_ms_win_crt_math_l1_1_0.dll_remainderf]
call edi
fstp dword [esi + 0x68]
movss xmm0, dword [esi + 0x68]
movss dword [esi + 0x20], xmm0
movss xmm0, dword [esi + 0x24]
movss dword [esp], xmm0
mov dword [esp + 4], 0x43b40000
call edi
fstp dword [esi + 0x64]
movss xmm0, dword [esi + 0x20]
subss xmm0, dword [esi + 0x64]
movss dword [esp], xmm0
mov dword [esp + 4], 0x43b40000
call edi
mov edx, ebx
fstp dword [esi + 0x60]
xorps xmm0, xmm0
ucomiss xmm0, dword [esi + 0x60]
mov ecx, dword [ebp + 8]
seta byte [ecx + 0x302f]
movss xmm0, dword [ebx + 0x208]
movss dword [ecx + 0x10], xmm0
movss xmm1, dword [ebx + 0x6828]
movss dword [ecx + 0x14], xmm1
movss xmm3, dword [ebx + 0x9b08]
movss dword [ecx + 0x18], xmm3
movss xmm2, dword [ebx + 0x3548]
movss dword [ecx + 0x1c], xmm2
jbe 0x100a9828
movss dword [ecx + 0x14], xmm3
movss dword [ecx + 0x18], xmm1
movaps xmm4, xmm1
jmp 0x100a982e
mov edx, edi
mov dword [edi + 0x20], 0xd
mov edi, dword [ebp + 0x10]
jmp 0x100a909a
movaps xmm4, xmm3
movaps xmm3, xmm1
mov edi, dword [ebp + 0x10]
movaps xmm1, xmm0
subss xmm1, xmm3
movaps xmm3, xmmword [0x101a87c0]
andps xmm1, xmm3
shufps xmm0, xmm0, 0
unpcklps xmm2, xmm4
subps xmm0, xmm2
andps xmm0, xmm3
pshufd xmm2, xmm0, 0x55
ucomiss xmm2, xmm0
ja 0x100a9872
ucomiss xmm2, xmm1
ja 0x100a9872
movss xmm3, dword [0x101a8dc0]
mulss xmm3, xmm2
cvttss2si eax, xmm3
test eax, eax
je 0x100a98be
ucomiss xmm0, xmm1
jbe 0x100a909a
ucomiss xmm2, xmm1
jbe 0x100a909a
mulss xmm1, dword [0x101a8dc0]
cvttss2si eax, xmm1
test eax, eax
jne 0x100a909a
mov dword [edx + 0x1c], 1
mov dword [ecx + 0x3034], 2
mov dword [edx + 0x18], 2
jmp 0x100a98d6
mov dword [edx + 0x20], 9
jmp 0x100a909a
mov dword [edx + 0x1c], 1
mov dword [ecx + 0x3034], 1
mov dword [edx + 0x18], 1
mov dword [edx + 0x20], 0xe
mov dword [ecx + 0x303c], 3
jmp 0x100a909a
mov dword [esi + 0x2c], ecx
or eax, 1
mov dword [0x1025f68c], eax
mov eax, dword [0x10259d5c]
mov dword [esi + 0x28], eax
mov eax, 0x626220d6
mov ecx, 0x4f5f2104
mov dword [esi + 0x34], ecx
mov dword [esi + 0x30], eax
mov ecx, 0x1f7d641c
mov eax, 0x8f34381f
mov edx, 0x8f34381f
mov dword [esi + 0x3c], edx
mov dword [esi + 0x38], ecx
mov ecx, 0xd2f7fbb
mov edx, 0x360b4472
mov dword [esi + 0xc4], edx
mov dword [esi + 0xc0], ecx
mov ecx, 0x1f7d016c
mov dword [esi + 0xcc], eax
mov dword [esi + 0xc8], ecx
lea eax, [esi + 0xc0]
xor ecx, ecx
movaps xmm0, xmmword [esi + 0x30]
xorps xmm0, xmmword [eax]
movaps xmmword [esi + 0x30], xmm0
mov dword [esi + 0xe8], 0
lea eax, [esi + 0x30]
mov dword [esp], eax
lea ecx, [esi + 0x98]
mov dword [esi + 0x20], ecx
call fcn.10015240
sub esp, 4
mov eax, dword [esi + 0xa8]
mov dword [esi + 0x24], eax
cmp dword [esi + 0xac], 0x10
jb 0x100a999a
mov eax, dword [esi + 0x98]
mov dword [esi + 0x20], eax
cmp dword [esi + 0x24], 0
je 0x100a99bc
mov eax, dword [esi + 0x24]
mov ecx, eax
and ecx, 3
mov dword [esi + 0xb0], ecx
cmp eax, 4
jae 0x100a99c3
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x100a9a0d
mov ecx, 0x811c9dc5
jmp 0x100a9a30
mov edi, dword [esi + 0x24]
and edi, 0xfffffffc
mov ecx, 0x811c9dc5
xor edx, edx
mov eax, dword [esi + 0x20]
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 0x100a99d3
cmp dword [esi + 0xb0], 0
je 0x100a9a30
add edx, dword [esi + 0x20]
xor edi, edi
movzx ebx, byte [edx + edi]
xor ebx, ecx
imul ecx, ebx, 0x1000193
inc edi
cmp dword [esi + 0xb0], edi
jne 0x100a9a1b
mov edx, dword [esi + 0x28]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov ebx, dword [eax + ecx*8 + 4]
cmp ebx, dword [edx + 4]
je 0x100a9aa2
add ecx, ecx
mov edi, dword [eax + ecx*4]
mov eax, dword [esi + 0x24]
cmp eax, dword [ebx + 0x18]
jne 0x100a9a77
cmp dword [ebx + 0x1c], 0x10
jb 0x100a9a5a
mov eax, dword [ebx + 8]
jmp 0x100a9a5d
lea eax, [ebx + 8]
mov ecx, dword [esi + 0x24]
mov dword [esp + 8], ecx
mov dword [esp + 4], eax
mov eax, dword [esi + 0x20]
mov dword [esp], eax
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x100a9a80
cmp ebx, edi
je 0x100a9aa2
mov ebx, dword [ebx + 4]
jmp 0x100a9a47
add ebx, 0x20
lea ecx, [esi + 0x98]
call fcn.10014f60
mov dword [0x1025f688], ebx
mov edx, dword [ebp + 0xc]
mov edi, dword [ebp + 0x10]
mov ecx, dword [esi + 0x2c]
jmp 0x100a9072
mov dword [esi + 0xe8], 1
mov dword [esp], str.invalid_unordered_map_K__T__key
call sub.MSVCP140.dll_void___cdecl_std::_Xout_of_range_char_const__
nop dword [eax + eax]
push ebp
sub esp, 0x1c
lea esi, [ebp - 0xec]
mov ebp, dword [esi + 0xd8]
lea ecx, [esi + 0x98]
call fcn.10014f60
add esp, 0x1c
pop ebp
ret