Function at 0x42ed30
Capabilities:
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x20
mov eax, dword [0x501040]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, edx
mov dword [ebp - 0x18], 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 - 0xc], esi
cmp esi, dword [esi]
je 0x42ee7c
mov di, word [ebp + 0xc]
lea ecx, [ebp - 8]
mov dword [ebp - 8], esi
call fcn.004301c0
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 - 0x10], ebx
call fcn.004301c0
mov eax, ebx
mov edx, dword [ebp - 8]
shr eax, 8
add edx, 0x14
movzx ecx, al
movzx eax, bl
xor eax, 0x811c9dc5
mov dword [ebp - 8], edx
imul eax, eax, 0x1000193
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 - 0x20]
push eax
call fcn.0041d420
mov ebx, dword [eax + 4]
test ebx, ebx
jne 0x42edf2
mov ebx, dword [ebp - 8]
mov ebx, dword [ebx + 4]
lea ecx, [ebp - 8]
mov dword [ebp - 8], esi
call fcn.004301c0
mov eax, dword [ebp - 8]
cmp ebx, dword [eax + 0x18]
je 0x42ee5b
mov ecx, dword [ebx + 0x10]
test di, di
jne 0x42ee3d
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 0x42ee5b
mov eax, dword [ebx + 0x10]
sub eax, 0x1c
cmp word [eax + 0x18], di
jne 0x42ee5b
cmp word [eax + 0x1a], di
je 0x42ef53
jmp 0x42ee5b
mov eax, dword [ebx + 0xc]
cmp eax, ecx
je 0x42ee5b
cmp word [eax + 0x18], di
ja 0x42ee54
cmp di, word [eax + 0x1a]
jbe 0x42ef53
add eax, 0x1c
cmp eax, ecx
jne 0x42ee44
lea ecx, [ebp - 0xc]
call fcn.004301c0
mov ecx, dword [ebp - 0x14]
mov esi, dword [ebp - 0xc]
mov ebx, dword [sym.imp.WS2_32.dll_htonl]
mov eax, dword [ecx]
cmp esi, dword [eax]
jne 0x42ed62
mov ecx, dword [ebp - 0x18]
mov esi, dword [ecx]
mov dword [ebp - 8], esi
cmp esi, dword [esi]
je 0x42ef51
nop dword [eax]
lea ecx, [ebp - 0xc]
mov dword [ebp - 0xc], esi
call fcn.004301c0
mov eax, dword [ebp - 0xc]
mov ecx, 0x20
sub ecx, dword [eax + 0x10]
or eax, 0xffffffff
shl eax, cl
push eax
call ebx
mov ebx, eax
mov dword [ebp - 0xc], esi
and ebx, dword [ebp + 8]
lea ecx, [ebp - 0xc]
mov dword [ebp - 0x14], ebx
call fcn.004301c0
mov eax, ebx
mov edx, dword [ebp - 0xc]
shr eax, 8
add edx, 0x14
movzx ecx, al
movzx eax, bl
xor eax, 0x811c9dc5
mov dword [ebp - 0x10], edx
imul eax, eax, 0x1000193
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 - 0x20]
push eax
call fcn.0041d420
mov edi, dword [eax + 4]
test edi, edi
jne 0x42ef20
mov edi, dword [ebp - 0x10]
mov edi, dword [edi + 4]
lea ecx, [ebp - 0xc]
mov dword [ebp - 0xc], esi
call fcn.004301c0
mov eax, dword [ebp - 0xc]
cmp edi, dword [eax + 0x18]
jne 0x42ef64
lea ecx, [ebp - 8]
call fcn.004301c0
mov ecx, dword [ebp - 0x18]
mov esi, dword [ebp - 8]
mov ebx, dword [sym.imp.WS2_32.dll_htonl]
mov eax, dword [ecx]
cmp esi, dword [eax]
jne 0x42ee90
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00472b2a
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 4]
lea eax, [edi + 0xc]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00472b2a
mov esp, ebp
pop ebp
ret