Function at 0x42ed20
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 0x42ee6c
mov di, word [ebp + 0xc]
lea ecx, [ebp - 8]
mov dword [ebp - 8], esi
call fcn.004301b0
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.004301b0
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.0041d410
mov ebx, dword [eax + 4]
test ebx, ebx
jne 0x42ede2
mov ebx, dword [ebp - 8]
mov ebx, dword [ebx + 4]
lea ecx, [ebp - 8]
mov dword [ebp - 8], esi
call fcn.004301b0
mov eax, dword [ebp - 8]
cmp ebx, dword [eax + 0x18]
je 0x42ee4b
mov ecx, dword [ebx + 0x10]
test di, di
jne 0x42ee2d
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 0x42ee4b
mov eax, dword [ebx + 0x10]
sub eax, 0x1c
cmp word [eax + 0x18], di
jne 0x42ee4b
cmp word [eax + 0x1a], di
je 0x42ef43
jmp 0x42ee4b
mov eax, dword [ebx + 0xc]
cmp eax, ecx
je 0x42ee4b
cmp word [eax + 0x18], di
ja 0x42ee44
cmp di, word [eax + 0x1a]
jbe 0x42ef43
add eax, 0x1c
cmp eax, ecx
jne 0x42ee34
lea ecx, [ebp - 0xc]
call fcn.004301b0
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 0x42ed52
mov ecx, dword [ebp - 0x18]
mov esi, dword [ecx]
mov dword [ebp - 8], esi
cmp esi, dword [esi]
je 0x42ef41
nop dword [eax]
lea ecx, [ebp - 0xc]
mov dword [ebp - 0xc], esi
call fcn.004301b0
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.004301b0
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.0041d410
mov edi, dword [eax + 4]
test edi, edi
jne 0x42ef10
mov edi, dword [ebp - 0x10]
mov edi, dword [edi + 4]
lea ecx, [ebp - 0xc]
mov dword [ebp - 0xc], esi
call fcn.004301b0
mov eax, dword [ebp - 0xc]
cmp edi, dword [eax + 0x18]
jne 0x42ef54
lea ecx, [ebp - 8]
call fcn.004301b0
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 0x42ee80
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0047299a
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.0047299a
mov esp, ebp
pop ebp
ret