Function at 0x1000f4e0
Capabilities:
Hash data using fnv

Disassembly:
sub esp, 0x24
push ebx
mov ebx, ecx
mov ecx, dword [0x101bf77c]
push ebp
push esi
push edi
mov eax, dword [ecx]
mov eax, dword [eax + 0x6c]
call eax
test al, al
je 0x1000f774
mov ecx, dword [0x101bf77c]
mov eax, dword [ecx]
mov eax, dword [eax + 0x68]
call eax
test al, al
je 0x1000f774
mov edi, dword [0x101f565c]
test edi, edi
je 0x1000f774
mov eax, dword [0x101f5658]
test eax, eax
jne 0x1000f558
mov edx, 0xe80c2f78
mov ecx, 0x1014a9e5
call fcn.10003700
mov edx, 0xc10bf213
mov ecx, 0x1014a90d
mov esi, eax
call fcn.10003700
mov edx, esi
mov ecx, eax
call fcn.100aa660
mov dword [0x101f5658], eax
cmp dword [eax + edi], 0
jle 0x1000f774
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 4]
mov ecx, eax
mov al, byte [ecx]
test al, al
jne 0x1000f578
mov esi, 0x811c9dc5
jmp 0x1000f58e
movsx eax, al
inc ecx
xor eax, 0x811c9dc5
imul edx, eax, 0x1000193
call fcn.10003700
mov esi, eax
mov ecx, dword [ebx]
push 0
push str.attacker
mov edx, dword [ecx + 0x18]
mov ecx, ebx
call edx
mov ecx, dword [0x101bf77c]
push eax
mov edx, dword [ecx]
mov edx, dword [edx + 0x24]
call edx
mov ecx, dword [0x101f55e0]
push eax
mov edx, dword [ecx]
mov edx, dword [edx + 0xc]
call edx
mov ecx, dword [ebx]
mov ebp, eax
push 0
push str.userid
mov edx, dword [ecx + 0x18]
mov ecx, ebx
call edx
mov ecx, dword [0x101bf77c]
push eax
mov edx, dword [ecx]
mov edx, dword [edx + 0x24]
call edx
mov ecx, dword [0x101f55e0]
push eax
mov edx, dword [ecx]
mov edx, dword [edx + 0xc]
call edx
test ebp, ebp
je 0x1000f774
test eax, eax
je 0x1000f774
test esi, esi
je 0x1000f774
cmp esi, 0xa6abe875
jne 0x1000f774
mov edi, dword [0x101f565c]
cmp ebp, edi
jne 0x1000f774
cmp eax, edi
je 0x1000f774
cmp byte [0x101f5741], 0
je 0x1000f711
mov esi, str.Hello_World_
mov dword [esp + 0x28], 4
xorps xmm0, xmm0
mov dword [esp + 0x2c], 0xf
movups xmmword [esp + 0x18], xmm0
mov dword [esp + 0x18], 0x20796173
mov byte [esp + 0x1c], 0
lea ecx, [esi + 1]
nop dword [eax]
mov al, byte [esi]
inc esi
test al, al
jne 0x1000f660
sub esi, ecx
push esi
push str.Hello_World_
cmp esi, 0xb
ja 0x1000f693
lea eax, [esi + 4]
mov dword [esp + 0x30], eax
lea eax, [esp + 0x24]
push eax
call sub.VCRUNTIME140.dll_memmove
add esp, 0xc
mov byte [esp + esi + 0x1c], 0
lea edx, [esp + 0x18]
jmp 0x1000f6a3
push dword [esp + 0x1c]
lea ecx, [esp + 0x24]
push esi
call fcn.10003490
mov edx, eax
cmp dword [edx + 0x14], 0xf
jbe 0x1000f6ab
mov edx, dword [edx]
mov ecx, dword [0x101bf77c]
push 0
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 0x1c8]
call eax
mov ecx, dword [esp + 0x2c]
cmp ecx, 0xf
jbe 0x1000f6f6
mov edx, dword [esp + 0x18]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1000f6ec
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x1000f6ec
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.1010e562
add esp, 8
mov edi, dword [0x101f565c]
mov dword [esp + 0x28], 0
mov dword [esp + 0x2c], 0xf
mov byte [esp + 0x18], 0
cmp byte [0x101f5852], 0
je 0x1000f774
mov eax, dword [0x101f55e8]
movss xmm0, dword [eax + 0x10]
addss xmm0, dword [0x101b6378]
mov eax, dword [0x101f5854]
movss dword [esp + 0x14], xmm0
test eax, eax
jne 0x1000f76f
mov edx, 0xe80c2f78
mov ecx, 0x101969c9
call fcn.10003700
mov edx, 0xc10bf213
mov ecx, 0x1014a90d
mov esi, eax
call fcn.10003700
mov edx, esi
mov ecx, eax
call fcn.100aa660
movss xmm0, dword [esp + 0x14]
mov dword [0x101f5854], eax
movss dword [eax + edi], xmm0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x24
ret