Function at 0x1400f0d30
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 [0x1402db040]
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 [0x140299a90]
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.1401e5d50
mov r12, qword [rbp + 0xc38]
mov qword [rsp + 0x48], 0
lea rcx, [rsp + 0xb0]
mov r8d, 0x100
mov dl, 0xaa
call fcn.1401e5d50
test r12, r12
je 0x1400f0e2d
mov rcx, r12
call fcn.1401ce1a0
cmp rax, 2
jae 0x1400f1007
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 0x1400f0ee7
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
lea rdx, [rsp + 0xb0]
mov r8d, 0x100
mov ecx, eax
call fcn.1400df3c0
lea rdx, str.getsockname___failed:__s
mov rcx, rbp
mov r8, rax
call fcn.1400c5820
mov rax, qword [fcn.140058110]
mov rcx, r14
call qword [0x1402cbd20]
mov ebx, 0x1e
mov rcx, qword [rsp + 0x678]
xor rcx, rsp
cmp rcx, qword [0x1402db040]
je 0x1400f0eba
call fcn.1401ac870
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 0x1400f0e86
movzx ecx, word [rsp + 0x5c0]
cmp ecx, 0x17
je 0x1400f0f04
lea rdx, [rsp + 0x5c4]
mov r9d, 0x401
jmp 0x1400f0f1f
lea rdx, [rsp + 0x5c8]
lea r15, [rsp + 0x1b0]
mov r9d, 0x401
mov ecx, Ordinal_26
mov r8, r15
call fcn.1401057d0
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.1400dd5c0
cmp eax, 1
jne 0x1400f0f5b
lea rdx, [rsp + 0x48]
mov rcx, rsi
call fcn.1400c4310
mov rdx, qword [rsp + 0x48]
test rdx, rdx
je 0x1400f0ed8
mov r13, qword [rdx]
mov rcx, rbp
call fcn.1400dd9b0
test r13, r13
je 0x1400f0ed8
lea rax, [rsi + 0xa00]
mov qword [rsp + 0x40], rax
mov rax, qword [fcn.140058110]
mov rcx, r14
call qword [0x1402cbd20]
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.1400cc720
test eax, eax
je 0x1400f113a
call r15
mov r13, qword [r13 + 0x28]
test r13, r13
jne 0x1400f0fac
lea rdx, [rsp + 0xb0]
mov r8d, 0x100
mov ecx, eax
call fcn.1400df3c0
lea rdx, str.socket_failure:__s
mov rcx, rbp
mov r8, rax
call fcn.1400c5820
jmp 0x1400f0e9b
mov ebx, reloc.WLDAP32.dll_Ordinal_27
jmp 0x1400f0ea0
cmp rax, 0x42
mov ecx, 0x41
cmovae rcx, rax
mov rax, qword [fcn.1400ab640]
inc rcx
mov edx, 1
call qword [0x1402cbd20]
test rax, rax
je 0x1400f0ffd
mov r14, rax
movzx eax, byte [r12]
cmp eax, 0x3a
je 0x1400f10e3
mov rcx, r12
cmp eax, 0x5b
je 0x1400f10ba
mov edx, 0x3a
call fcn.1401aac0c
test rax, rax
je 0x1400f1073
mov rbx, rax
lea r8, [rsp + 0x5c0]
mov ecx, Ordinal_26
mov rdx, r12
call fcn.1400dca40
cmp eax, 1
jne 0x1400f10cf
mov rcx, r14
mov rdx, r12
call fcn.1401cda40
xor ebx, ebx
xor r12d, r12d
xor eax, eax
cmp bx, r12w
cmova ebx, eax
cmova r12d, eax
cmp byte [r14], 0
je 0x1400f0e35
mov rax, qword [rsi + 0x2e0]
mov rcx, qword [rax + 0x20]
call fcn.140105d00
mov dil, 1
mov r15, r14
jmp 0x1400f0f29
mov r12d, ebx
jmp 0x1400f1083
mov edx, 0x5d
call fcn.1401aac0c
test rax, rax
je 0x1400f107e
mov rbx, rax
inc r12
mov r8, rbx
sub r8, r12
mov rcx, r14
mov rdx, r12
call fcn.1401ce2f0
mov r12, rbx
mov rcx, r12
mov edx, 0x3a
call fcn.1401aac0c
test rax, rax
je 0x1400f107e
mov r12, rax
mov rcx, rax
inc rcx
xor edx, edx
mov r8d, 0xa
call fcn.1401ab02c
mov ebx, eax
mov rcx, r12
mov edx, Ordinal_46
call fcn.1401aac0c
test rax, rax
je 0x1400f10b5
inc rax
mov rcx, rax
xor edx, edx
mov r8d, 0xa
call fcn.1401ab02c
mov r12d, eax
jmp 0x1400f1083
mov qword [rsp + 0x30], rbp
mov rdx, qword [r13 + 0x20]
movsxd r8, dword [r13 + 0x10]
lea rcx, [rsp + 0x5c0]
call fcn.1401e56b0
mov eax, dword [r13 + 0x10]
mov dword [rsp + 0x54], eax
cmp bx, r12w
jbe 0x1400f1185
lea rdx, str.bind___failed__we_ran_out_of_ports_
mov rcx, qword [rsp + 0x30]
call fcn.1400c5820
mov rdx, qword [rsp + 0x58]
mov rcx, rsi
call fcn.1400cb7a0
jmp 0x1400f0e9b
lea r14, [rsp + 0x5c0]
mov ebp, ebx
jmp 0x1400f1199
inc ebp
cmp bp, r12w
ja 0x1400f1162
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 0x1400f1217
call r15
cmp eax, 0x2741
sete cl
and cl, dil
cmp cl, 1
je 0x1400f1272
cmp eax, 0xd
je 0x1400f1191
cmp eax, 0x2740
je 0x1400f1191
movzx ebx, bp
lea rdx, [rsp + 0xb0]
mov r8d, 0x100
mov ecx, eax
call fcn.1400df3c0
lea rdx, str.bind_port_hu__failed:__s
mov rcx, qword [rsp + 0x30]
mov r8d, ebx
mov r9, rax
call fcn.1400c5820
jmp 0x1400f1173
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 0x1400f12d0
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
lea rdx, [rsp + 0xb0]
mov r8d, 0x100
mov ecx, eax
call fcn.1400df3c0
lea rdx, str.getsockname___failed:__s
mov rcx, qword [rsp + 0x30]
mov r8, rax
call fcn.1400c5820
jmp 0x1400f1173
movzx ebp, bp
mov r8d, 0x100
mov ecx, 0x2741
lea rdx, [rsp + 0xb0]
call fcn.1400df3c0
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.1400c5520
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 0x1400f118d
jmp 0x1400f123e
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 0x1400f1313
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
lea rdx, [rsp + 0xb0]
mov r8d, 0x100
mov ecx, eax
call fcn.1400df3c0
lea rdx, str.socket_failure:__s
mov rcx, r14
jmp 0x1400f1265
mov ecx, dword [r13 + 4]
cmp ecx, 2
je 0x1400f1328
cmp ecx, 0x17
jne 0x1400f1344
mov edx, 8
jmp 0x1400f132d
mov edx, 4
add rdx, qword [r13 + 0x20]
lea r8, [rsp + 0x640]
mov r9d, 0x2f
call fcn.1401057d0
cmp byte [rsi + 0x667], 0
jne 0x1400f135d
cmp byte [rsi + 0x65f], 1
jne 0x1400f135d
mov byte [rsi + 0x667], 1
mov edi, 2
mov ebp, dword [rsp + 0x3c]
cmp ebp, 2
je 0x1400f151b
mov rbx, qword [sym.imp.WS2_32.dll_ntohs]
jmp 0x1400f139a
movzx ecx, word [rsp + 0x5c2]
call rbx
test ebp, ebp
je 0x1400f148e
cmp ebp, 1
je 0x1400f13d6
inc ebp
cmp ebp, 2
je 0x1400f151b
test ebp, ebp
jne 0x1400f13a7
cmp byte [rsi + 0x667], 0
je 0x1400f138f
cmp ebp, 1
setne cl
movzx eax, word [rsp + 0x5c0]
cmp ax, 2
sete dl
or dl, cl
cmp dl, 1
jne 0x1400f151b
movzx eax, ax
cmp eax, 0x17
je 0x1400f1378
cmp eax, 2
je 0x1400f1378
jmp 0x1400f138f
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 0x1400f1409
mov r9d, r8d
mov byte [rcx], r9b
inc rcx
inc rdx
je 0x1400f141b
movzx r8d, byte [rdx]
mov r9b, Ordinal_46
cmp r8d, 0x2e
je 0x1400f13fe
test r8d, r8d
jne 0x1400f13fb
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.1400d2790
lea rdx, [0x1402a0f8e]
lea r8, str.PORT
lea r9, [rsp + 0x60]
mov rcx, qword [rsp + 0x40]
call fcn.14010d4b0
test eax, eax
je 0x1400f1512
mov ebx, eax
mov ecx, eax
call fcn.1400df3a0
lea rdx, str.Failure_sending_PORT_command:__s
mov rcx, r14
mov r8, rax
call fcn.1400c5820
mov rdx, qword [rsp + 0x58]
mov rcx, rsi
call fcn.1400cb7a0
jmp 0x1400f1503
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.14010d4b0
test eax, eax
je 0x1400f1519
mov ebx, eax
mov ecx, eax
call fcn.1400df3a0
lea rdx, str.Failure_sending_EPRT_command:__s
mov rcx, r14
mov r8, rax
call fcn.1400c5820
mov rdx, qword [rsp + 0x58]
mov rcx, rsi
call fcn.1400cb7a0
mov dword [rsi + 0xaac], 1
mov dword [rsi + 0xab8], 0
jmp 0x1400f0ea0
mov edi, 1
jmp 0x1400f151b
xor edi, edi
mov dword [rsi + 0xaac], edi
mov rdx, qword [rsi + 0x4c8]
cmp rdx, 0xffffffffffffffff
je 0x1400f1536
mov rcx, rsi
call fcn.1400cb7a0
mov rax, qword [rsp + 0x58]
mov qword [rsi + 0x4c8], rax
mov byte [rsi + 0x653], 1
mov dword [rsi + 0xab8], 0x1c
xor ebx, ebx
jmp 0x1400f0ea0