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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x620
mov dword [esp + 0x24], edx
mov ebx, ecx
mov esi, dword [ecx + 0xc]
mov dword [esp + 4], 0xffffffff
mov dword [esp + 0x53], 0
mov dword [esp + 0x50], 0
mov dword [esp + 0x4c], 0
mov dword [esp + 0x48], 0
mov dword [esp + 0x44], 0
mov dword [esp + 0x40], 0
mov dword [esp + 0x3c], 0
mov dword [esp + 0x38], 0
mov dword [esp + 0x34], 0
mov dword [esp + 0x30], 0
mov dword [esp + 0x2c], 0
mov dword [esp + 0x28], 0
mov edi, dword [ecx + 0x53c]
mov dword [esp + 0x20], 0
test edi, edi
je 0x6b4550d4
push edi
call sub.msvcrt.dll_strlen
add esp, 4
xor edx, edx
cmp eax, 2
mov dword [esp + 0xc], 0
mov ecx, 0
jb 0x6b4550e0
cmp eax, 0x41
mov ecx, 0x41
cmova ecx, eax
mov eax, dword [0x6b83acf0]
inc ecx
push 1
push ecx
call dword [eax]
add esp, 8
test eax, eax
je 0x6b455264
mov cl, byte [edi]
cmp cl, 0x3a
mov dword [esp], eax
je 0x6b4553e3
cmp cl, 0x5b
jne 0x6b45526b
push 0x5d
push edi
call sub.msvcrt.dll_strchr
add esp, 8
test eax, eax
je 0x6b45543e
inc edi
mov dword [esp + 0xc], eax
jmp 0x6b4553cf
xor edx, edx
mov dword [esp + 0xc], 0
xor ecx, ecx
mov dword [esp + 0x10], edx
mov dword [esp], ecx
mov dword [esp + 0x14], pe_nt_image_headers32
lea eax, [esp + 0x14]
lea ecx, [esp + 0x58]
push eax
push ecx
push dword [esi + 0x130]
call dword [sym.imp.WS2_32.dll_getsockname]
test eax, eax
je 0x6b455130
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
lea ecx, [esp + 0x11b]
push 0x100
push ecx
push eax
call fcn.6b481730
add esp, 0xc
push eax
push str.getsockname___failed:__s
jmp 0x6b45523f
movzx eax, word [esp + 0x58]
cmp eax, 0x17
jne 0x6b455150
lea eax, [esp + 0x60]
lea ecx, [esp + 0x21b]
push 0x401
push ecx
push eax
push 0x17
jmp 0x6b455163
lea ecx, [esp + 0x5c]
lea edx, [esp + 0x21b]
push 0x401
push edx
push ecx
push eax
call fcn.6b4669e0
add esp, 0x10
test eax, eax
je 0x6b455255
mov dword [esp + 8], esi
lea esi, [esp + 0x21b]
mov dword [esp + 0x1c], 0
lea edi, [esp + 0x20]
push edi
push 0
push 0
push esi
push ebx
call fcn.6b4587e0
add esp, 0x14
cmp eax, 1
jne 0x6b4551a8
push edi
push ebx
call fcn.6b4423e0
add esp, 8
mov eax, dword [esp + 0x20]
test eax, eax
je 0x6b455239
mov edi, dword [eax]
push eax
push ebx
call fcn.6b458c60
add esp, 8
test edi, edi
je 0x6b455239
mov eax, dword [esp + 8]
add eax, 0x3f8
mov dword [esp + 0x18], eax
mov eax, dword [0x6b83acf4]
push dword [esp]
call dword [eax]
add esp, 4
mov dword [esp + 4], 0xffffffff
lea esi, [esp + 4]
nop
nop
nop
nop
nop
nop
push esi
push 0
push edi
push ebx
call fcn.6b445900
add esp, 0x10
test eax, eax
je 0x6b4552b0
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov edi, dword [edi + 0x1c]
test edi, edi
jne 0x6b4551f0
lea ecx, [esp + 0x11b]
push 0x100
push ecx
push eax
call fcn.6b481730
add esp, 0xc
push eax
push str.socket_failure:__s
push ebx
call fcn.6b476950
jmp 0x6b4552f8
push esi
push str.failed_to_resolve_the_address_provided_to_PORT:__s
push ebx
call fcn.6b476950
add esp, 0xc
mov eax, dword [0x6b83acf4]
push dword [esp]
call dword [eax]
add esp, 4
mov edi, 0x1e
mov eax, edi
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov edi, 0x1b
jmp 0x6b45525a
push 0x3a
push edi
call sub.msvcrt.dll_strchr
add esp, 8
test eax, eax
je 0x6b455297
mov dword [esp + 0xc], eax
lea eax, [esp + 0x58]
push eax
push edi
push 0x17
call fcn.6b466e00
add esp, 0xc
cmp eax, 1
jne 0x6b4553cb
push edi
mov edi, dword [esp + 4]
push edi
call sub.msvcrt.dll_strcpy
mov ecx, edi
add esp, 8
xor edx, edx
xor eax, eax
jmp 0x6b45544d
mov dword [esp], ebx
lea eax, [esp + 0x58]
push dword [edi + 0x10]
push dword [edi + 0x18]
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov eax, dword [edi + 0x10]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0xc]
cmp word [esp + 0x10], ax
jbe 0x6b455300
push str.bind___failed__we_ran_out_of_ports_
mov esi, dword [esp + 4]
push esi
call fcn.6b476950
add esp, 8
push dword [esp + 4]
push dword [esp + 0xc]
push esi
call fcn.6b444b10
add esp, 0xc
jmp 0x6b455255
mov ebx, dword [esp + 0x10]
jmp 0x6b455318
inc ebx
cmp bx, word [esp + 0xc]
ja 0x6b4552d8
movzx esi, bx
push esi
call dword [sym.imp.WS2_32.dll_htons]
mov word [esp + 0x5a], ax
push dword [esp + 0x14]
lea eax, [esp + 0x5c]
push eax
push dword [esp + 0xc]
call dword [sym.imp.WS2_32.dll_bind]
test eax, eax
je 0x6b4554da
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp dword [esp + 0x1c], 0
je 0x6b455356
cmp eax, 0x2741
je 0x6b455367
cmp eax, 0xd
je 0x6b455310
cmp eax, 0x2740
je 0x6b455310
jmp 0x6b455522
push 0x100
lea eax, [esp + 0x11f]
push eax
push 0x2741
call fcn.6b481730
add esp, 0xc
push eax
push esi
push str.bind_port_hu__on_non_local_address_failed:__s
push dword [esp + 0xc]
call fcn.6b4767f0
add esp, 0x10
mov dword [esp + 0x14], pe_nt_image_headers32
lea eax, [esp + 0x14]
push eax
lea eax, [esp + 0x5c]
push eax
mov eax, dword [esp + 0x10]
push dword [eax + 0x130]
call dword [sym.imp.WS2_32.dll_getsockname]
mov dword [esp + 0x1c], 0
test eax, eax
je 0x6b455300
jmp 0x6b4554fa
mov eax, dword [esp + 0xc]
sub eax, edi
push eax
push edi
push dword [esp + 8]
call sub.msvcrt.dll_strncpy
add esp, 0xc
mov edi, dword [esp + 0xc]
push 0x3a
push edi
call sub.msvcrt.dll_strchr
add esp, 8
test eax, eax
je 0x6b45543e
mov edi, eax
inc eax
push 0xa
push 0
push eax
call sub.msvcrt.dll_strtoul
add esp, 0xc
push eax
call fcn.6b48f1f0
add esp, 4
mov dword [esp + 0x10], eax
push 0x2d
push edi
call sub.msvcrt.dll_strchr
add esp, 8
test eax, eax
je 0x6b455444
inc eax
push 0xa
push 0
push eax
call sub.msvcrt.dll_strtoul
add esp, 0xc
push eax
call fcn.6b48f1f0
add esp, 4
mov ecx, dword [esp]
mov edx, dword [esp + 0x10]
jmp 0x6b45544d
xor edx, edx
xor eax, eax
jmp 0x6b45544a
mov edx, dword [esp + 0x10]
mov eax, edx
mov ecx, dword [esp]
xor edi, edi
cmp dx, ax
cmova edx, edi
cmova eax, edi
mov dword [esp + 0xc], eax
cmp byte [ecx], 0
je 0x6b4550e0
mov dword [esp + 0x10], edx
mov eax, dword [esi + 0x48]
mov edx, dword [eax + 4]
mov dword [esp + 0x18], edx
push dword [eax + 0x18]
mov edi, ecx
call fcn.6b464830
add esp, 4
mov ecx, esi
lea esi, [esp + 0x21b]
mov dword [esp + 0x1c], 1
push 0x401
push esi
push edi
mov dword [esp + 0x14], ecx
push dword [ecx + 0x54]
push eax
push dword [esp + 0x2c]
call fcn.6b4648d0
add esp, 0x18
test eax, eax
je 0x6b4554d2
cmp eax, 1
je 0x6b455255
cmp eax, 2
je 0x6b455186
mov esi, dword [esp + 8]
mov ecx, dword [esp]
mov edx, dword [esp + 0x10]
jmp 0x6b4550e0
mov esi, dword [esp]
jmp 0x6b455186
mov dword [esp + 0x14], pe_nt_image_headers32
lea eax, [esp + 0x14]
push eax
lea eax, [esp + 0x5c]
push eax
push dword [esp + 0xc]
call dword [sym.imp.WS2_32.dll_getsockname]
test eax, eax
je 0x6b455551
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
push 0x100
lea ecx, [esp + 0x11f]
push ecx
push eax
call fcn.6b481730
add esp, 0xc
push eax
push str.getsockname___failed:__s
mov esi, dword [esp + 8]
jmp 0x6b455586
push 0x100
lea ecx, [esp + 0x11f]
push ecx
push eax
call fcn.6b481730
add esp, 0xc
push eax
push esi
push str.bind_port_hu__failed:__s
mov esi, dword [esp + 0xc]
push esi
call fcn.6b476950
add esp, 0x10
jmp 0x6b4552ea
push 1
push dword [esp + 8]
call dword [sym.imp.WS2_32.dll_listen]
test eax, eax
mov esi, dword [esp]
je 0x6b455594
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
push 0x100
lea ecx, [esp + 0x11f]
push ecx
push eax
call fcn.6b481730
add esp, 0xc
push eax
push str.socket_failure:__s
push esi
call fcn.6b476950
add esp, 0xc
jmp 0x6b4552ea
lea ebx, [esp + 0x28]
push 0x2f
push ebx
push edi
call fcn.6b458290
add esp, 0xc
mov edx, dword [esp + 8]
mov eax, dword [edx + 0x24c]
mov ecx, eax
and ecx, 0x102000
cmp ecx, 0x2000
jne 0x6b4555cd
or eax, 0x100000
mov esi, edx
mov dword [edx + 0x24c], eax
jmp 0x6b4555cf
mov esi, edx
mov edi, dword [esp + 0x24]
cmp edi, 2
jne 0x6b455638
mov ebx, dword [esp]
mov eax, 2
mov dword [esi + 0x478], eax
mov eax, dword [esi + 0x134]
cmp eax, 0xffffffff
je 0x6b455606
push eax
push esi
push ebx
call fcn.6b444b10
add esp, 0xc
mov dword [esi + 0x134], 0xffffffff
mov dword [esi + 0x248], 0
mov eax, dword [esp + 4]
mov dword [esi + 0x134], eax
mov dword [esi + 0x240], 1
mov eax, dword [ebx + 0xc]
mov dword [eax + 0x484], 0x1c
xor edi, edi
jmp 0x6b45525a
and eax, 0x100000
or eax, edi
je 0x6b45567f
movzx eax, word [esp + 0x58]
cmp ax, 2
je 0x6b455651
cmp edi, 1
je 0x6b45567f
cmp ax, 0x17
je 0x6b45565d
cmp ax, 2
jne 0x6b45567f
movzx eax, word [esp + 0x5a]
push eax
call dword [sym.imp.WS2_32.dll_ntohs]
test edi, edi
je 0x6b455691
cmp edi, 1
je 0x6b455707
inc edi
mov eax, dword [esi + 0x24c]
jmp 0x6b455638
inc edi
cmp edi, 2
je 0x6b4555d8
mov eax, dword [esi + 0x24c]
jmp 0x6b455638
xor ecx, ecx
cmp word [esp + 0x58], 2
sete cl
mov edx, 2
sub edx, ecx
movzx eax, ax
lea ecx, [esp + 0x28]
push eax
push ecx
push edx
push str.EPRT
push str._s__d_s_hu
push dword [esp + 0x2c]
mov ebx, dword [esp + 0x18]
push ebx
call fcn.6b472530
add esp, 0x1c
test eax, eax
je 0x6b4557a5
mov edi, eax
push eax
call sym.libcurl.dll_curl_easy_strerror
add esp, 4
push eax
push str.Failure_sending_EPRT_command:__s
push ebx
call fcn.6b476950
add esp, 0xc
push dword [esp + 4]
push esi
push ebx
call fcn.6b444b10
add esp, 0xc
mov dword [esi + 0x478], 1
jmp 0x6b455793
lea ecx, [esp + 0xd8]
jmp 0x6b455714
mov byte [ecx], dh
inc ecx
inc ebx
movzx edx, byte [ebx]
mov dh, 0x2c
cmp dl, 0x2e
je 0x6b455710
test dl, dl
je 0x6b455726
mov dh, dl
jmp 0x6b455710
mov byte [ecx], 0
movzx eax, ax
movzx edx, al
shr eax, 8
push edx
push eax
push str.__d__d
push 0x14
push ecx
call sym.libcurl.dll_curl_msnprintf
add esp, 0x14
lea eax, [esp + 0xd8]
push eax
push str.PORT
push 0x6b72bc9f
push dword [esp + 0x24]
mov ebx, dword [esp + 0x10]
push ebx
call fcn.6b472530
add esp, 0x14
test eax, eax
je 0x6b4557ac
mov edi, eax
push eax
call sym.libcurl.dll_curl_easy_strerror
add esp, 4
push eax
push str.Failure_sending_PORT_command:__s
push ebx
call fcn.6b476950
add esp, 0xc
push dword [esp + 4]
push esi
push ebx
call fcn.6b444b10
add esp, 0xc
mov eax, dword [ebx + 0xc]
mov dword [eax + 0x484], 0
jmp 0x6b45525a
xor eax, eax
jmp 0x6b4555e0
mov eax, 1
jmp 0x6b4555e0