Function at 0x43b900
Capabilities:
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x20
mov eax, dword [0x624040]
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 0x43ba4c
mov di, word [ebp + 0xc]
lea ecx, [ebp - 8]
mov dword [ebp - 8], esi
call fcn.0043cf30
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.0043cf30
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.00424960
mov ebx, dword [eax + 4]
test ebx, ebx
jne 0x43b9c2
mov ebx, dword [ebp - 8]
mov ebx, dword [ebx + 4]
lea ecx, [ebp - 8]
mov dword [ebp - 8], esi
call fcn.0043cf30
mov eax, dword [ebp - 8]
cmp ebx, dword [eax + 0x18]
je 0x43ba2b
mov ecx, dword [ebx + 0x10]
test di, di
jne 0x43ba0d
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 0x43ba2b
mov eax, dword [ebx + 0x10]
sub eax, 0x1c
cmp word [eax + 0x18], di
jne 0x43ba2b
cmp word [eax + 0x1a], di
je 0x43bb23
jmp 0x43ba2b
mov eax, dword [ebx + 0xc]
cmp eax, ecx
je 0x43ba2b
cmp word [eax + 0x18], di
ja 0x43ba24
cmp di, word [eax + 0x1a]
jbe 0x43bb23
add eax, 0x1c
cmp eax, ecx
jne 0x43ba14
lea ecx, [ebp - 0xc]
call fcn.0043cf30
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 0x43b932
mov ecx, dword [ebp - 0x18]
mov esi, dword [ecx]
mov dword [ebp - 8], esi
cmp esi, dword [esi]
je 0x43bb21
nop dword [eax]
lea ecx, [ebp - 0xc]
mov dword [ebp - 0xc], esi
call fcn.0043cf30
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.0043cf30
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.00424960
mov edi, dword [eax + 4]
test edi, edi
jne 0x43baf0
mov edi, dword [ebp - 0x10]
mov edi, dword [edi + 4]
lea ecx, [ebp - 0xc]
mov dword [ebp - 0xc], esi
call fcn.0043cf30
mov eax, dword [ebp - 0xc]
cmp edi, dword [eax + 0x18]
jne 0x43bb34
lea ecx, [ebp - 8]
call fcn.0043cf30
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 0x43ba60
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004830fa
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.004830fa
mov esp, ebp
pop ebp
ret