Function at 0x10165ba0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x94
mov eax, dword [0x10205ac8]
xor eax, esp
mov dword [esp + 0x90], eax
push ebx
mov ebx, dword [esp + 0xa4]
xorps xmm0, xmm0
movq qword [esp + 0x64], xmm0
mov dword [esp + 0x38], 0
mov dword [esp + 0x3c], 0
mov dword [esp + 0x40], 0xffff0000
push ebp
mov ebp, dword [esp + 0xa4]
mov dword [esp + 0x30], ebp
push esi
push edi
mov edi, dword [esp + 0xa8]
mov dword [esp + 0x10], edi
movups xmmword [esp + 0x50], xmm0
movups xmmword [esp + 0x60], xmm0
cmp ebx, 0xc
jle 0x10165c26
mov eax, dword [edi]
lea ecx, [esp + 0x44]
cmp eax, dword [ecx]
jne 0x10165c26
mov eax, dword [edi + 4]
cmp eax, dword [ecx + 4]
jne 0x10165c26
mov eax, dword [edi + 8]
cmp eax, dword [ecx + 8]
jne 0x10165c26
mov esi, 1
jmp 0x10165c28
xor esi, esi
mov dword [esp + 0x44], 0
mov dword [esp + 0x48], 0
mov dword [esp + 0x4c], 0
mov dword [esp + 0x40], 0
mov dword [esp + 0x3c], 0x1000000
cmp ebx, 0x10
jl 0x10165c89
mov eax, dword [edi]
lea ecx, [esp + 0x44]
cmp eax, dword [ecx]
jne 0x10165c89
mov eax, dword [edi + 4]
cmp eax, dword [ecx + 4]
jne 0x10165c89
mov eax, dword [edi + 8]
cmp eax, dword [ecx + 8]
jne 0x10165c89
mov eax, dword [edi + 0xc]
lea ecx, [esp + 0x40]
cmp eax, dword [ecx]
je 0x10165c89
lea ecx, [esp + 0x3c]
cmp eax, dword [ecx]
je 0x10165c89
mov eax, 1
jmp 0x10165c8b
xor eax, eax
test esi, esi
jne 0x10165ed0
test eax, eax
jne 0x10165ed0
mov ebp, dword [sym.imp.WS2_32.dll_htons]
lea ebx, [esp + 0x78]
movups xmmword [esp + 0x78], xmm0
movups xmmword [esp + 0x88], xmm0
movq qword [esp + 0x98], xmm0
nop dword [eax + eax]
movzx eax, word [edi + esi*2]
push eax
call ebp
movzx eax, ax
push eax
push 0x10056b60
push 5
push 5
push ebx
call fcn.101181f0
inc esi
add esp, 0x14
add ebx, 5
cmp esi, 8
jl 0x10165cc0
xor eax, eax
mov dword [esp + 0x3c], 0
cmp word [edi + 0xe], ax
sete al
xor ecx, ecx
mov dword [esp + 0x34], eax
mov dword [esp + 0x30], eax
inc eax
cmp word [edi + 0xc], cx
cmovne eax, ecx
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x40], eax
mov dword [esp + 0x2c], eax
mov dword [esp + 0x10], 0
lea ebp, [eax + 1]
xor eax, eax
cmp word [edi + 0xa], ax
cmovne ebp, eax
cmp word [edi + 8], ax
mov dword [esp + 0x28], ebp
lea ebx, [ebp + 1]
cmovne ebx, eax
cmp word [ecx + 6], ax
mov dword [esp + 0x24], ebx
lea edi, [ebx + 1]
cmovne edi, eax
cmp word [ecx + 4], ax
mov dword [esp + 0x20], edi
lea esi, [edi + 1]
cmovne esi, eax
cmp word [ecx + 2], ax
mov dword [esp + 0x1c], esi
lea edx, [esi + 1]
cmovne edx, eax
cmp word [ecx], 0
mov dword [esp + 0x18], edx
lea eax, [edx + 1]
cmovne eax, dword [esp + 0x10]
test eax, eax
mov dword [esp + 0x14], eax
mov ecx, eax
mov dword [esp + 0x10], 0
cmovle ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x3c]
setg al
mov dword [esp + 0x10], 1
dec eax
cmp edx, ecx
cmovg eax, dword [esp + 0x10]
cmovle edx, ecx
cmp esi, edx
mov dword [esp + 0x3c], eax
mov ecx, dword [esp + 0x3c]
mov eax, 2
cmovg ecx, eax
cmovle esi, edx
cmp edi, esi
mov eax, 3
mov edx, 6
cmovg ecx, eax
cmovle edi, esi
cmp ebx, edi
mov eax, 4
cmovg ecx, eax
cmovle ebx, edi
cmp ebp, ebx
mov eax, 5
cmovg ecx, eax
cmovle ebp, ebx
mov eax, dword [esp + 0x40]
cmp eax, ebp
cmovle eax, ebp
cmovg ecx, edx
cmp dword [esp + 0x34], eax
jle 0x10165df8
lea ecx, [edx + 1]
jmp 0x10165dfc
test ecx, ecx
je 0x10165e04
mov dword [esp + 0x14], 0
cmp ecx, 1
je 0x10165e16
mov dword [esp + 0x18], 0
cmp ecx, 2
je 0x10165e23
mov dword [esp + 0x1c], 0
cmp ecx, 3
je 0x10165e30
mov dword [esp + 0x20], 0
cmp ecx, 4
je 0x10165e3d
mov dword [esp + 0x24], 0
cmp ecx, 5
je 0x10165e49
mov dword [esp + 0x28], 0
cmp ecx, edx
je 0x10165e56
mov dword [esp + 0x2c], 0
cmp ecx, 7
je 0x10165e5e
mov dword [esp + 0x30], 0
xor eax, eax
xor esi, esi
mov ecx, dword [esp + esi*4 + 0x14]
test ecx, ecx
je 0x10165e7f
test esi, esi
jne 0x10165e74
mov byte [esp + eax + 0x50], 0x3a
inc eax
mov byte [esp + eax + 0x50], 0x3a
dec esi
inc eax
add esi, ecx
jmp 0x10165ea9
lea ecx, [esp + 0x78]
add ecx, esi
mov dl, byte [ecx + esi*4]
lea ecx, [ecx + esi*4]
test dl, dl
je 0x10165e9e
nop
mov byte [esp + eax + 0x50], dl
lea ecx, [ecx + 1]
mov dl, byte [ecx]
inc eax
test dl, dl
jne 0x10165e90
cmp esi, 7
je 0x10165ea9
mov byte [esp + eax + 0x50], 0x3a
inc eax
inc esi
cmp esi, 8
jl 0x10165e62
inc eax
cmp eax, dword [esp + 0xb0]
jg 0x10165efe
mov esi, dword [esp + 0x38]
push eax
lea eax, [esp + 0x54]
push eax
push esi
call fcn.101b6150
add esp, 0xc
mov eax, esi
jmp 0x10165f04
push dword [edi + 0xc]
call dword [sym.imp.WS2_32.dll_inet_ntoa]
push eax
mov ecx, 0x100445c8
test esi, esi
mov eax, 0x10056b50
cmove eax, ecx
push eax
push 0x10056b58
push ebx
push ebx
push ebp
call fcn.101181f0
add esp, 0x18
cmp eax, ebx
jl 0x10165f02
xor eax, eax
jmp 0x10165f04
mov eax, ebp
mov ecx, dword [esp + 0xa0]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.101b4a00
add esp, 0x94
ret