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

Disassembly:
push r12
push rsi
push rbx
sub rsp, 0x30
mov rax, qword [rcx + 0x1c8]
mov rbx, qword [rcx + 0x18]
mov r12, rcx
mov ecx, dword [rax + 0x10]
test ecx, ecx
jne 0x14004da48
movzx eax, byte [r12 + 0xa45]
test al, 0x10
jne 0x14004da30
lea r10, [rbx + 0x650]
test al, al
jns 0x14004dae0
mov r9, qword [rbx + 0x708]
test r9, r9
je 0x14004dab0
test byte [r12 + 0x131e], 8
je 0x14004dbd0
lea r8, str.PRET_STOR__s
mov rdx, r10
mov rcx, r12
call sym.Curl_pp_sendf
test eax, eax
je 0x14004dbf0
add rsp, 0x30
pop rbx
pop rsi
pop r12
ret
xor edx, edx
mov rcx, r12
add rsp, 0x30
pop rbx
pop rsi
pop r12
jmp sym.ftp_state_use_port
movzx eax, byte [rbx + 0x75e]
cmp al, 0xd
je 0x14004da84
test byte [r12 + 0xa47], 0x10
je 0x14004da84
mov rdx, qword [r12 + 0x1270]
test rdx, rdx
je 0x14004da72
mov edx, dword [rdx + 8]
test edx, edx
jle 0x14004da84
mov rdx, qword [0x140171ad0]
mov esi, dword [rdx + 8]
test esi, esi
jg 0x14004dc70
mov r8d, 0xd
mov edx, 1
mov rcx, r12
mov byte [rbx + 0x75e], 0xd
add rsp, 0x30
pop rbx
pop rsi
pop r12
jmp sym.ftp_state_quote
mov r9, qword [r12 + 0x7f8]
test r9, r9
je 0x14004dce0
lea r8, str.PRET__s
mov rdx, r10
mov rcx, r12
call sym.Curl_pp_sendf
jmp 0x14004da1a
movzx eax, byte [rbx + 0x3b9]
mov edx, eax
and edx, 0xffffff88
cmp dl, 8
jne 0x14004dafa
or eax, 0xffffff80
mov byte [rbx + 0x3b9], al
movsx edx, al
movsx rax, al
lea r9, str.EPSV
mov rcx, r12
sar rax, 0x3f
not edx
lea r8, [0x140162001]
not rax
mov esi, edx
mov rdx, r10
and eax, 5
shr esi, 0x1f
add r9, rax
call sym.Curl_pp_sendf
test eax, eax
jne 0x14004da22
movzx edx, byte [r12 + 0xa47]
mov dword [rbx + 0x750], esi
mov rbx, qword [r12 + 0x18]
and edx, 0x10
movzx ecx, byte [rbx + 0x75e]
cmp cl, 0x1e
je 0x14004dccb
test dl, dl
je 0x14004dd00
mov rdx, qword [r12 + 0x1270]
test rdx, rdx
je 0x14004db7b
mov r9d, dword [rdx + 8]
test r9d, r9d
jle 0x14004db8f
mov rdx, qword [0x140171ad0]
mov r8d, dword [rdx + 8]
test r8d, r8d
jg 0x14004dc96
mov byte [rbx + 0x75e], 0x1e
mov rdx, qword [r12 + 0x1270]
test rdx, rdx
je 0x14004dbae
mov edx, dword [rdx + 8]
test edx, edx
jle 0x14004da22
lea rdx, str.Connect_data_stream_passively
mov rcx, r12
mov dword [rsp + 0x2c], eax
call sym.Curl_infof
mov eax, dword [rsp + 0x2c]
jmp 0x14004da22
lea r8, str.PRET_RETR__s
mov rdx, r10
mov rcx, r12
call sym.Curl_pp_sendf
jmp 0x14004da1a
mov rbx, qword [r12 + 0x18]
movzx edx, byte [rbx + 0x75e]
cmp dl, 0x1d
je 0x14004dc60
test byte [r12 + 0xa47], 0x10
je 0x14004dc60
mov rcx, qword [r12 + 0x1270]
test rcx, rcx
je 0x14004dc22
mov r11d, dword [rcx + 8]
test r11d, r11d
jle 0x14004dc60
mov rcx, qword [0x140171ad0]
mov r10d, dword [rcx + 8]
test r10d, r10d
jle 0x14004dc60
lea rcx, [0x140163240]
lea r9, str.PRET
mov dword [rsp + 0x2c], eax
mov r8, qword [rcx + rdx*8]
lea rdx, str.__s_______s_
mov rcx, r12
call sym.Curl_trc_ftp
mov eax, dword [rsp + 0x2c]
nop dword [rax + rax]
mov byte [rbx + 0x75e], 0x1d
jmp 0x14004da22
lea rdx, [0x140163240]
lea r9, str.RETR_PREQUOTE
mov rcx, r12
mov r8, qword [rdx + rax*8]
lea rdx, str.__s_______s_
call sym.Curl_trc_ftp
jmp 0x14004da84
lea rdx, [0x140163240]
lea r9, [0x140161ffc]
mov dword [rsp + 0x2c], eax
mov r8, qword [rdx + rcx*8]
lea rdx, str.__s_______s_
mov rcx, r12
call sym.Curl_trc_ftp
mov eax, dword [rsp + 0x2c]
movzx edx, byte [r12 + 0xa47]
and edx, 0x10
mov byte [rbx + 0x75e], 0x1e
test dl, dl
jne 0x14004db96
jmp 0x14004da22
cmp byte [r12 + 0x131d], 0
lea r9, str.NLST
lea rax, [0x1401623ad]
cmovns r9, rax
jmp 0x14004dac1
mov byte [rbx + 0x75e], 0x1e
jmp 0x14004da22