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

Disassembly:
push ebp
push edi
push esi
mov esi, ecx
push ebx
mov ebx, eax
sub esp, 0x2c
mov ebp, dword [eax]
mov eax, dword [ebp + 0x12c]
mov dword [esp + 0x1c], eax
cmp ecx, 0xe
jbe 0x4409d0
cmp ecx, 0xf
jne 0x440ba5
mov eax, dword [ebp + 0x3a8]
test dl, dl
je 0x440b40
mov dword [ebx + 0x48c], 0
test eax, eax
jne 0x440acc
xor eax, eax
add esp, 0x2c
pop ebx
pop esi
pop edi
pop ebp
ret
cmp ecx, 0xc
ja 0x440a90
mov eax, dword [ebp + 0x3a4]
test dl, dl
je 0x440b60
mov dword [ebx + 0x48c], 0
test eax, eax
jne 0x440acc
cmp byte [ebx + 0x476], 0
jne 0x440be2
mov dword [ebx + 0x490], 0
xor eax, eax
cmp dword [ebp + 0x4bc], 2
sete al
cmp dword [ebp + 0x4b8], 2
mov dword [ebx + 0x494], eax
je 0x440bd4
cmp byte [ebx + 0x25a], 0
jne 0x440c48
mov edx, dword [ebx + 0x468]
test edx, edx
je 0x440be2
mov dword [ebx + 0x478], 1
mov eax, dword [ebx + 0x464]
mov eax, dword [eax]
mov dword [esp + 8], eax
lea eax, [ebx + 0x428]
mov dword [esp + 4], str.CWD__s
mov dword [esp], eax
call sym._Curl_pp_sendf
test eax, eax
jne 0x440b07
mov dword [ebx + 0x498], 0x10
jmp 0x440b07
mov eax, dword [ebp + 0x3ac]
test dl, dl
jne 0x440b10
mov edi, dword [ebx + 0x48c]
lea edx, [edi + 1]
mov dword [ebx + 0x48c], edx
test eax, eax
je 0x440b1e
test edx, edx
jle 0x440acc
xor edx, edx
jmp 0x440abc
test eax, eax
je 0x440b1e
mov ecx, edx
mov eax, dword [eax + 4]
add edx, 1
cmp edi, ecx
jne 0x440ab8
test eax, eax
je 0x440b1e
mov eax, dword [eax]
xor edx, edx
cmp byte [eax], 0x2a
jne 0x440add
add eax, 1
mov edx, 1
mov dword [ebx + 0x490], edx
mov dword [esp + 8], eax
lea eax, [ebx + 0x428]
mov dword [esp + 4], 0x4655b1
mov dword [esp], eax
call sym._Curl_pp_sendf
test eax, eax
jne 0x440b07
mov dword [ebx + 0x498], esi
add esp, 0x2c
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [ebx + 0x48c], 0
test eax, eax
jne 0x440acc
cmp esi, 0xe
jne 0x440bc8
add esp, 0x2c
mov eax, ebx
xor edx, edx
pop ebx
pop esi
pop edi
pop ebp
jmp sym._ftp_state_ul_setup
mov edi, dword [ebx + 0x48c]
lea edx, [edi + 1]
mov dword [ebx + 0x48c], edx
test eax, eax
jne 0x440aad
xor eax, eax
jmp 0x4409c7
mov edi, dword [ebx + 0x48c]
lea edx, [edi + 1]
mov dword [ebx + 0x48c], edx
test eax, eax
jne 0x440aad
lea esi, cs:[esi]
nop
cmp esi, 0xd
jne 0x4409f9
mov eax, dword [esp + 0x1c]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x440bf0
mov dword [ebx + 0x498], 0
xor eax, eax
jmp 0x4409c7
mov eax, dword [ebp + 0x3a4]
test dl, dl
je 0x440a9a
xor edi, edi
mov dword [ebx + 0x48c], edi
test eax, eax
jne 0x440acc
lea esi, cs:[esi]
cmp esi, 0xf
jne 0x440b80
xor eax, eax
jmp 0x4409c7
mov ecx, dword [ebx + 0x478]
test ecx, ecx
jne 0x440a2f
add esp, 0x2c
mov eax, ebx
pop ebx
pop esi
pop edi
pop ebp
jmp sym._ftp_state_mdtm
mov ecx, dword [ebx + 0x4b0]
mov edx, dword [ebx + 0x4b4]
mov esi, ecx
mov eax, edx
not esi
not eax
or eax, esi
jne 0x440c65
mov edx, dword [ebx + 0x470]
cmp byte [ebp + 0x4f7], 0
lea eax, [ebx + 0x428]
mov dword [esp + 8], edx
je 0x440c8f
mov dword [esp + 4], str.RETR__s
mov dword [esp], eax
call sym._Curl_pp_sendf
test eax, eax
jne 0x440b07
mov dword [ebx + 0x498], 0x20
jmp 0x440b07
mov eax, dword [ebx + 0x460]
test eax, eax
je 0x440a3c
mov dword [ebx + 0x478], 0
jmp 0x440a5c
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp], ebp
call sym._Curl_pgrsSetDownloadSize
mov edx, dword [ebx + 0x4b0]
mov ecx, dword [ebx + 0x4b4]
add esp, 0x2c
mov eax, ebx
pop ebx
pop esi
pop edi
pop ebp
jmp sym._ftp_state_retr
mov dword [esp + 4], str.SIZE__s
mov dword [esp], eax
call sym._Curl_pp_sendf
test eax, eax
jne 0x440b07
mov dword [ebx + 0x498], 0x18
jmp 0x440b07