Function at 0x10016e60
Capabilities:
Print debug messages
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x1ac
mov eax, dword [0x100677a0]
xor eax, esp
mov dword [esp + 0x1a8], eax
push ebx
push ebp
mov ebp, dword [sym.imp.WSOCK32.dll_ntohs]
push esi
mov esi, dword [esp + 0x1bc]
movzx eax, word [esi + 0xa]
push edi
push eax
mov edi, ecx
mov byte [esp + 0x17], 0
call ebp
mov word [esi + 0xa], ax
movzx ecx, word [esi + 0xe]
add esi, 0xe
push ecx
call ebp
mov word [esi], ax
xor eax, eax
push 0x11
lea edx, [esp + 0x28]
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], eax
mov byte [esp + 0x38], al
mov eax, dword [str.x_hp_mac]
push edx
push eax
add esi, 2
push esi
mov ecx, edi
xor ebx, ebx
call fcn.10016950
cmp dword [edi + 0x20], 2
jne 0x10016f20
lea ecx, [esp + 0x24]
push ecx
call fcn.1003c943
mov eax, dword [edi + 0x24]
add esp, 4
lea ecx, [esp + 0x24]
mov edi, edi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10016f10
test dl, dl
je 0x10016f0c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10016f10
add eax, 2
add ecx, 2
test dl, dl
jne 0x10016ef0
xor eax, eax
jmp 0x10016f15
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
je 0x10016f20
xor al, al
jmp 0x10017275
xor eax, eax
push 0x21
lea edx, [esp + 0x60]
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], eax
mov dword [esp + 0x68], eax
mov dword [esp + 0x6c], eax
mov dword [esp + 0x70], eax
mov dword [esp + 0x74], eax
mov dword [esp + 0x78], eax
mov dword [esp + 0x7c], eax
mov byte [esp + 0x80], al
mov eax, dword [str.x_hp_guid]
push edx
push eax
push esi
mov ecx, edi
call fcn.10016950
cmp dword [edi + 0x20], 4
jne 0x10016fa5
lea ecx, [esp + 0x5c]
push ecx
call fcn.1003c943
mov eax, dword [edi + 0x24]
add esp, 4
lea ecx, [esp + 0x5c]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10016f98
test dl, dl
je 0x10016f94
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10016f98
add eax, 2
add ecx, 2
test dl, dl
jne 0x10016f78
xor eax, eax
jmp 0x10016f9d
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x10016f19
xor eax, eax
push 0x11
lea edx, [esp + 0x4c]
mov dword [esp + 0x4c], eax
mov dword [esp + 0x50], eax
mov dword [esp + 0x54], eax
mov dword [esp + 0x58], eax
mov byte [esp + 0x5c], al
mov eax, dword [str.x_hp_prod_id]
push edx
push eax
push esi
mov ecx, edi
call fcn.10016950
mov edx, dword [str.x_hp_hn]
xor eax, eax
push 0x21
lea ecx, [esp + 0x84]
push ecx
push edx
push esi
mov ecx, edi
mov dword [esp + 0x90], eax
mov dword [esp + 0x94], eax
mov dword [esp + 0x98], eax
mov dword [esp + 0x9c], eax
mov dword [esp + 0xa0], eax
mov dword [esp + 0xa4], eax
mov dword [esp + 0xa8], eax
mov dword [esp + 0xac], eax
mov byte [esp + 0xb0], al
call fcn.10016950
mov ecx, dword [str.x_hp_ip]
xor eax, eax
push 0x10
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], eax
mov dword [esp + 0x48], eax
lea eax, [esp + 0x3c]
push eax
push ecx
push esi
mov ecx, edi
call fcn.10016950
lea edx, [esp + 0x38]
lea eax, [esp + 0xa4]
mov ecx, edx
push eax
push ecx
mov ecx, edi
mov dword [esp + 0x28], edx
call fcn.10016a30
test al, al
je 0x1001707b
lea edx, [esp + 0xa4]
mov dword [esp + 0x20], edx
mov ecx, dword [str.x_hp_num_port]
push 4
lea eax, [esp + 0x20]
push eax
push ecx
push esi
mov ecx, edi
mov dword [esp + 0x2c], ebx
call fcn.10016950
lea edx, [esp + 0x14]
push edx
lea eax, [esp + 0x20]
push 0x100565d4
push eax
mov dword [esp + 0x20], 1
call fcn.1003c09d
mov eax, dword [esp + 0x20]
add esp, 0xc
cmp eax, ebx
jg 0x100170c3
mov eax, 1
jmp 0x100170cd
cmp eax, 3
jle 0x100170d1
mov eax, 3
mov dword [esp + 0x14], eax
cmp eax, ebx
jle 0x10017271
lea esp, [esp]
push 0x101
lea ecx, [esp + 0xb8]
push 0
push ecx
call fcn.10038d20
mov eax, dword [ebx*4 + 0x10068d34]
add esp, 0xc
push 0x101
lea edx, [esp + 0xb8]
push edx
push eax
push esi
mov ecx, edi
call fcn.10016950
test ebx, ebx
je 0x10017126
cmp byte [esp + 0xb4], 0
je 0x10017264
mov eax, dword [esp + 0x14]
push 0
push 1
push 0
push 0x100578dc
mov ecx, dword [edi + 4]
mov edx, dword [ecx]
push 0
push eax
mov edx, dword [edx + 8]
lea eax, [ebx + 1]
push eax
lea eax, [esp + 0xd0]
push eax
lea eax, [esp + 0x68]
push eax
lea eax, [esp + 0xa4]
push eax
lea eax, [esp + 0x84]
push eax
lea eax, [esp + 0x50]
push eax
mov eax, dword [edi + 0xc]
push eax
mov eax, dword [esp + 0x54]
push eax
call edx
test al, al
jne 0x1001725f
cmp dword [0x10068ca8], 4
jg 0x10017264
push 0
push 0
push str.SLPDiscoveryAgent::processSLPPacketReceived___ERROR_addDevice___failed__Packet:
push 0x2a6
push str.._src_slpdiscoveryagent.cpp
push 4
push 2
lea eax, [esp + 0x34]
push 1
push eax
mov dword [esp + 0x3c], 0
call fcn.1000655c
mov ebp, dword [esp + 0x3c]
add esp, 0x24
cmp byte [0x10068cb4], 0
je 0x100171c8
push ebp
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov ecx, dword [0x10068cac]
test ecx, ecx
je 0x100171e2
mov eax, dword [0x10068cb0]
test eax, eax
je 0x100171e2
push eax
push ebp
call ecx
add esp, 8
test ebp, ebp
je 0x100171ef
push ebp
call fcn.10038f4b
add esp, 4
cmp dword [0x10068ca8], 4
jg 0x10017264
push 0
push 0
push esi
push 0x2a7
push str.._src_slpdiscoveryagent.cpp
push 4
push 2
lea ecx, [esp + 0x34]
push 1
push ecx
mov dword [esp + 0x3c], 0
call fcn.1000655c
mov ebp, dword [esp + 0x3c]
add esp, 0x24
cmp byte [0x10068cb4], 0
je 0x10017236
push ebp
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov ecx, dword [0x10068cac]
test ecx, ecx
je 0x10017250
mov eax, dword [0x10068cb0]
test eax, eax
je 0x10017250
push eax
push ebp
call ecx
add esp, 8
test ebp, ebp
je 0x10017264
push ebp
call fcn.10038f4b
add esp, 4
jmp 0x10017264
mov byte [esp + 0x13], 1
add ebx, 1
cmp ebx, dword [esp + 0x14]
jl 0x100170e0
mov al, byte [esp + 0x13]
mov ecx, dword [esp + 0x1b8]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.1003942d
add esp, 0x1ac
ret 0xc