Function at 0x42e9e0
Capabilities:
Hash data using fnv
Print debug messages

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4c28f8
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x98
push esi
push edi
mov eax, dword [0x501040]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x1c], edx
mov eax, ecx
mov dword [ebp - 0x2c], eax
movzx ecx, word [ebx + 8]
mov esi, dword [eax + 4]
mov dword [ebp - 0x20], ecx
cmp esi, dword [eax]
je 0x42ead8
mov edi, esi
mov dword [ebp - 0x14], edi
nop dword [eax]
mov eax, dword [edi - 0x24]
mov ecx, 0x20
mov dword [ebp - 0x18], eax
sub ecx, eax
or eax, 0xffffffff
add esi, 0xffffffdc
shl eax, cl
push eax
call dword [sym.imp.WS2_32.dll_htonl]
mov edx, dword [ebp - 0x1c]
add edi, 0xffffffe0
and edx, eax
mov dword [ebp - 0x28], edi
mov eax, edx
mov dword [ebp - 0x24], edx
shr eax, 8
movzx ecx, al
movzx eax, dl
xor eax, 0x811c9dc5
imul eax, eax, 0x1000193
xor ecx, eax
mov eax, edx
shr eax, 0x10
imul ecx, ecx, 0x1000193
movzx eax, al
shr edx, 0x18
xor ecx, eax
imul eax, ecx, 0x1000193
mov ecx, edi
xor eax, edx
imul eax, eax, 0x1000193
push eax
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0x4c]
push eax
call fcn.0041d410
mov edi, dword [eax + 4]
test edi, edi
jne 0x42eac0
mov edi, dword [ebp - 0x28]
mov edi, dword [edi + 4]
mov eax, dword [ebp - 0x14]
cmp edi, dword [eax - 0x1c]
jne 0x42eaee
mov eax, dword [ebp - 0x2c]
mov edi, esi
mov dword [ebp - 0x14], esi
cmp esi, dword [eax]
jne 0x42ea40
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
push dword [edi + 8]
call dword [sym.imp.WS2_32.dll_inet_ntoa]
mov edx, eax
mov dword [ebp - 0x34], 0
mov ecx, edx
mov dword [ebp - 0x30], 0
xorps xmm0, xmm0
movups xmmword [ebp - 0x44], xmm0
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x42eb13
sub ecx, esi
push ecx
push edx
lea ecx, [ebp - 0x44]
call fcn.00408f20
add edi, 0xc
mov dword [ebp - 4], 0
mov dword [ebp - 0x14], edi
cmp dword [edi + 0x14], 0xf
jbe 0x42eb3e
mov eax, dword [edi]
mov dword [ebp - 0x14], eax
push dword [ebp - 0x20]
call dword [sym.imp.WS2_32.dll_htons]
movzx eax, ax
push eax
call dword [sym.imp.WS2_32.dll_ntohs]
push dword [ebp - 0x1c]
movzx esi, ax
call dword [sym.imp.WS2_32.dll_inet_ntoa]
mov dword [ebp - 0x4c], eax
lea ecx, [ebp - 0x54]
mov eax, esi
mov dword [ebp - 0x54], 0xb0000000
mov dword [ebp - 0x48], eax
sub esp, 8
mov eax, esp
mov dword [ebp - 0x50], 0x20000004
mov byte [ebp - 4], 0
push 5
mov dword [eax + 4], ecx
lea ecx, [ebp - 0x84]
push str.:
mov dword [eax], 2
call fcn.0040a5c0
cmp dword [ebp - 0x70], 0xf
lea eax, [ebp - 0x84]
cmova eax, dword [ebp - 0x84]
cmp dword [ebp - 0x30], 0xf
lea ecx, [ebp - 0x44]
mov dword [ebp - 0x98], eax
cmova ecx, dword [ebp - 0x44]
add esp, 8
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x94], eax
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x8c], eax
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x88], eax
mov eax, esp
mov dword [ebp - 0x90], ecx
lea ecx, [ebp - 0xa8]
mov dword [ebp - 0xa8], 0xb0000000
mov dword [ebp - 0xa4], 0xb0000004
mov dword [ebp - 0xa0], 0xc0000008
mov dword [ebp - 0x9c], 0x20000010
mov byte [ebp - 4], 2
mov dword [eax + 4], ecx
lea ecx, [ebp - 0x6c]
push 0x47
push str._WINTUN__2__route__find_ipmask__find___hit_area:___ip_mask:___n
mov dword [eax], 4
call fcn.0040a5c0
add esp, 0x10
lea eax, [ebp - 0x6c]
cmp dword [ebp - 0x58], 0xf
cmova eax, dword [ebp - 0x6c]
push eax
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov ecx, dword [ebp - 0x58]
cmp ecx, 0xf
jbe 0x42ec75
mov edx, dword [ebp - 0x6c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x42ec6b
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42ed15
push ecx
push edx
call fcn.00472bfe
add esp, 8
mov ecx, dword [ebp - 0x70]
mov dword [ebp - 0x5c], 0
mov dword [ebp - 0x58], 0xf
mov byte [ebp - 0x6c], 0
cmp ecx, 0xf
jbe 0x42ecba
mov edx, dword [ebp - 0x84]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x42ecb0
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42ed15
push ecx
push edx
call fcn.00472bfe
add esp, 8
mov ecx, dword [ebp - 0x30]
mov dword [ebp - 0x74], 0
mov dword [ebp - 0x70], 0xf
mov byte [ebp - 0x84], 0
cmp ecx, 0xf
jbe 0x42ecff
mov edx, dword [ebp - 0x44]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x42ecf5
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42ed15
push ecx
push edx
call fcn.00472bfe
add esp, 8
mov eax, edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
call fcn.004a074e
int3