Function at 0x10063ce0
Capabilities:
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1c
mov eax, edx
mov dword [ebp - 0xc], ecx
push ebx
mov ebx, dword [sym.imp.WS2_32.dll_htonl]
push esi
mov esi, dword [eax]
push edi
mov dword [ebp - 0x14], eax
mov dword [ebp - 8], esi
cmp esi, dword [esi]
je 0x10063e2a
mov di, word [ebp + 0xc]
nop dword [eax + eax]
lea ecx, [ebp - 4]
mov dword [ebp - 4], esi
call fcn.100654c0
mov eax, dword [ebp - 4]
mov ecx, 0x20
sub ecx, dword [eax + 0x10]
or eax, 0xffffffff
shl eax, cl
push eax
call ebx
mov ebx, eax
mov dword [ebp - 4], esi
and ebx, dword [ebp + 8]
lea ecx, [ebp - 4]
mov dword [ebp - 0x10], ebx
call fcn.100654c0
movzx eax, bl
xor eax, 0x811c9dc5
mov edx, dword [ebp - 4]
imul ecx, eax, 0x1000193
add edx, 0x14
mov eax, ebx
mov dword [ebp - 4], edx
shr eax, 8
movzx eax, al
xor ecx, eax
mov eax, ebx
shr eax, 0x10
imul ecx, ecx, 0x1000193
movzx eax, al
shr ebx, 0x18
xor ecx, eax
imul eax, ecx, 0x1000193
mov ecx, edx
xor eax, ebx
imul eax, eax, 0x1000193
push eax
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0x1c]
push eax
call fcn.10069370
mov ebx, dword [eax + 4]
test ebx, ebx
jne 0x10063da0
mov ebx, dword [ebp - 4]
mov ebx, dword [ebx + 4]
lea ecx, [ebp - 4]
mov dword [ebp - 4], esi
call fcn.100654c0
mov eax, dword [ebp - 4]
cmp ebx, dword [eax + 0x18]
je 0x10063e09
mov ecx, dword [ebx + 0x10]
test di, di
jne 0x10063deb
sub ecx, dword [ebx + 0xc]
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x10063e09
mov eax, dword [ebx + 0x10]
sub eax, 0x1c
cmp word [eax + 0x18], di
jne 0x10063e09
cmp word [eax + 0x1a], di
je 0x10063f03
jmp 0x10063e09
mov eax, dword [ebx + 0xc]
cmp eax, ecx
je 0x10063e09
cmp word [eax + 0x18], di
ja 0x10063e02
cmp di, word [eax + 0x1a]
jbe 0x10063f03
add eax, 0x1c
cmp eax, ecx
jne 0x10063df2
lea ecx, [ebp - 8]
call fcn.100654c0
mov ecx, dword [ebp - 0x14]
mov esi, dword [ebp - 8]
mov ebx, dword [sym.imp.WS2_32.dll_htonl]
mov eax, dword [ecx]
cmp esi, dword [eax]
jne 0x10063d10
mov ecx, dword [ebp - 0xc]
mov esi, dword [ecx]
mov dword [ebp - 4], esi
cmp esi, dword [esi]
je 0x10063f01
nop word [eax + eax]
lea ecx, [ebp - 8]
mov dword [ebp - 8], esi
call fcn.100654c0
mov eax, dword [ebp - 8]
mov ecx, 0x20
sub ecx, dword [eax + 0x10]
or eax, 0xffffffff
shl eax, cl
push eax
call ebx
mov ebx, eax
mov dword [ebp - 8], esi
and ebx, dword [ebp + 8]
lea ecx, [ebp - 8]
mov dword [ebp - 0x14], ebx
call fcn.100654c0
movzx eax, bl
xor eax, 0x811c9dc5
mov edx, dword [ebp - 8]
imul ecx, eax, 0x1000193
add edx, 0x14
mov eax, ebx
mov dword [ebp - 0x10], edx
shr eax, 8
movzx eax, al
xor ecx, eax
mov eax, ebx
shr eax, 0x10
imul ecx, ecx, 0x1000193
movzx eax, al
shr ebx, 0x18
xor ecx, eax
imul eax, ecx, 0x1000193
mov ecx, edx
xor eax, ebx
imul eax, eax, 0x1000193
push eax
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x1c]
push eax
call fcn.10069370
mov edi, dword [eax + 4]
test edi, edi
jne 0x10063ed0
mov edi, dword [ebp - 0x10]
mov edi, dword [edi + 4]
lea ecx, [ebp - 8]
mov dword [ebp - 8], esi
call fcn.100654c0
mov eax, dword [ebp - 8]
cmp edi, dword [eax + 0x18]
jne 0x10063f0a
lea ecx, [ebp - 4]
call fcn.100654c0
mov ecx, dword [ebp - 0xc]
mov esi, dword [ebp - 4]
mov ebx, dword [sym.imp.WS2_32.dll_htonl]
mov eax, dword [ecx]
cmp esi, dword [eax]
jne 0x10063e40
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
lea eax, [edi + 0xc]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret