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

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x698
movaps xmmword [rsp + 0x680], xmm6
mov r13d, edx
mov rsi, rcx
mov rax, qword [0x1402b3040]
xor rax, rsp
mov qword [rsp + 0x678], rax
mov rbp, qword [rcx]
mov qword [rsp + 0x58], 0xffffffffffffffff
xorps xmm0, xmm0
movups xmmword [rsp + 0x65f], xmm0
movaps xmmword [rsp + 0x650], xmm0
movaps xmmword [rsp + 0x640], xmm0
movaps xmm6, xmmword [0x140272a70]
movaps xmmword [rsp + 0x630], xmm6
movaps xmmword [rsp + 0x620], xmm6
movaps xmmword [rsp + 0x610], xmm6
movaps xmmword [rsp + 0x600], xmm6
movaps xmmword [rsp + 0x5f0], xmm6
movaps xmmword [rsp + 0x5e0], xmm6
movaps xmmword [rsp + 0x5d0], xmm6
movaps xmmword [rsp + 0x5c0], xmm6
mov dword [rsp + 0x54], 0xaaaaaaaa
lea r15, [rsp + 0x1b0]
mov r8d, 0x401
mov rcx, r15
mov dl, 0xaa
call fcn.1401d6710
mov r12, qword [rbp + 0xc38]
mov qword [rsp + 0x48], 0
lea rcx, [rsp + 0xb0]
mov r8d, 0x100
mov dl, 0xaa
call fcn.1401d6710
test r12, r12
je 0x1400e237d
mov rcx, r12
call fcn.1401bebc0
cmp rax, 2
jae 0x1400e2557
xor r14d, r14d
xor r12d, r12d
xor ebx, ebx
lea r8, [rsp + 0x54]
mov dword [r8], Ordinal_133
mov rcx, qword [rsi + 0x4c0]
lea rdx, [rsp + 0x5c0]
call qword [sym.imp.WS2_32.dll_getsockname]
test eax, eax
je 0x1400e2437
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
lea rdx, [rsp + 0xb0]
mov r8d, 0x100
mov ecx, eax
call fcn.1400d0910
lea rdx, str.getsockname___failed:__s
mov rcx, rbp
mov r8, rax
call fcn.1400b6d70
mov rax, qword [fcn.1400581d0]
mov rcx, r14
call qword [0x1402a4958]
mov ebx, 0x1e
mov rcx, qword [rsp + 0x678]
xor rcx, rsp
cmp rcx, qword [0x1402b3040]
je 0x1400e240a
call fcn.14019d280
int3
mov eax, ebx
movaps xmm6, xmmword [rsp + 0x680]
add rsp, 0x698
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea rdx, str.failed_to_resolve_the_address_provided_to_PORT:__s
mov rcx, rbp
mov r8, r15
jmp 0x1400e23d6
movzx ecx, word [rsp + 0x5c0]
cmp ecx, 0x17
je 0x1400e2454
lea rdx, [rsp + 0x5c4]
mov r9d, 0x401
jmp 0x1400e246f
lea rdx, [rsp + 0x5c8]
lea r15, [rsp + 0x1b0]
mov r9d, 0x401
mov ecx, Ordinal_26
mov r8, r15
call fcn.1400f6d20
xor edi, edi
mov dword [rsp + 0x3c], r13d
lea rax, [rsp + 0x48]
mov qword [rsp + 0x20], rax
mov rcx, rsi
mov rdx, r15
xor r8d, r8d
xor r9d, r9d
call fcn.1400ceb10
cmp eax, 1
jne 0x1400e24ab
lea rdx, [rsp + 0x48]
mov rcx, rsi
call fcn.1400b5860
mov rdx, qword [rsp + 0x48]
test rdx, rdx
je 0x1400e2428
mov r13, qword [rdx]
mov rcx, rbp
call fcn.1400cef00
test r13, r13
je 0x1400e2428
lea rax, [rsi + 0xa00]
mov qword [rsp + 0x40], rax
mov rax, qword [fcn.1400581d0]
mov rcx, r14
call qword [0x1402a4958]
lea r14, [rsp + 0x58]
mov qword [r14], 0xffffffffffffffff
mov r15, qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov rcx, rsi
mov rdx, r13
xor r8d, r8d
mov r9, r14
call fcn.1400bdc70
test eax, eax
je 0x1400e268a
call r15
mov r13, qword [r13 + 0x28]
test r13, r13
jne 0x1400e24fc
lea rdx, [rsp + 0xb0]
mov r8d, 0x100
mov ecx, eax
call fcn.1400d0910
lea rdx, str.socket_failure:__s
mov rcx, rbp
mov r8, rax
call fcn.1400b6d70
jmp 0x1400e23eb
mov ebx, reloc.WLDAP32.dll_Ordinal_27
jmp 0x1400e23f0
cmp rax, 0x42
mov ecx, 0x41
cmovae rcx, rax
mov rax, qword [fcn.14009cb90]
inc rcx
mov edx, 1
call qword [0x1402a4958]
test rax, rax
je 0x1400e254d
mov r14, rax
movzx eax, byte [r12]
cmp eax, 0x3a
je 0x1400e2633
mov rcx, r12
cmp eax, 0x5b
je 0x1400e260a
mov edx, 0x3a
call fcn.14019b8fc
test rax, rax
je 0x1400e25c3
mov rbx, rax
lea r8, [rsp + 0x5c0]
mov ecx, Ordinal_26
mov rdx, r12
call fcn.1400cdf90
cmp eax, 1
jne 0x1400e261f
mov rcx, r14
mov rdx, r12
call fcn.1401be460
xor ebx, ebx
xor r12d, r12d
xor eax, eax
cmp bx, r12w
cmova ebx, eax
cmova r12d, eax
cmp byte [r14], 0
je 0x1400e2385
mov rax, qword [rsi + 0x2e0]
mov rcx, qword [rax + 0x20]
call fcn.1400f7250
mov dil, 1
mov r15, r14
jmp 0x1400e2479
mov r12d, ebx
jmp 0x1400e25d3
mov edx, 0x5d
call fcn.14019b8fc
test rax, rax
je 0x1400e25ce
mov rbx, rax
inc r12
mov r8, rbx
sub r8, r12
mov rcx, r14
mov rdx, r12
call fcn.1401bed10
mov r12, rbx
mov rcx, r12
mov edx, 0x3a
call fcn.14019b8fc
test rax, rax
je 0x1400e25ce
mov r12, rax
mov rcx, rax
inc rcx
xor edx, edx
mov r8d, 0xa
call fcn.14019bd1c
mov ebx, eax
mov rcx, r12
mov edx, Ordinal_46
call fcn.14019b8fc
test rax, rax
je 0x1400e2605
inc rax
mov rcx, rax
xor edx, edx
mov r8d, 0xa
call fcn.14019bd1c
mov r12d, eax
jmp 0x1400e25d3
mov qword [rsp + 0x30], rbp
mov rdx, qword [r13 + 0x20]
movsxd r8, dword [r13 + 0x10]
lea rcx, [rsp + 0x5c0]
call fcn.1401d6070
mov eax, dword [r13 + 0x10]
mov dword [rsp + 0x54], eax
cmp bx, r12w
jbe 0x1400e26d5
lea rdx, str.bind___failed__we_ran_out_of_ports_
mov rcx, qword [rsp + 0x30]
call fcn.1400b6d70
mov rdx, qword [rsp + 0x58]
mov rcx, rsi
call fcn.1400bccf0
jmp 0x1400e23eb
lea r14, [rsp + 0x5c0]
mov ebp, ebx
jmp 0x1400e26e9
inc ebp
cmp bp, r12w
ja 0x1400e26b2
mov ecx, ebp
call qword [sym.imp.WS2_32.dll_htons]
mov word [rsp + 0x5c2], ax
mov r8d, dword [rsp + 0x54]
mov rcx, qword [rsp + 0x58]
mov rdx, r14
call qword [sym.imp.WS2_32.dll_bind]
test eax, eax
je 0x1400e2767
call r15
cmp eax, 0x2741
sete cl
and cl, dil
cmp cl, 1
je 0x1400e27c2
cmp eax, 0xd
je 0x1400e26e1
cmp eax, 0x2740
je 0x1400e26e1
movzx ebx, bp
lea rdx, [rsp + 0xb0]
mov r8d, 0x100
mov ecx, eax
call fcn.1400d0910
lea rdx, str.bind_port_hu__failed:__s
mov rcx, qword [rsp + 0x30]
mov r8d, ebx
mov r9, rax
call fcn.1400b6d70
jmp 0x1400e26c3
lea r8, [rsp + 0x54]
mov dword [r8], Ordinal_133
mov rcx, qword [rsp + 0x58]
lea rdx, [rsp + 0x5c0]
call qword [sym.imp.WS2_32.dll_getsockname]
test eax, eax
je 0x1400e2820
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
lea rdx, [rsp + 0xb0]
mov r8d, 0x100
mov ecx, eax
call fcn.1400d0910
lea rdx, str.getsockname___failed:__s
mov rcx, qword [rsp + 0x30]
mov r8, rax
call fcn.1400b6d70
jmp 0x1400e26c3
movzx ebp, bp
mov r8d, 0x100
mov ecx, 0x2741
lea rdx, [rsp + 0xb0]
call fcn.1400d0910
mov rcx, qword [rsp + 0x30]
lea rdx, str.bind_port_hu__on_non_local_address_failed:__s_n
mov r8d, ebp
mov r9, rax
call fcn.1400b6a70
mov dword [rsp + 0x54], Ordinal_133
mov rcx, qword [rsi + 0x4c0]
mov rdx, r14
lea r8, [rsp + 0x54]
call qword [sym.imp.WS2_32.dll_getsockname]
xor edi, edi
test eax, eax
je 0x1400e26dd
jmp 0x1400e278e
mov rcx, qword [rsp + 0x58]
mov edx, 1
call qword [sym.imp.WS2_32.dll_listen]
test eax, eax
mov r14, qword [rsp + 0x30]
je 0x1400e2863
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
lea rdx, [rsp + 0xb0]
mov r8d, 0x100
mov ecx, eax
call fcn.1400d0910
lea rdx, str.socket_failure:__s
mov rcx, r14
jmp 0x1400e27b5
mov ecx, dword [r13 + 4]
cmp ecx, 2
je 0x1400e2878
cmp ecx, 0x17
jne 0x1400e2894
mov edx, 8
jmp 0x1400e287d
mov edx, 4
add rdx, qword [r13 + 0x20]
lea r8, [rsp + 0x640]
mov r9d, 0x2f
call fcn.1400f6d20
cmp byte [rsi + 0x667], 0
jne 0x1400e28ad
cmp byte [rsi + 0x65f], 1
jne 0x1400e28ad
mov byte [rsi + 0x667], 1
mov edi, 2
mov ebp, dword [rsp + 0x3c]
cmp ebp, 2
je 0x1400e2a6b
mov rbx, qword [sym.imp.WS2_32.dll_ntohs]
jmp 0x1400e28ea
movzx ecx, word [rsp + 0x5c2]
call rbx
test ebp, ebp
je 0x1400e29de
cmp ebp, 1
je 0x1400e2926
inc ebp
cmp ebp, 2
je 0x1400e2a6b
test ebp, ebp
jne 0x1400e28f7
cmp byte [rsi + 0x667], 0
je 0x1400e28df
cmp ebp, 1
setne cl
movzx eax, word [rsp + 0x5c0]
cmp ax, 2
sete dl
or dl, cl
cmp dl, 1
jne 0x1400e2a6b
movzx eax, ax
cmp eax, 0x17
je 0x1400e28c8
cmp eax, 2
je 0x1400e28c8
jmp 0x1400e28df
lea rcx, [rsp + 0x60]
movaps xmmword [rcx + 0x30], xmm6
movaps xmmword [rcx + 0x20], xmm6
movaps xmmword [rcx + 0x10], xmm6
movaps xmmword [rcx], xmm6
mov dword [rcx + 0x3f], 0xaaaaaaaa
lea rdx, [rsp + 0x640]
jmp 0x1400e2959
mov r9d, r8d
mov byte [rcx], r9b
inc rcx
inc rdx
je 0x1400e296b
movzx r8d, byte [rdx]
mov r9b, Ordinal_46
cmp r8d, 0x2e
je 0x1400e294e
test r8d, r8d
jne 0x1400e294b
mov byte [rcx], 0
movzx r9d, ax
movzx eax, r9b
shr r9d, 8
mov dword [rsp + 0x20], eax
lea r8, str.__d__d
mov edx, 0x14
call fcn.1400c3ce0
lea rdx, [0x14027a04e]
lea r8, str.PORT
lea r9, [rsp + 0x60]
mov rcx, qword [rsp + 0x40]
call fcn.1400fea00
test eax, eax
je 0x1400e2a62
mov ebx, eax
mov ecx, eax
call fcn.1400d08f0
lea rdx, str.Failure_sending_PORT_command:__s
mov rcx, r14
mov r8, rax
call fcn.1400b6d70
mov rdx, qword [rsp + 0x58]
mov rcx, rsi
call fcn.1400bccf0
jmp 0x1400e2a53
movzx eax, ax
xor r9d, r9d
cmp word [rsp + 0x5c0], 2
setne r9b
inc r9d
mov dword [rsp + 0x28], eax
lea rax, [rsp + 0x640]
mov qword [rsp + 0x20], rax
lea rdx, str._s__d_s_hu
lea r8, str.EPRT
mov rcx, qword [rsp + 0x40]
call fcn.1400fea00
test eax, eax
je 0x1400e2a69
mov ebx, eax
mov ecx, eax
call fcn.1400d08f0
lea rdx, str.Failure_sending_EPRT_command:__s
mov rcx, r14
mov r8, rax
call fcn.1400b6d70
mov rdx, qword [rsp + 0x58]
mov rcx, rsi
call fcn.1400bccf0
mov dword [rsi + 0xaac], 1
mov dword [rsi + 0xab8], 0
jmp 0x1400e23f0
mov edi, 1
jmp 0x1400e2a6b
xor edi, edi
mov dword [rsi + 0xaac], edi
mov rdx, qword [rsi + 0x4c8]
cmp rdx, 0xffffffffffffffff
je 0x1400e2a86
mov rcx, rsi
call fcn.1400bccf0
mov rax, qword [rsp + 0x58]
mov qword [rsi + 0x4c8], rax
mov byte [rsi + 0x653], 1
mov dword [rsi + 0xab8], 0x1c
xor ebx, ebx
jmp 0x1400e23f0