Function at 0x10012470
Capabilities:
Hash data using fnv

Disassembly:
sub esp, 0x24
push ebx
mov ebx, ecx
mov ecx, dword [0x1023d1cc]
push ebp
push esi
push edi
mov eax, dword [ecx]
mov eax, dword [eax + 0x6c]
call eax
test al, al
je 0x10012704
mov ecx, dword [0x1023d1cc]
mov eax, dword [ecx]
mov eax, dword [eax + 0x68]
call eax
test al, al
je 0x10012704
mov edi, dword [0x1023d288]
test edi, edi
je 0x10012704
mov eax, dword [0x1023d284]
test eax, eax
jne 0x100124e8
mov edx, 0xe80c2f78
mov ecx, 0x1021170d
call fcn.100050d0
mov edx, 0xc10bf213
mov ecx, 0x10211635
mov esi, eax
call fcn.100050d0
mov edx, esi
mov ecx, eax
call fcn.1011f760
mov dword [0x1023d284], eax
cmp dword [eax + edi], 0
jle 0x10012704
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 4]
mov ecx, eax
mov al, byte [ecx]
test al, al
jne 0x10012508
mov esi, 0x811c9dc5
jmp 0x1001251e
movsx eax, al
inc ecx
xor eax, 0x811c9dc5
imul edx, eax, 0x1000193
call fcn.100050d0
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 [0x1023d1cc]
push eax
mov edx, dword [ecx]
mov edx, dword [edx + 0x24]
call edx
mov ecx, dword [0x1023d20c]
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 [0x1023d1cc]
push eax
mov edx, dword [ecx]
mov edx, dword [edx + 0x24]
call edx
mov ecx, dword [0x1023d20c]
push eax
mov edx, dword [ecx]
mov edx, dword [edx + 0xc]
call edx
test ebp, ebp
je 0x10012704
test eax, eax
je 0x10012704
test esi, esi
je 0x10012704
cmp esi, 0xa6abe875
jne 0x10012704
mov edi, dword [0x1023d288]
cmp ebp, edi
jne 0x10012704
cmp eax, edi
je 0x10012704
cmp byte [0x1027333d], 0
je 0x100126a1
mov esi, 0x102370c8
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 0x100125f0
sub esi, ecx
push esi
push 0x102370c8
cmp esi, 0xb
ja 0x10012623
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 0x10012633
push dword [esp + 0x1c]
lea ecx, [esp + 0x24]
push esi
call fcn.10004b40
mov edx, eax
cmp dword [edx + 0x14], 0xf
jbe 0x1001263b
mov edx, dword [edx]
mov ecx, dword [0x1023d1cc]
push 0
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 0x1c8]
call eax
mov ecx, dword [esp + 0x2c]
cmp ecx, 0xf
jbe 0x10012686
mov edx, dword [esp + 0x18]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1001267c
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x1001267c
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.10183618
add esp, 8
mov edi, dword [0x1023d288]
mov dword [esp + 0x28], 0
mov dword [esp + 0x2c], 0xf
mov byte [esp + 0x18], 0
cmp byte [0x10273350], 0
je 0x10012704
mov eax, dword [0x1023d214]
movss xmm0, dword [eax + 0x10]
addss xmm0, dword [0x1022f958]
mov eax, dword [0x10273364]
movss dword [esp + 0x14], xmm0
test eax, eax
jne 0x100126ff
mov edx, 0xe80c2f78
mov ecx, 0x10211a81
call fcn.100050d0
mov edx, 0xc10bf213
mov ecx, 0x10211635
mov esi, eax
call fcn.100050d0
mov edx, esi
mov ecx, eax
call fcn.1011f760
movss xmm0, dword [esp + 0x14]
mov dword [0x10273364], eax
movss dword [eax + edi], xmm0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x24
ret