Function at 0x10070d20
Capabilities:
Get local ipv4 addresses
Get socket information

Disassembly:
sub esp, 0x620
mov eax, dword [0x1027e110]
xor eax, esp
mov dword [esp + 0x61c], eax
push ebx
push ebp
mov ebp, dword [esp + 0x62c]
mov eax, dword [ebp + 0xc]
push esi
push edi
push 0x2e
xor edi, edi
lea ecx, [esp + 0xb9]
push edi
push ecx
mov dword [esp + 0x30], 0x1e
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], 0xffffffff
mov byte [esp + 0xc0], 0
call fcn.101b5c80
mov esi, dword [ebp + 0x584]
add esp, 0xc
cmp esi, edi
mov dword [esp + 0x28], edi
mov dword [esp + 0x20], edi
mov dword [esp + 0x1c], edi
mov dword [esp + 0x2c], 1
mov dword [esp + 0x30], edi
je 0x10070ec9
mov eax, esi
lea edx, [eax + 1]
mov edi, edi
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x10070da0
sub eax, edx
cmp eax, 1
jbe 0x10070ec9
mov eax, esi
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x10070dc0
sub eax, edx
cmp eax, 0x16
jae 0x10070dd7
mov eax, 0x16
jmp 0x10070deb
mov eax, esi
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x10070de0
sub eax, edx
add eax, 1
push 1
push eax
call dword [0x10279010]
mov ebx, eax
add esp, 8
test ebx, ebx
mov dword [esp + 0x30], ebx
jne 0x10070e11
mov dword [esp + 0x24], 0x1b
jmp 0x1007134d
cmp byte [esi], 0x3a
jne 0x10070f1d
mov edi, esi
test edi, edi
je 0x10070e89
push 0x3a
push edi
call fcn.101b5310
mov esi, eax
add esp, 8
test esi, esi
je 0x10070e89
push 0xa
lea eax, [esi + 1]
push 0
push eax
call fcn.101b63fb
push eax
call fcn.1004d8d0
movzx edi, ax
push 0x2d
push esi
mov dword [esp + 0x38], edi
call fcn.101b5310
add esp, 0x18
test eax, eax
je 0x10070f59
push 0xa
xor esi, esi
add eax, 1
push esi
push eax
call fcn.101b63fb
push eax
call fcn.1004d8d0
movzx eax, ax
add esp, 0x10
cmp di, ax
mov dword [esp + 0x1c], eax
jbe 0x10070e89
mov dword [esp + 0x1c], esi
mov dword [esp + 0x20], esi
cmp byte [ebx], 0
je 0x10070ec9
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x40]
push 0x401
lea edx, [esp + 0x22c]
push edx
mov edx, dword [ecx]
push ebx
push edx
call fcn.100ea7c0
add esp, 0x10
sub eax, 0
je 0x10070f65
sub eax, 1
je 0x1007134d
sub eax, 1
je 0x10070f99
mov edx, dword [esp + 0x10]
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0x38]
mov dword [esp + 0x1c], 0x80
mov eax, dword [edx + 0x120]
push ecx
push eax
call dword [sym.imp.WS2_32.dll_getsockname]
test eax, eax
je 0x10070f69
push 0x100
lea ecx, [esp + 0x12c]
push ecx
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
push eax
call fcn.1008a4f0
push eax
push str.getsockname___failed:__s
push ebp
call fcn.1005aa90
add esp, 0x18
jmp 0x1007134d
push 0x3a
push esi
call fcn.101b5310
mov edi, eax
add esp, 8
test edi, edi
je 0x10070f42
mov edx, edi
sub edx, esi
push edx
push esi
push ebx
call fcn.101b6c00
add esp, 0xc
jmp 0x10070e1c
mov edx, ebx
mov eax, esi
sub edx, esi
mov cl, byte [eax]
mov byte [edx + eax], cl
add eax, 1
test cl, cl
jne 0x10070f48
jmp 0x10070e89
movzx ecx, di
mov dword [esp + 0x1c], ecx
jmp 0x10070e89
mov esi, ebx
jmp 0x10070fa0
movzx ecx, word [esp + 0x34]
push 0x401
lea edx, [esp + 0x22c]
push edx
lea eax, [esp + 0x40]
push eax
push ecx
call fcn.1008f560
add esp, 0x10
test eax, eax
je 0x1007134d
mov dword [esp + 0x2c], 0
lea esi, [esp + 0x228]
lea edx, [esp + 0x28]
push edx
push 0
push 0
push esi
push ebp
call fcn.1007e8b0
add esp, 0x14
cmp eax, 1
jne 0x10070fc6
lea eax, [esp + 0x28]
push eax
push ebp
call fcn.1005a430
add esp, 8
mov eax, dword [esp + 0x28]
test eax, eax
je 0x10070fde
mov edi, dword [eax]
push eax
push ebp
call fcn.1007eb60
add esp, 8
test edi, edi
jne 0x10070ff2
push esi
push str.failed_to_resolve_the_address_provided_to_PORT:__s
push ebp
call fcn.1005aa90
add esp, 0xc
jmp 0x1007134d
mov ebx, dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov dword [esp + 0x14], 0xffffffff
xor esi, esi
jmp 0x10071010
mov edx, dword [esp + 0x10]
movzx eax, byte [edx + 0x3b9]
lea ecx, [esp + 0x14]
push ecx
push eax
push 0
push edi
push ebp
call fcn.1008d680
add esp, 0x14
test eax, eax
je 0x1007103e
call ebx
mov edi, dword [edi + 0x1c]
test edi, edi
mov esi, eax
jne 0x10071010
jmp 0x10071042
test edi, edi
jne 0x10071069
push 0x100
lea ecx, [esp + 0x12c]
push ecx
push esi
call fcn.1008a4f0
push eax
push str.socket_failure:__s
push ebp
call fcn.1005aa90
add esp, 0x18
jmp 0x1007134d
mov edx, dword [edi + 0x10]
mov eax, dword [edi + 0x18]
push edx
push eax
lea ecx, [esp + 0x3c]
push ecx
call fcn.101b4f90
mov ax, word [esp + 0x28]
mov edx, dword [edi + 0x10]
movzx esi, word [esp + 0x2c]
add esp, 0xc
cmp word [esp + 0x20], ax
mov dword [esp + 0x18], edx
ja 0x1007119c
lea ebx, [ebx]
cmp word [esp + 0x34], 2
jne 0x100710b4
push esi
call dword [sym.imp.WS2_32.dll_htons]
mov word [esp + 0x36], ax
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x14]
push ecx
lea edx, [esp + 0x38]
push edx
push eax
call dword [sym.imp.WS2_32.dll_bind]
test eax, eax
je 0x10071195
call ebx
cmp dword [esp + 0x2c], 0
je 0x1007113d
cmp eax, 0x2741
jne 0x1007113d
push 0x100
lea ecx, [esp + 0x12c]
push ecx
push eax
call fcn.1008a4f0
push eax
movzx edx, si
push edx
push str.bind_port_hu__on_non_local_address_failed:__s
push ebp
call fcn.1005abd0
mov edx, dword [esp + 0x2c]
add esp, 0x1c
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0x38]
mov dword [esp + 0x1c], 0x80
mov eax, dword [edx + 0x120]
push ecx
push eax
call dword [sym.imp.WS2_32.dll_getsockname]
test eax, eax
jne 0x100711d0
movzx esi, word [esp + 0x20]
mov dword [esp + 0x2c], eax
jmp 0x1007114c
cmp eax, 0x2740
je 0x10071149
cmp eax, 0xd
jne 0x1007116a
add esi, 1
cmp si, word [esp + 0x1c]
jbe 0x100710a0
push str.bind___failed__we_ran_out_of_ports
push ebp
call fcn.1005aa90
add esp, 8
jmp 0x1007134d
push 0x100
lea edx, [esp + 0x12c]
push edx
push eax
call fcn.1008a4f0
push eax
movzx eax, si
push eax
push str.bind_port_hu__failed:__s
push ebp
call fcn.1005aa90
add esp, 0x1c
jmp 0x1007134d
cmp si, word [esp + 0x1c]
jbe 0x100711af
push str.bind___failed__we_ran_out_of_ports
push ebp
call fcn.1005aa90
add esp, 8
jmp 0x1007134d
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0x18]
push ecx
lea edx, [esp + 0x38]
push edx
push eax
mov dword [esp + 0x24], 0x80
call dword [sym.imp.WS2_32.dll_getsockname]
test eax, eax
je 0x100711e4
push 0x100
lea ecx, [esp + 0x12c]
push ecx
call ebx
jmp 0x10070f03
mov edx, dword [esp + 0x14]
push 1
push edx
call dword [sym.imp.WS2_32.dll_listen]
test eax, eax
je 0x1007121e
push 0x100
lea eax, [esp + 0x12c]
push eax
call ebx
push eax
call fcn.1008a4f0
push eax
push str.socket_failure:__s
push ebp
call fcn.1005aa90
add esp, 0x18
jmp 0x1007134d
push 0x2f
lea ecx, [esp + 0xb8]
push ecx
push edi
call fcn.1007dc40
add esp, 0xc
cmp dword [esp + 0x638], 2
je 0x100712b8
mov edi, dword [sym.imp.WS2_32.dll_ntohs]
mov cx, word [esp + 0x34]
jmp 0x10071250
mov edx, dword [esp + 0x10]
cmp dword [edx + 0x220], 0
jne 0x10071267
cmp dword [esp + 0x638], 0
je 0x100712a2
cmp dword [esp + 0x638], 1
jne 0x10071277
cmp cx, 2
jne 0x100712a2
movzx eax, cx
sub eax, 2
jne 0x100712a2
mov eax, dword [esp + 0x36]
push eax
call edi
movzx esi, ax
mov eax, dword [esp + 0x638]
test eax, eax
je 0x100712f8
cmp eax, 1
je 0x1007139c
mov cx, word [esp + 0x34]
mov eax, dword [esp + 0x638]
add eax, 1
cmp eax, 2
mov dword [esp + 0x638], eax
jne 0x10071250
mov esi, dword [esp + 0x10]
mov ecx, dword [esp + 0x638]
lea edx, [esp + 0x14]
push edx
push 1
push esi
push ebp
mov dword [esi + 0x360], ecx
call fcn.1008ee80
mov edi, eax
add esp, 0x10
test edi, edi
mov dword [esp + 0x24], edi
jne 0x1007134d
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x14], 0xffffffff
mov byte [eax + 0x36e], 0x1c
jmp 0x1007135f
xor eax, eax
cmp word [esp + 0x34], 2
movzx ecx, si
setne al
push ecx
lea edx, [esp + 0xb8]
push edx
add eax, 1
push eax
mov eax, dword [esp + 0x1c]
push str.EPRT
push str._s__d_s_hu
add eax, 0x2d0
push eax
push ebp
call fcn.100930d0
add esp, 0x1c
test eax, eax
mov dword [esp + 0x24], eax
je 0x100712b8
push eax
call fcn.10089900
push eax
push str.Failure_sending_EPRT_command:__s
push ebp
call fcn.1005aa90
add esp, 0x10
mov ecx, dword [ebp + 0xc]
mov esi, dword [esp + 0x10]
mov edi, dword [esp + 0x24]
mov byte [ecx + 0x36e], 0
mov eax, dword [esp + 0x14]
cmp eax, 0xffffffff
je 0x10071373
push eax
push esi
push ebp
call fcn.1008d750
add esp, 0xc
mov edx, dword [esp + 0x30]
push edx
call dword [0x10279004]
mov ecx, dword [esp + 0x630]
add esp, 4
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.101b40e2
add esp, 0x620
ret
lea ecx, [esp + 0xe4]
lea edx, [esp + 0xb4]
lea ebx, [ebx]
mov al, byte [edx]
test al, al
je 0x100713c9
cmp al, 0x2e
jne 0x100713bf
mov byte [ecx], 0x2c
jmp 0x100713c1
mov byte [ecx], al
add ecx, 1
add edx, 1
jne 0x100713b0
movzx eax, si
mov edx, eax
and edx, 0xff
push edx
shr eax, 8
push eax
push str.__d__d
push 0x14
push ecx
mov byte [ecx], 0
call fcn.10062b10
lea eax, [esp + 0xf8]
push eax
mov eax, dword [esp + 0x28]
push str.PORT
push 0x101eef1c
add eax, 0x2d0
push eax
push ebp
call fcn.100930d0
add esp, 0x28
test eax, eax
mov dword [esp + 0x24], eax
je 0x100712b8
push eax
call fcn.10089900
push eax
push str.Failure_sending_PORT_command:__s
jmp 0x10071344