Function at 0x57aba0
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x48
mov eax, dword [0x5ed130]
xor eax, ebp
mov dword [ebp - 8], eax
mov eax, dword [ebp + 8]
movzx ecx, word [eax + 0x10]
push ecx
call dword [sym.imp.WS2_32.dll_htons]
mov edx, dword [ebp + 8]
mov word [edx + 0x10], ax
mov eax, dword [ebp + 8]
movzx ecx, word [eax + 0x12]
push ecx
call dword [sym.imp.WS2_32.dll_htons]
mov edx, dword [ebp + 8]
mov word [edx + 0x12], ax
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x28]
push ecx
call dword [sym.imp.WS2_32.dll_htonl]
mov edx, dword [ebp + 8]
mov dword [edx + 0x28], eax
cmp dword [ebp + 0xc], 0x80
jae 0x57ac49
mov eax, dword [ebp + 8]
add eax, 0x4c
push eax
mov ecx, dword [ebp + 8]
add ecx, 0x3c
push ecx
mov edx, dword [ebp + 8]
add edx, 0x2c
push edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x28]
push ecx
mov edx, dword [ebp + 8]
add edx, 0x14
push edx
mov eax, dword [ebp + 8]
movzx ecx, word [eax + 0x12]
push ecx
mov edx, dword [ebp + 8]
movzx eax, word [edx + 0x10]
push eax
mov ecx, dword [ebp + 8]
push ecx
push 0x5ddcc8
mov edx, dword [0x5f9330]
push edx
call fcn.00567c70
push eax
call fcn.005679e0
add esp, 0x2c
jmp 0x57aca0
mov eax, dword [ebp + 8]
add eax, 0x60
push eax
mov ecx, dword [ebp + 8]
add ecx, 0x4c
push ecx
mov edx, dword [ebp + 8]
add edx, 0x3c
push edx
mov eax, dword [ebp + 8]
add eax, 0x2c
push eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x28]
push edx
mov eax, dword [ebp + 8]
add eax, 0x14
push eax
mov ecx, dword [ebp + 8]
movzx edx, word [ecx + 0x12]
push edx
mov eax, dword [ebp + 8]
movzx ecx, word [eax + 0x10]
push ecx
mov edx, dword [ebp + 8]
push edx
push 0x5ddd48
mov eax, dword [0x5f9330]
push eax
call fcn.00567c70
push eax
call fcn.005679e0
add esp, 0x30
call fcn.00401fe0
mov dword [ebp - 4], eax
mov ecx, dword [ebp - 4]
mov dword [ecx], 1
mov ecx, dword [ebp - 4]
add ecx, 0xc0
call fcn.00401720
movzx edx, al
test edx, edx
jne 0x57accf
mov eax, dword [ebp - 4]
mov dword [eax], 3
mov ecx, dword [ebp + 8]
movsx edx, byte [ecx]
test edx, edx
je 0x57ace8
mov eax, dword [ebp + 8]
push eax
mov ecx, dword [ebp - 4]
add ecx, 0x50
call fcn.00401640
mov ecx, dword [ebp + 8]
movzx edx, word [ecx + 0x10]
test edx, edx
je 0x57ad01
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + 8]
mov dx, word [ecx + 0x10]
mov word [eax + 4], dx
mov eax, dword [ebp + 8]
add eax, 0x14
push eax
mov ecx, dword [ebp - 4]
add ecx, 0x6c
call fcn.00401640
mov ecx, dword [ebp - 4]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x28]
mov dword [ecx + 0x114], eax
mov ecx, dword [ebp + 8]
movzx edx, word [ecx + 0x12]
push edx
mov ecx, dword [ebp - 4]
add ecx, 0x34
call fcn.00401700
push eax
mov eax, dword [ebp + 8]
add eax, 0x3c
push eax
mov ecx, dword [ebp + 8]
add ecx, 0x2c
push ecx
push str.ftp:___s:_s__s:_u
lea edx, [ebp - 0x48]
push edx
call fcn.0043fe06
add esp, 0x18
lea eax, [ebp - 0x48]
push eax
mov ecx, dword [ebp - 4]
add ecx, 0x88
call fcn.00401640
mov ecx, dword [ebp - 4]
cmp dword [ecx + 0x11c], 0
je 0x57adab
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x11c]
push eax
push 0x5ddde8
mov ecx, dword [0x5f9324]
push ecx
call fcn.00567c70
push eax
call fcn.005679e0
add esp, 0x10
push 1
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x11c]
push eax
call fcn.005782c0
add esp, 8
mov ecx, dword [ebp + 8]
add ecx, 0x4c
push ecx
mov edx, dword [ebp - 4]
add edx, 0xf8
push edx
call fcn.00414860
add esp, 8
movzx eax, al
test eax, eax
je 0x57ae11
mov ecx, dword [ebp + 8]
add ecx, 0x4c
push ecx
mov ecx, dword [ebp - 4]
add ecx, 0xf8
call fcn.00401700
push eax
push 0x5dddfc
mov edx, dword [0x5f9324]
push edx
call fcn.00567c70
push eax
call fcn.005679e0
add esp, 0x14
call fcn.0057a100
movzx eax, al
test eax, eax
je 0x57ae11
call fcn.00576c90
jmp 0x57aedf
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [0x5fd788], eax
mov ecx, dword [ebp - 4]
add ecx, 0x18
call fcn.00401720
movzx ecx, al
test ecx, ecx
jne 0x57ae4c
mov edx, dword [ebp - 4]
movsx eax, byte [edx + 0x2e4]
test eax, eax
je 0x57ae4c
mov ecx, dword [ebp - 4]
mov dword [ecx], 6
call fcn.00576bc0
jmp 0x57ae95
cmp dword [ebp + 0xc], 0x80
jne 0x57ae95
mov edx, dword [ebp + 8]
movsx eax, byte [edx + 0x60]
test eax, eax
je 0x57ae95
push 1
mov ecx, dword [ebp + 8]
add ecx, 0x60
push ecx
call fcn.0057cd70
mov ecx, eax
call fcn.0057cb50
mov edx, dword [ebp + 8]
add edx, 0x60
push edx
push 0x5dde28
mov eax, dword [0x5f9330]
push eax
call fcn.00567c70
push eax
call fcn.005679e0
add esp, 0x10
mov ecx, 0x5fe840
call fcn.00401700
push eax
mov ecx, dword [ebp + 8]
add ecx, 0x14
push ecx
call fcn.005758d0
add esp, 8
mov edx, dword [ebp - 4]
movzx eax, byte [edx + 7]
test eax, eax
jne 0x57aedf
mov ecx, dword [ebp - 4]
mov byte [ecx + 7], 1
push 0
push 0
push 0
push 0x57ab00
push 0
push 0
call fcn.0044151c
add esp, 0x18
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.0043dd0c
mov esp, ebp
pop ebp
ret