Function at 0x10001b60
Capabilities:
Create tcp socket
Create thread
Create udp socket

Disassembly:
mov eax, 0x10f4
call fcn.10008de0
push ebx
push esi
push edi
mov ecx, 0x32
xor eax, eax
lea edi, [esp + 0x24]
rep stosd dword es:[edi], eax
mov edi, dword [esp + 0x110c]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea edx, [esp + 0x900]
mov eax, ecx
mov esi, edi
mov edi, edx
push str.TYPE_I
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x28]
push ecx
call fcn.1000895f
lea edx, [esp + 0x2c]
push edx
push 0x100134d8
push 1
call fcn.100010f0
mov ebx, dword [esp + 0x1118]
lea eax, [esp + 0x38]
push eax
push ebx
call fcn.100021f0
add esp, 0x1c
cmp eax, 0xffffffff
jne 0x10001c12
lea ecx, [esp + 0x24]
push ecx
push str.FTP_FileSend:FTP_CommandSend_error:Command_s
push 0x10017a3c
call fcn.1000895f
push 0x10017a3c
push 0x100134d8
push 4
call fcn.100010f0
add esp, 0x18
or eax, 0xffffffff
pop edi
pop esi
pop ebx
add esp, 0x10f4
ret
lea edx, [esp + 0x24]
push edx
push ebx
call fcn.10002290
add esp, 8
cmp eax, 0xffffffff
jne 0x10001c5a
lea eax, [esp + 0x24]
push eax
push str.FTP_FileSend:FTP_CommandReceive_error:Command_s
push 0x10017a3c
call fcn.1000895f
push 0x10017a3c
push 0x100134d8
push 4
call fcn.100010f0
add esp, 0x18
or eax, 0xffffffff
pop edi
pop esi
pop ebx
add esp, 0x10f4
ret
lea ecx, [esp + 0x24]
push ecx
call fcn.10002350
add esp, 4
cmp eax, 0xc8
je 0x10001ca3
lea edx, [esp + 0x24]
push edx
push str.FTP_FileSend:FTP_type_command_error:Command_s
push 0x10017a3c
call fcn.1000895f
push 0x10017a3c
push 0x100134d8
push 4
call fcn.100010f0
add esp, 0x18
or eax, 0xffffffff
pop edi
pop esi
pop ebx
add esp, 0x10f4
ret
lea eax, [esp + 0x24]
push eax
push str.FTP_FileSend:FTP_type_command_success:Command_s
push 0x10017a3c
call fcn.1000895f
push 0x10017a3c
push 0x100134d8
push 4
call fcn.100010f0
add esp, 0x18
push 0
push 1
push 2
call sub.WS2_32.dll_socket
cmp eax, 0xffffffff
mov dword [esp + 0xc], eax
jne 0x10001d0f
push str.FTP_FileSend:socket_error
push 0x10017a3c
call fcn.1000895f
push 0x10017a3c
push 0x100134d8
push 4
call fcn.100010f0
add esp, 0x14
or eax, 0xffffffff
pop edi
pop esi
pop ebx
add esp, 0x10f4
ret
call fcn.10002380
mov si, ax
and esi, 0xffff
xor edi, edi
xor ecx, ecx
push esi
mov dword [esp + 0x14], ecx
mov word [esp + 0x14], 2
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x20], ecx
call sub.WS2_32.dll_htons
push ebx
mov word [esp + 0x16], ax
call fcn.100023b0
add esp, 4
push eax
call sub.WS2_32.dll_inet_addr
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0xc]
lea edx, [esp + 0x10]
push 0x10
push edx
push eax
call sub.WS2_32.dll_bind
cmp eax, 0xffffffff
jne 0x10001dad
push esi
push str.FTP_FileSend:bind_error:i_d
push 0x10017a3c
call fcn.1000895f
push 0x10017a3c
push 0x100134d8
push 4
call fcn.100010f0
add esp, 0x18
cmp esi, 0x7d0
jl 0x10001d9d
mov esi, 0x3e8
inc esi
inc edi
cmp edi, 0x3e8
jl 0x10001d1f
jmp 0x10001db5
cmp edi, 0x3e8
jl 0x10001df9
push 0x7d0
push 0x3e8
push str.FTP_FileSend:bind_fail:port_d_d
push 0x10017a3c
call fcn.1000895f
push 0x10017a3c
push 0x100134d8
push 4
call fcn.100010f0
lea ecx, [esp + 0x28]
push ecx
call fcn.10002bc0
add esp, 0x20
or eax, 0xffffffff
pop edi
pop esi
pop ebx
add esp, 0x10f4
ret
mov edx, dword [esp + 0x13]
mov eax, dword [esp + 0x12]
mov ecx, dword [esp + 0x17]
and edx, 0xff
and eax, 0xff
push edx
mov edx, dword [esp + 0x1a]
and ecx, 0xff
push eax
mov eax, dword [esp + 0x1d]
push ecx
mov ecx, dword [esp + 0x20]
and edx, 0xff
and eax, 0xff
push edx
and ecx, 0xff
push eax
push ecx
lea edx, [esp + 0x3c]
push str.PORT__d__d__d__d__d__d
push edx
call fcn.1000895f
lea eax, [esp + 0x44]
push eax
push 0x100134d8
push 1
call fcn.100010f0
lea ecx, [esp + 0x50]
push ecx
push ebx
call fcn.100021f0
add esp, 0x34
cmp eax, 0xffffffff
jne 0x10001e7b
lea edx, [esp + 0x24]
push edx
push str.FTP_FileSend:FTP_CommandSend_error:Command_s
jmp 0x1000210a
lea ecx, [esp + 0x24]
push ecx
push ebx
call fcn.10002290
add esp, 8
cmp eax, 0xffffffff
je 0x10002100
lea ecx, [esp + 0x24]
push ecx
call fcn.10002350
add esp, 4
cmp eax, 0xc8
je 0x10001ee5
lea edx, [esp + 0x24]
push edx
push str.FTP_FileSend:port_command_error:Command_s
push 0x10017a3c
call fcn.1000895f
push 0x10017a3c
push 0x100134d8
push 4
call fcn.100010f0
lea eax, [esp + 0x24]
push eax
call fcn.10002bc0
add esp, 0x1c
or eax, 0xffffffff
pop edi
pop esi
pop ebx
add esp, 0x10f4
ret
lea ecx, [esp + 0x24]
push ecx
push str.FTP_FileSend:port_command_success:Command_s
push 0x10017a3c
call fcn.1000895f
push 0x10017a3c
push 0x100134d8
push 4
call fcn.100010f0
mov ecx, 0x205
xor eax, eax
lea edi, [esp + 0x104]
mov edx, dword [esp + 0x24]
rep stosd dword es:[edi], eax
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x2c]
mov edi, dword [esp + 0x1120]
mov dword [esp + 0x108], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x10c], ecx
mov dword [esp + 0x114], eax
or ecx, 0xffffffff
xor eax, eax
add esp, 0x18
repne scasb al, byte es:[edi]
mov dword [esp + 0xec], edx
mov edx, dword [esp + 0x18]
not ecx
sub edi, ecx
mov dword [esp + 0xf8], edx
lea edx, [esp + 0x100]
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
lea edx, [esp + 0xec]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x20]
push ecx
push 0
push edx
push 0x100019a0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
push 0x3e8
mov esi, eax
call fcn.10001580
lea eax, [esp + 0x904]
lea ecx, [esp + 0x28]
push eax
push str.STOR__s
push ecx
call fcn.1000895f
lea edx, [esp + 0x34]
push edx
push 0x100134d8
push 1
call fcn.100010f0
lea eax, [esp + 0x40]
push eax
push ebx
call fcn.100021f0
add esp, 0x24
cmp eax, 0xffffffff
jne 0x10002023
lea ecx, [esp + 0x24]
push ecx
push str.FTP_FileSend:FTP_CommandSend_error:Command_s
push 0x10017a3c
call fcn.1000895f
push 0x10017a3c
push 0x100134d8
push 4
call fcn.100010f0
lea edx, [esp + 0x24]
push edx
call fcn.10002bc0
add esp, 0x1c
or eax, 0xffffffff
pop edi
pop esi
pop ebx
add esp, 0x10f4
ret
lea eax, [esp + 0x24]
push eax
push ebx
call fcn.10002290
add esp, 8
cmp eax, 0xffffffff
jne 0x10002075
lea ecx, [esp + 0x24]
push ecx
push str.FTP_FileSend:FTP_CommandReceive_error:Command_s
push 0x10017a3c
call fcn.1000895f
push 0x10017a3c
push 0x100134d8
push 4
call fcn.100010f0
lea edx, [esp + 0x24]
push edx
call fcn.10002bc0
add esp, 0x1c
or eax, 0xffffffff
pop edi
pop esi
pop ebx
add esp, 0x10f4
ret
lea eax, [esp + 0x24]
push eax
call fcn.10002350
add esp, 4
cmp eax, 0x96
je 0x100020c8
lea ecx, [esp + 0x24]
push ecx
push str.FTP_FileSend:FTP_stor_command_error:Command_s
push 0x10017a3c
call fcn.1000895f
push 0x10017a3c
push 0x100134d8
push 4
call fcn.100010f0
lea edx, [esp + 0x24]
push edx
call fcn.10002bc0
add esp, 0x1c
or eax, 0xffffffff
pop edi
pop esi
pop ebx
add esp, 0x10f4
ret
lea eax, [esp + 0x24]
push eax
push str.FTP_FileSend:ftp_stor_command_success:Command_s
push 0x10017a3c
call fcn.1000895f
push 0x10017a3c
push 0x100134d8
push 4
call fcn.100010f0
lea ecx, [esp + 0x3c]
push ecx
push ebx
call fcn.10002290
add esp, 0x20
cmp eax, 0xffffffff
jne 0x1000213f
lea edx, [esp + 0x24]
push edx
push str.FTP_FileSend:FTP_CommandReceive_error:Command_s
push 0x10017a3c
call fcn.1000895f
push 0x10017a3c
push 0x100134d8
push 4
call fcn.100010f0
lea eax, [esp + 0x24]
push eax
call fcn.10002bc0
add esp, 0x1c
or eax, 0xffffffff
pop edi
pop esi
pop ebx
add esp, 0x10f4
ret
lea ecx, [esp + 0x24]
push ecx
call fcn.10002350
add esp, 4
cmp eax, 0xe2
je 0x10002192
lea edx, [esp + 0x24]
push edx
push str.FTP_FileSend:FTP_file_send_error:Command_s
push 0x10017a3c
call fcn.1000895f
push 0x10017a3c
push 0x100134d8
push 4
call fcn.100010f0
lea eax, [esp + 0x24]
push eax
call fcn.10002bc0
add esp, 0x1c
or eax, 0xffffffff
pop edi
pop esi
pop ebx
add esp, 0x10f4
ret
lea ecx, [esp + 0x24]
push ecx
push str.FTP_FileSend:ftp_file_send_success:Command_s
push 0x10017a3c
call fcn.1000895f
push 0x10017a3c
push 0x100134d8
push 4
call fcn.100010f0
add esp, 0x18
test esi, esi
je 0x100021c5
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
lea edx, [esp + 0xc]
push edx
call fcn.10002bc0
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebx
add esp, 0x10f4
ret