Function at 0x6c106cd0
Capabilities:
Act as tcp client
Connect socket
Connect tcp socket
Connect udp socket
Create tcp socket
Create udp socket

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
mov ebx, eax
sub esp, 0x5c
test byte [0x6c147174], 8
jne 0x6c106d70
mov dword [esp + 8], 0
mov eax, dword [ebx + 0x44]
xor ecx, ecx
mov edx, 0x11
mov dword [esp + 4], 0
mov dword [esp], 0
call sym._FTP_SendCommandA
test eax, eax
jne 0x6c106d20
xor eax, eax
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
mov edx, dword [ebx + 0x14]
mov eax, ebx
call sym._FTP_ReceiveResponse
test eax, eax
je 0x6c106d12
cmp eax, 0xe3
je 0x6c106da0
mov edx, 0x2efe
cmp eax, 0x1aa
je 0x6c106d5f
mov edx, 0x2eef
cmp eax, 0x212
je 0x6c106d5f
cmp eax, 0x1a9
mov edx, 0x2ee3
mov eax, 0x2efd
cmove edx, eax
mov dword [esp], edx
call sym._INTERNET_SetLastError
jmp 0x6c106d12
mov dword [esp + 0xc], 0x6c149824
mov dword [esp + 8], str.FTP_DoPassive
mov dword [esp + 4], 0x6c147174
mov dword [esp], 3
call sym._wine_dbg_log.constprop.0_2
jmp 0x6c106ce8
call sym._INTERNET_GetResponseBuffer
lea esi, [eax + 4]
movzx eax, byte [eax + 4]
lea edx, [eax - 0x30]
cmp dl, 9
ja 0x6c106dcd
jmp 0x6c106e10
movzx eax, byte [esi + 1]
inc esi
lea edx, [eax - 0x30]
cmp dl, 9
jbe 0x6c106e10
test al, al
jne 0x6c106dc0
test byte [0x6c147174], 2
je 0x6c106d12
mov dword [esp + 0xc], str.no_address_found_in_response__aborting_n
mov dword [esp + 8], str.FTP_DoPassive
mov dword [esp + 4], 0x6c147174
mov dword [esp], 1
call sym._wine_dbg_log.constprop.0_2
jmp 0x6c106d12
test al, al
je 0x6c106dd1
lea eax, [ebp - 0x1c]
lea edi, [ebp - 0x30]
mov dword [esp + 4], str._d__d__d__d__d__d
mov dword [esp + 0x1c], eax
lea eax, [ebp - 0x20]
mov dword [esp + 0x18], eax
lea eax, [ebp - 0x24]
mov dword [esp + 0x14], eax
lea eax, [ebp - 0x28]
mov dword [esp + 0x10], eax
lea eax, [ebp - 0x2c]
mov dword [esp + 0xc], eax
mov dword [esp + 8], edi
mov dword [esp], esi
call sym._sscanf
cmp eax, 6
je 0x6c106e90
test byte [0x6c147174], 2
je 0x6c106d12
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], str.unknown_response_address_format__s__aborting_n
mov dword [esp + 8], str.FTP_DoPassive
mov dword [esp + 4], 0x6c147174
mov dword [esp], 1
call sym._wine_dbg_log.constprop.0_2
jmp 0x6c106d12
mov eax, edi
lea edx, [ebp - 0x18]
lea esi, [esi]
and dword [eax], 0xff
add eax, 4
cmp edx, eax
jne 0x6c106e98
mov eax, dword [ebx + 0x54]
mov dword [esp + 8], 0
mov dword [esp + 4], 1
mov dword [ebp - 0x40], eax
mov eax, dword [ebx + 0x5c]
mov dword [esp], 2
mov dword [ebp - 0x38], eax
mov eax, dword [ebx + 0x60]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x30]
mov byte [ebp - 0x3c], al
mov eax, dword [ebp - 0x2c]
mov byte [ebp - 0x3b], al
mov eax, dword [ebp - 0x28]
mov byte [ebp - 0x3a], al
mov eax, dword [ebp - 0x24]
mov byte [ebp - 0x39], al
mov eax, dword [ebp - 0x20]
mov byte [ebp - 0x3e], al
mov eax, dword [ebp - 0x1c]
mov byte [ebp - 0x3d], al
call dword [sym.imp.ws2_32.dll_socket]
sub esp, 0xc
mov esi, eax
cmp eax, 0xffffffff
je 0x6c106d12
lea eax, [ebp - 0x40]
mov dword [esp + 8], 0x10
mov dword [esp + 4], eax
mov dword [esp], esi
call dword [sym.imp.ws2_32.dll_connect]
sub esp, 0xc
test eax, eax
jne 0x6c106f32
mov dword [ebx + 0x4c], esi
mov eax, 1
jmp 0x6c106d14
test byte [0x6c147174], 2
jne 0x6c106f4c
mov dword [esp], esi
call dword [sym.imp.ws2_32.dll_closesocket]
sub esp, 4
jmp 0x6c106d12
mov dword [esp + 0xc], str.cant_connect_passive_FTP_data_port._n
mov dword [esp + 8], str.FTP_DoPassive
mov dword [esp + 4], 0x6c147174
mov dword [esp], 1
call sym._wine_dbg_log.constprop.0_2
jmp 0x6c106f3b