Function at 0x100e23f0
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x101474ee
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ebx
sub esp, 0x40
push esi
mov dword [ebp - 0x14], ecx
mov edx, 0xe80c2f78
push edi
mov edi, dword [0x101e671c]
mov ecx, 0x10170e2d
call fcn.100074c0
mov edx, 0xc10bf213
mov ecx, 0x10170861
mov esi, eax
call fcn.100074c0
push esi
push eax
call fcn.100fc040
mov ecx, dword [0x101e66e4]
mov edx, dword [eax + edi]
mov eax, dword [ecx]
and edx, 0xfff
push edx
mov eax, dword [eax + 0xc]
call eax
test eax, eax
je 0x100e299d
mov eax, dword [0x101edf24]
test eax, eax
jne 0x100e24a5
mov edx, 0xe80c2f78
mov ecx, 0x10171331
call fcn.100074c0
mov edx, 0xc10bf213
mov ecx, 0x10170ee5
mov esi, eax
call fcn.100074c0
push esi
push eax
call fcn.100fc040
mov dword [0x101edf24], eax
mov edi, dword [ebx + 8]
mov dword [eax + edi], 0xffffffff
mov eax, dword [0x101edfec]
test eax, eax
jne 0x100e24e4
mov edx, 0xe80c2f78
mov ecx, 0x10172389
call fcn.100074c0
mov edx, 0xc10bf213
mov ecx, 0x10170ee5
mov esi, eax
call fcn.100074c0
push esi
push eax
call fcn.100fc040
mov dword [0x101edfec], eax
mov esi, dword [ebx + 0xc]
mov ecx, dword [ebx + 0x10]
mov dword [eax + edi], ecx
cmp byte [esi], 0
je 0x100e2539
mov eax, dword [0x101ee004]
test eax, eax
jne 0x100e252a
mov edx, 0xe80c2f78
mov ecx, 0x10172399
call fcn.100074c0
mov edx, 0xc10bf213
mov ecx, 0x10170ee5
mov esi, eax
call fcn.100074c0
push esi
push eax
call fcn.100fc040
mov esi, dword [ebx + 0xc]
mov dword [0x101ee004], eax
push esi
add eax, edi
push 0x20
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strcpy_s]
add esp, 0xc
mov eax, dword [esi + 0x2c]
mov dword [ebp - 0x20], eax
test eax, eax
je 0x100e2581
mov eax, dword [0x101edf18]
test eax, eax
jne 0x100e257b
mov edx, 0xe80c2f78
mov ecx, 0x10171365
call fcn.100074c0
mov edx, 0xc10bf213
mov ecx, 0x10170ee5
mov esi, eax
call fcn.100074c0
push esi
push eax
call fcn.100fc040
mov esi, dword [ebx + 0xc]
mov dword [0x101edf18], eax
mov ecx, dword [ebp - 0x20]
mov dword [eax + edi], ecx
mov eax, dword [esi + 0x38]
mov dword [ebp - 0x20], eax
test eax, eax
je 0x100e25c9
mov eax, dword [0x101edf2c]
test eax, eax
jne 0x100e25c3
mov edx, 0xe80c2f78
mov ecx, 0x10171355
call fcn.100074c0
mov edx, 0xc10bf213
mov ecx, 0x10170ee5
mov esi, eax
call fcn.100074c0
push esi
push eax
call fcn.100fc040
mov esi, dword [ebx + 0xc]
mov dword [0x101edf2c], eax
mov ecx, dword [ebp - 0x20]
mov dword [eax + edi], ecx
mov eax, dword [esi + 0x40]
mov dword [ebp - 0x20], eax
add eax, 1
je 0x100e25e6
cmp byte [esi + 0x3c], 0
je 0x100e25e6
mov ecx, edi
call fcn.1000df90
mov ecx, dword [ebp - 0x20]
mov dword [eax], ecx
movss xmm0, dword [esi + 0x44]
mov eax, dword [0x101edf1c]
movss dword [ebp - 0x20], xmm0
cvtps2pd xmm0, xmm0
comisd xmm0, xmmword [0x1017f180]
jbe 0x100e263e
test eax, eax
jne 0x100e2632
mov edx, 0xe80c2f78
mov ecx, 0x1017138d
call fcn.100074c0
mov edx, 0xc10bf213
mov ecx, 0x10170ee5
mov esi, eax
call fcn.100074c0
push esi
push eax
call fcn.100fc040
mov dword [0x101edf1c], eax
movss xmm0, dword [ebp - 0x20]
movss dword [eax + edi], xmm0
jmp 0x100e2675
test eax, eax
jne 0x100e266e
mov edx, 0xe80c2f78
mov ecx, 0x1017138d
call fcn.100074c0
mov edx, 0xc10bf213
mov ecx, 0x10170ee5
mov esi, eax
call fcn.100074c0
push esi
push eax
call fcn.100fc040
mov dword [0x101edf1c], eax
mov dword [eax + edi], 0
mov eax, dword [0x101edf28]
test eax, eax
jne 0x100e26aa
mov edx, 0xe80c2f78
mov ecx, 0x10170ecd
call fcn.100074c0
mov edx, 0xc10bf213
mov ecx, 0x10170ee5
mov esi, eax
call fcn.100074c0
push esi
push eax
call fcn.100fc040
mov dword [0x101edf28], eax
mov esi, dword [ebx + 0xc]
mov edx, dword [ebp - 0x14]
mov ecx, dword [esi + 0x34]
movzx edi, cx
mov dword [ebp - 0x28], edi
mov edi, dword [ebx + 8]
test ecx, ecx
je 0x100e298b
movzx eax, word [eax + edi]
mov dword [ebp - 0x18], eax
cwde
cmp ecx, eax
je 0x100e298b
mov dword [ebp - 0x20], ecx
lea ecx, [ebp - 0x20]
push ecx
lea ecx, [ebp - 0x34]
push ecx
lea ecx, [edx + 4]
call fcn.10013700
mov ecx, dword [eax + 8]
cmp byte [ecx + 0xd], 0
jne 0x100e298b
mov eax, dword [esi + 0x34]
cmp eax, dword [ecx + 0x10]
jb 0x100e298b
mov eax, dword [ebp - 0x18]
movzx ecx, ax
mov eax, dword [0x101edf28]
mov dword [ebp - 0x2c], ecx
mov ecx, dword [ebp - 0x28]
mov word [eax + edi], cx
mov eax, dword [esi + 0x34]
mov ecx, dword [ebp - 0x14]
mov dword [ebp - 0x28], eax
lea eax, [ebp - 0x28]
push eax
lea ecx, [ecx + 4]
call fcn.10014310
mov ecx, dword [0x101e66ec]
mov dword [ebp - 0x20], eax
push dword [eax]
mov esi, dword [ecx]
mov esi, dword [esi + 8]
call esi
mov dword [ebp - 0x28], eax
mov eax, dword [0x101ee030]
test eax, eax
jne 0x100e2774
mov edx, 0xe80c2f78
mov ecx, 0x10172379
call fcn.100074c0
mov edx, 0xc10bf213
mov ecx, 0x10170e75
mov esi, eax
call fcn.100074c0
push esi
push eax
call fcn.100fc040
mov dword [0x101ee030], eax
mov ecx, dword [ebp - 0x28]
mov edx, dword [ebp - 0x20]
mov dword [eax + edi], ecx
mov ecx, dword [0x101e66ec]
push dword [edx]
mov eax, dword [ecx]
mov eax, dword [eax + 8]
call eax
mov ecx, dword [edi]
push eax
mov edx, dword [ecx + 0x12c]
mov ecx, edi
call edx
mov eax, dword [edi]
mov ecx, edi
mov eax, dword [eax + 0x10]
call eax
push 0
mov ecx, dword [eax]
mov edx, dword [ecx + 0x18]
mov ecx, eax
call edx
cmp word [ebp - 0x2c], 0
je 0x100e299d
mov ecx, dword [ebp - 0x18]
mov esi, dword [ebp - 0x14]
movsx eax, cx
mov dword [ebp - 0x2c], eax
lea eax, [ebp - 0x2c]
push eax
lea ecx, [esi + 4]
call fcn.10014350
test eax, eax
je 0x100e299d
mov ecx, dword [ebp - 0x18]
movsx eax, cx
lea ecx, [esi + 4]
mov dword [ebp - 0x2c], eax
lea eax, [ebp - 0x2c]
push eax
call fcn.10014310
mov dword [ebp - 0x2c], eax
cmp dword [eax + 4], 0
je 0x100e299d
mov esi, dword [ebp - 0x20]
cmp dword [esi + 4], 0
je 0x100e299d
mov ecx, edi
call fcn.1000df10
lea ecx, [ebp - 0x4c]
mov dword [eax], 3
mov eax, dword [esi + 4]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x2c]
push dword [eax + 4]
call fcn.10002e90
mov dword [ebp - 4], 0
lea edx, [ebp - 0x4c]
cmp dword [ebp - 0x38], 0xf
mov esi, 0x811c9dc5
mov edi, dword [ebp - 0x3c]
cmova edx, dword [ebp - 0x4c]
xor ecx, ecx
test edi, edi
je 0x100e2859
movzx eax, byte [ecx + edx]
inc ecx
xor eax, esi
imul esi, eax, 0x1000193
cmp ecx, edi
jb 0x100e2848
mov edi, dword [ebp - 0x14]
lea eax, [ebp - 0x4c]
push esi
push eax
lea eax, [ebp - 0x24]
add edi, 0x88
push eax
mov ecx, edi
call fcn.10010ff0
mov eax, dword [ebp - 0x20]
test eax, eax
jne 0x100e2976
cmp dword [edi + 8], 0x4924924
jne 0x100e2891
push str.unordered_map_set_too_long
call dword [sym.imp.MSVCP140.dll_void___cdecl_std::_Xlength_error_char_const__]
lea eax, [edi + 4]
mov dword [ebp - 0x30], eax
mov byte [ebp - 4], 1
push 0x38
mov dword [ebp - 0x2c], 0
call fcn.1006cc8f
xorps xmm0, xmm0
mov dword [ebp - 0x2c], eax
add esp, 4
movups xmmword [eax + 8], xmm0
mov dword [eax + 0x18], 0
mov dword [eax + 0x1c], 0
movups xmm0, xmmword [ebp - 0x4c]
movups xmmword [eax + 8], xmm0
movq xmm0, qword [ebp - 0x3c]
movq qword [eax + 0x18], xmm0
xorps xmm0, xmm0
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x38], 0xf
mov byte [ebp - 0x4c], 0
movups xmmword [eax + 0x20], xmm0
mov dword [eax + 0x30], 0
mov dword [eax + 0x34], 0xf
mov byte [eax + 0x20], 0
mov byte [ebp - 4], 2
mov eax, dword [edi + 8]
inc eax
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x1017f9d0]
mov eax, dword [edi + 0x1c]
cvtpd2ps xmm1, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x1017f9d0]
cvtpd2ps xmm0, xmm0
divss xmm1, xmm0
comiss xmm1, dword [edi]
jbe 0x100e2963
mov ecx, edi
call fcn.10011860
mov eax, dword [ebp - 0x2c]
mov ecx, edi
push esi
add eax, 8
push eax
lea eax, [ebp - 0x1c]
push eax
call fcn.10010ff0
mov ecx, dword [eax]
jmp 0x100e2966
mov ecx, dword [ebp - 0x24]
push dword [ebp - 0x2c]
push ecx
push esi
mov ecx, edi
call fcn.1000c1a0
mov byte [ebp - 4], 0
push dword [ebp - 0x28]
lea ecx, [eax + 0x20]
call fcn.10002e10
lea ecx, [ebp - 0x4c]
call fcn.10002e40
jmp 0x100e299d
mov eax, dword [0x101edf28]
mov ecx, dword [ebp - 0x14]
movsx eax, word [eax + edi]
push eax
call fcn.100e29c0
mov ecx, dword [ebp - 0xc]
pop edi
mov dword fs:[0], ecx
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 0xc