Function at 0x4bb3b0
Capabilities:
Create directory
Delete file
Download and write a file
Receive and write data from server to client
Receive data
Receive data on socket
Send data
Send data on socket
Write file on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x536919
mov eax, dword fs:[0]
push eax
sub esp, 0x360
mov eax, dword [0x58c250]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [ebp + 0xc]
xor ebx, ebx
mov esi, ecx
mov edi, 7
xor ecx, ecx
mov dword [ebp - 0x36c], eax
mov byte [ebp - 0x328], bl
mov dword [ebp - 0x327], ebx
mov dword [ebp - 0x323], ebx
mov byte [ebp - 0x31f], bl
mov dword [ebp - 0x330], edi
mov dword [ebp - 0x334], ebx
mov word [ebp - 0x344], cx
mov dword [ebp - 4], ebx
push 0x204
lea edx, [ebp - 0x318]
push ebx
push edx
mov dword [ebp - 0x31c], ebx
call fcn.004f0550
push 0x102
lea ecx, [ebp - 0x112]
xor eax, eax
push ebx
push ecx
mov word [ebp - 0x114], ax
call fcn.004f0550
mov edx, dword [ebp + 8]
add esp, 0x18
push ebx
push 0x1000
push 0x592e78
push edx
call dword [sym.imp.WS2_32.dll_recv]
cmp eax, 0xffffffff
je 0x4bbb05
cmp eax, ebx
je 0x4bbb05
mov eax, dword [0x592e78]
mov ecx, dword [0x592e7c]
mov dx, word [0x592e80]
mov dword [ebp - 0x328], eax
mov eax, dword [0x592e7a]
mov dword [ebp - 0x324], ecx
mov word [ebp - 0x320], dx
cmp eax, 0x20009304
jne 0x4bb4b6
mov byte [ebp - 0x349], 1
jmp 0x4bb4c7
cmp eax, 0x20009300
jne 0x4bbac0
mov byte [ebp - 0x349], bl
cmp dword [esi + 0x2d14], 0x24
mov edi, dword [0x592e86]
mov dword [ebp - 0x35c], edi
jbe 0x4bb4f5
mov eax, dword [0x592e82]
push eax
lea ecx, [ebp - 0x31c]
push 0x592e8a
push ecx
call fcn.004f01e0
jmp 0x4bb55e
mov edx, dword [0x592e82]
push edx
lea eax, [ebp - 0x114]
push 0x592e8a
push eax
call fcn.004f01e0
add esp, 0xc
lea ecx, [ebp - 0x114]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrlenA]
lea edi, [eax + 1]
cmp edi, 0x3fffffff
jle 0x4bb52c
xor eax, eax
jmp 0x4bb546
lea eax, [edi + edi]
call fcn.004f15e0
mov eax, esp
push 3
push edi
lea edx, [ebp - 0x114]
push edx
push eax
call fcn.00401370
push eax
lea eax, [ebp - 0x31c]
push 0x104
push eax
call fcn.004f3a1a
mov edi, dword [ebp - 0x35c]
add esp, 0xc
mov dword [ebp - 0x322], ebx
mov word [ebp - 0x328], 0x24
cmp edi, 0xffffffff
je 0x4bb583
mov dword [ebp - 0x326], 0x55aa0000
cmp edi, ebx
jne 0x4bb589
mov dword [ebp - 0x326], ebx
mov ecx, dword [ebp - 0x328]
mov edx, dword [ebp - 0x324]
mov ax, word [ebp - 0x320]
push ebx
push 0xa
mov dword [0x591a78], ecx
mov ecx, dword [ebp + 8]
push 0x591a78
push ecx
mov dword [0x591a7c], edx
mov word [0x591a80], ax
call dword [sym.imp.WS2_32.dll_send]
or ecx, 0xffffffff
cmp eax, ecx
jne 0x4bb5d9
mov dword [ebp - 4], ecx
mov dword [ebp - 0x330], 7
jmp 0x4bbb12
cmp edi, ecx
je 0x4bbab0
cmp edi, ebx
je 0x4bbab0
lea eax, [ebp - 0x31c]
push eax
lea ecx, [ebp - 0x350]
call fcn.00411460
mov byte [ebp - 4], 3
lea ecx, [esi + 0x18bc]
push ecx
lea ecx, [ebp - 0x348]
call fcn.00411460
mov byte [ebp - 4], 4
push 0x53bb00
lea ecx, [ebp - 0x348]
call fcn.0041b330
mov ecx, dword [ebp - 0x350]
cmp dword [ecx - 0xc], ebx
jle 0x4bb7e5
push 0x5c
push ecx
call fcn.004f4b06
add esp, 8
cmp eax, ebx
je 0x4bb7e5
sub eax, dword [ebp - 0x350]
sar eax, 1
cmp eax, 0xffffffff
je 0x4bb7e5
mov eax, dword [ebp + 0x10]
cmp eax, 0x20009120
jne 0x4bb66a
add esi, 0x46c
jmp 0x4bb677
cmp eax, 0x20009135
jne 0x4bb693
add esi, 0x28fc
push esi
lea ecx, [ebp - 0x348]
call fcn.0040f940
push 0x53bb00
lea ecx, [ebp - 0x348]
call fcn.0041b330
lea ecx, [ebp - 0x358]
call fcn.00401a00
mov byte [ebp - 4], 5
mov edx, dword [ebp - 0x350]
mov edi, dword [edx - 0xc]
lea eax, [ebp - 0x354]
push eax
push 0x53bb00
lea ecx, [ebp - 0x360]
push ecx
lea ecx, [ebp - 0x350]
mov dword [ebp - 0x354], ebx
call fcn.00431940
mov byte [ebp - 4], 6
push eax
lea ecx, [ebp - 0x358]
call fcn.004022d0
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x360]
call fcn.00401ac0
cmp dword [ebp - 0x354], edi
jge 0x4bb7be
mov esi, dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
push 0x5c
lea edx, [ebp - 0x358]
push edx
lea eax, [ebp - 0x360]
push eax
call fcn.00431760
add esp, 0xc
mov byte [ebp - 4], 7
mov eax, dword [eax]
mov ecx, dword [eax - 0xc]
push ecx
push eax
lea ecx, [ebp - 0x348]
call fcn.00401ed0
mov byte [ebp - 4], 5
mov eax, dword [ebp - 0x360]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4bb754
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [ebp - 0x348]
push ebx
push ecx
call esi
lea edx, [ebp - 0x354]
push edx
push 0x53bb00
lea eax, [ebp - 0x368]
push eax
lea ecx, [ebp - 0x350]
call fcn.00431940
mov byte [ebp - 4], 9
push eax
lea ecx, [ebp - 0x358]
call fcn.004022d0
mov byte [ebp - 4], 5
mov eax, dword [ebp - 0x368]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4bb7b2
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
cmp dword [ebp - 0x354], edi
jl 0x4bb700
mov eax, dword [ebp - 0x358]
mov ecx, dword [eax - 0xc]
push ecx
push eax
lea ecx, [ebp - 0x348]
call fcn.00401ed0
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x358]
call fcn.00401ac0
jmp 0x4bb805
mov ecx, dword [ebp - 0x348]
push ecx
push ebx
call dword [sym.imp.SHELL32.dll_SHCreateDirectory]
lea edx, [ebp - 0x31c]
push edx
lea ecx, [ebp - 0x348]
call fcn.0041b330
mov eax, dword [ebp - 0x348]
push ebx
push 0x80
push 2
push ebx
push ebx
push 0x40000000
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov edi, eax
cmp edi, 0xffffffff
jne 0x4bb885
mov edx, dword [ebp + 8]
push ebx
push 0xa
lea ecx, [ebp - 0x328]
push ecx
push edx
mov dword [ebp - 0x322], ebx
mov word [ebp - 0x328], 0x24
mov dword [ebp - 0x326], ebx
call dword [sym.imp.WS2_32.dll_send]
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x348]
call fcn.00401ac0
mov byte [ebp - 4], bl
lea ecx, [ebp - 0x350]
call fcn.00401ac0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x344]
call fcn.00406000
jmp 0x4bbb21
mov dword [ebp - 0x354], ebx
mov dword [ebp - 0x364], ebx
mov dword [ebp - 0x358], 0x1000
cmp byte [ebp - 0x349], bl
jne 0x4bb911
push 5
call dword [sym.imp.KERNEL32.dll_Sleep]
mov eax, dword [ebp + 8]
push ebx
push 0xa
push 0x592e78
push eax
call dword [sym.imp.WS2_32.dll_recv]
mov ecx, dword [0x592e7c]
mov dx, word [0x592e80]
mov esi, eax
mov eax, dword [0x592e78]
mov dword [ebp - 0x328], eax
mov dword [ebp - 0x324], ecx
mov word [ebp - 0x320], dx
cmp al, 0x24
je 0x4bb905
push ebx
lea eax, [ebp - 0x364]
push eax
push esi
push 0x592e78
push edi
call dword [sym.imp.KERNEL32.dll_WriteFile]
add dword [ebp - 0x354], esi
jmp 0x4bb911
mov ecx, dword [0x592e7e]
mov dword [ebp - 0x358], ecx
mov edx, dword [ebp - 0x358]
mov eax, dword [ebp + 8]
push ebx
push edx
push 0x592e78
push eax
call dword [sym.imp.WS2_32.dll_recv]
mov esi, eax
cmp esi, 0xffffffff
je 0x4bb9db
push ebx
lea ecx, [ebp - 0x364]
push ecx
push esi
push 0x592e78
push edi
call dword [sym.imp.KERNEL32.dll_WriteFile]
mov eax, dword [ebp - 0x354]
add eax, esi
mov dword [ebp - 0x354], eax
cmp eax, dword [ebp - 0x35c]
jae 0x4bb9f4
cmp esi, ebx
je 0x4bb9f4
cmp byte [ebp - 0x349], bl
jne 0x4bb891
push ebx
mov dword [ebp - 0x326], 0x55aa0000
mov word [ebp - 0x328], 0x24
mov edx, dword [ebp - 0x328]
push 0xa
mov dword [ebp - 0x322], ebx
mov eax, dword [ebp - 0x324]
mov cx, word [ebp - 0x320]
mov dword [0x591a78], edx
mov edx, dword [ebp + 8]
push 0x591a78
push edx
mov dword [0x591a7c], eax
mov word [0x591a80], cx
call dword [sym.imp.WS2_32.dll_send]
cmp eax, 0xffffffff
jne 0x4bb891
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x4bb851
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x348]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
jmp 0x4bb851
mov esi, dword [sym.imp.KERNEL32.dll_CloseHandle]
push edi
call esi
push ebx
mov dword [ebp - 0x326], 0x55aa0000
mov word [ebp - 0x328], 0x24
mov ecx, dword [ebp - 0x328]
push 0xa
mov dword [ebp - 0x322], ebx
mov edx, dword [ebp - 0x324]
mov ax, word [ebp - 0x320]
mov dword [0x591a78], ecx
mov ecx, dword [ebp + 8]
push 0x591a78
push ecx
mov dword [0x591a7c], edx
mov word [0x591a80], ax
call dword [sym.imp.WS2_32.dll_send]
cmp eax, 0xffffffff
jne 0x4bba5a
push edi
call esi
jmp 0x4bb851
lea ecx, [ebp - 0x348]
call fcn.00408560
mov edx, dword [ebp - 0x36c]
push eax
push 0x104
push edx
call fcn.004f3a1a
add esp, 0xc
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x348]
call fcn.00401ac0
mov byte [ebp - 4], bl
lea ecx, [ebp - 0x350]
call fcn.00401ac0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x344]
call fcn.00406000
mov eax, 1
jmp 0x4bbb23
mov dword [ebp - 4], ecx
lea ecx, [ebp - 0x344]
call fcn.00406000
jmp 0x4bbb21
mov eax, dword [0x58c214]
mov edx, dword [eax + 0xc]
mov ecx, 0x58c214
call edx
add eax, 0x10
mov dword [ebp - 0x35c], eax
mov byte [ebp - 4], 2
mov eax, dword [ebp - 0x326]
push eax
lea ecx, [ebp - 0x35c]
push str.Bad_data_type._Received_type__04Xh
push ecx
call fcn.00401f60
add esp, 0xc
mov byte [ebp - 4], bl
lea ecx, [ebp - 0x35c]
jmp 0x4bb869
mov dword [ebp - 4], 0xffffffff
mov dword [ebp - 0x330], edi
xor edx, edx
mov word [ebp - 0x344], dx
mov dword [ebp - 0x334], ebx
xor eax, eax
lea esp, [ebp - 0x37c]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004f0194
mov esp, ebp
pop ebp
ret 0xc