Function at 0x41ca60
Capabilities:
Download and write a file
Receive and write data from server to client
Receive data
Receive data on socket
Write file on windows

Disassembly:
sub esp, 0x418
mov eax, dword [0x5b0c20]
xor eax, esp
mov dword [esp + 0x414], eax
mov eax, dword [esp + 0x420]
mov ecx, dword [esp + 0x424]
mov edx, dword [esp + 0x428]
push ebp
mov ebp, dword [esp + 0x420]
push esi
mov esi, dword [esp + 0x434]
mov dword [esp + 0x14], eax
mov dword [esp + 0xc], ecx
mov dword [esp + 8], edx
test ebp, ebp
jne 0x41cac3
pop esi
lea eax, [ebp - 2]
pop ebp
mov ecx, dword [esp + 0x414]
xor ecx, esp
call fcn.00524d83
add esp, 0x418
ret
push edi
push ebp
call fcn.0041c220
mov edi, eax
add esp, 4
test edi, edi
jne 0x41caee
lea eax, [edi - 3]
pop edi
pop esi
pop ebp
mov ecx, dword [esp + 0x414]
xor ecx, esp
call fcn.00524d83
add esp, 0x418
ret
mov eax, dword [edi]
test eax, eax
je 0x41cb2c
push 0x55401c
push eax
call fcn.005275f1
add esp, 8
test eax, eax
je 0x41cb2c
push edi
call fcn.0041c3b0
add esp, 4
pop edi
pop esi
mov eax, 0xfffffffb
pop ebp
mov ecx, dword [esp + 0x414]
xor ecx, esp
call fcn.00524d83
add esp, 0x418
ret
cmp dword [edi + 0x14], 0
jne 0x41cb39
mov dword [edi + 0x14], 0x50
push ebx
push esi
call fcn.0041c220
mov ebx, eax
add esp, 4
test ebx, ebx
jne 0x41cb55
test esi, esi
je 0x41cb55
lea eax, [ebx - 4]
jmp 0x41cf92
mov eax, dword [esp + 0x14]
test eax, eax
je 0x41cb88
mov ecx, dword [esp + 0x10]
push ecx
push 0
push 0x64
call eax
add esp, 0xc
test eax, eax
je 0x41cb88
push edi
call fcn.0041c3b0
push ebx
call fcn.0041c3b0
add esp, 8
mov eax, 0xfffffff7
jmp 0x41cf92
test ebx, ebx
je 0x41ccb4
mov edx, dword [ebx]
push 0x55401c
push edx
call fcn.005275f1
add esp, 8
test eax, eax
jne 0x41cbca
mov eax, dword [ebx + 0x14]
mov ecx, dword [ebx + 0xc]
push eax
push ecx
call fcn.0041c400
mov esi, eax
add esp, 8
test esi, esi
jge 0x41ccfa
push edi
call fcn.0041c3b0
push ebx
jmp 0x41ccd2
mov edx, dword [ebx]
push str.socks4
push edx
call fcn.005275f1
add esp, 8
test eax, eax
jne 0x41cc37
mov eax, dword [ebx + 0x14]
mov ecx, dword [ebx + 0xc]
push eax
push ecx
call fcn.0041c400
mov esi, eax
add esp, 8
test esi, esi
jl 0x41cc65
mov edx, dword [ebx + 4]
mov eax, dword [edi + 0x14]
mov ecx, dword [edi + 0xc]
push edx
push eax
push ecx
push esi
call fcn.0041c4f0
mov ebp, eax
add esp, 0x10
test ebp, ebp
je 0x41ccaf
push edi
call fcn.0041c3b0
push ebx
call fcn.0041c3b0
add esp, 8
push 2
push esi
call sub.WS2_32.dll_shutdown
push esi
call sub.WS2_32.dll_closesocket
mov eax, ebp
jmp 0x41cf92
mov edx, dword [ebx]
push str.socks5
push edx
call fcn.005275f1
add esp, 8
test eax, eax
jne 0x41ccf2
mov eax, dword [ebx + 0x14]
mov ecx, dword [ebx + 0xc]
push eax
push ecx
call fcn.0041c400
mov esi, eax
add esp, 8
test esi, esi
jge 0x41cc8c
push edi
call fcn.0041c3b0
push ebx
call fcn.0041c3b0
add esp, 8
push 2
push esi
call sub.WS2_32.dll_shutdown
push esi
call sub.WS2_32.dll_closesocket
mov eax, 0xfffffff0
jmp 0x41cf92
mov edx, dword [ebx + 8]
mov eax, dword [ebx + 4]
mov ecx, dword [edi + 0x14]
push edx
mov edx, dword [edi + 0xc]
push eax
push ecx
push edx
push esi
call fcn.0041c6b0
mov ebp, eax
add esp, 0x14
test ebp, ebp
jne 0x41cc13
mov ebp, dword [edi + 0x10]
jmp 0x41ccfa
mov eax, dword [edi + 0x14]
mov ecx, dword [edi + 0xc]
push eax
push ecx
call fcn.0041c400
mov esi, eax
add esp, 8
test esi, esi
jge 0x41ccaf
push edi
call fcn.0041c3b0
push 0
call fcn.0041c3b0
add esp, 8
push 2
push esi
call sub.WS2_32.dll_shutdown
push esi
call sub.WS2_32.dll_closesocket
mov eax, 0xfffffff8
jmp 0x41cf92
mov esi, dword [esp + 0x18]
mov ebp, dword [esp + 0x18]
mov eax, dword [esp + 0x14]
test eax, eax
je 0x41cd28
mov edx, dword [esp + 0x10]
push edx
push 0
push 0x65
call eax
add esp, 0xc
test eax, eax
jne 0x41cd80
mov eax, dword [esp + 0x10]
push eax
push 0
push 0x66
call dword [esp + 0x20]
add esp, 0xc
test eax, eax
jne 0x41cd80
mov ecx, dword [edi + 0xc]
push ecx
push ebp
push str.GET__s_HTTP_1.0_r_nHost:__s_r_nAccept:___r_n_r_n_r_n
push esi
call fcn.0041c800
add esp, 0x10
test eax, eax
je 0x41cd66
push edi
call fcn.0041c3b0
push ebx
call fcn.0041c3b0
add esp, 8
push 2
push esi
call sub.WS2_32.dll_shutdown
push esi
call sub.WS2_32.dll_closesocket
mov eax, 0xfffffff6
jmp 0x41cf92
mov eax, dword [esp + 0x14]
test eax, eax
je 0x41cd94
mov edx, dword [esp + 0x10]
push edx
push 0
push 0x67
call eax
add esp, 0xc
test eax, eax
je 0x41cd94
push edi
call fcn.0041c3b0
push ebx
call fcn.0041c3b0
add esp, 8
jmp 0x41ce49
lea eax, [esp + 0x20]
push eax
push esi
call fcn.0041c920
mov ebp, eax
add esp, 8
test ebp, ebp
jne 0x41cc13
mov ebp, dword [esp + 0x20]
mov ecx, dword [ebp + 4]
push ecx
call fcn.00527408
mov ecx, dword [esp + 0x18]
add esp, 4
mov dword [esp + 0x18], eax
test ecx, ecx
je 0x41cde1
mov edx, dword [esp + 0x10]
push edx
push eax
push 0x6a
call ecx
add esp, 0xc
test eax, eax
jne 0x41ce34
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
cmp eax, 0xc8
je 0x41ce14
push edi
call fcn.0041c3b0
push ebx
call fcn.0041c3b0
push ebp
call fcn.0041c9e0
add esp, 0xc
push 2
push esi
call sub.WS2_32.dll_shutdown
push esi
call sub.WS2_32.dll_closesocket
mov eax, dword [esp + 0x18]
jmp 0x41cf92
test ecx, ecx
je 0x41ce61
mov eax, dword [esp + 0x10]
push eax
push ebp
call fcn.0041ca20
add esp, 4
push eax
push 0x6b
call dword [esp + 0x20]
add esp, 0xc
test eax, eax
je 0x41ce61
push edi
call fcn.0041c3b0
push ebx
call fcn.0041c3b0
push ebp
call fcn.0041c9e0
add esp, 0xc
push 2
push esi
call sub.WS2_32.dll_shutdown
push esi
call sub.WS2_32.dll_closesocket
mov eax, 0xfffffff7
jmp 0x41cf92
mov ecx, dword [esp + 0x1c]
push 0x55404c
push ecx
call fcn.005279de
add esp, 8
mov dword [esp + 0x1c], eax
test eax, eax
jne 0x41cea8
push edi
call fcn.0041c3b0
push ebx
call fcn.0041c3b0
push ebp
call fcn.0041c9e0
add esp, 0xc
push 2
push esi
call sub.WS2_32.dll_shutdown
push esi
call sub.WS2_32.dll_closesocket
mov eax, 0xfffffff3
jmp 0x41cf92
push 0
push 0x400
lea edx, [esp + 0x2c]
push edx
push esi
mov dword [esp + 0x28], 0
call sub.WS2_32.dll_recv
mov ebp, eax
test ebp, ebp
je 0x41cf34
jmp 0x41ced0
cmp ebp, 0xffffffff
je 0x41cfab
mov eax, dword [esp + 0x1c]
push eax
push 1
lea ecx, [esp + 0x2c]
push ebp
push ecx
call fcn.00527898
add esp, 0x10
cmp eax, 1
jne 0x41cfe6
mov eax, dword [esp + 0x14]
add dword [esp + 0x18], ebp
test eax, eax
je 0x41cf1c
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x18]
push edx
push ecx
push 0x68
call eax
add esp, 0xc
test eax, eax
jne 0x41d024
push 0
push 0x400
lea edx, [esp + 0x2c]
push edx
push esi
call sub.WS2_32.dll_recv
mov ebp, eax
test ebp, ebp
jne 0x41ced0
mov ebp, dword [esp + 0x14]
test ebp, ebp
je 0x41cf4a
mov eax, dword [esp + 0x10]
push eax
push 0
push 0x69
call ebp
add esp, 0xc
push edi
call fcn.0041c3b0
push ebx
call fcn.0041c3b0
mov ecx, dword [esp + 0x28]
push ecx
call fcn.0041c9e0
add esp, 0xc
push 2
push esi
call sub.WS2_32.dll_shutdown
push esi
call sub.WS2_32.dll_closesocket
mov edx, dword [esp + 0x1c]
push edx
call fcn.005276ba
add esp, 4
test ebp, ebp
je 0x41cf90
mov eax, dword [esp + 0x10]
push eax
push 0
push 0x6c
call ebp
add esp, 0xc
xor eax, eax
mov ecx, dword [esp + 0x424]
pop ebx
pop edi
pop esi
pop ebp
xor ecx, esp
call fcn.00524d83
add esp, 0x418
ret
push edi
call fcn.0041c3b0
push ebx
call fcn.0041c3b0
mov eax, dword [esp + 0x28]
push eax
call fcn.0041c9e0
add esp, 0xc
push 2
push esi
call sub.WS2_32.dll_shutdown
push esi
call sub.WS2_32.dll_closesocket
mov ecx, dword [esp + 0x1c]
push ecx
call fcn.005276ba
add esp, 4
mov eax, 0xfffffff5
jmp 0x41cf92
push edi
call fcn.0041c3b0
push ebx
call fcn.0041c3b0
mov edx, dword [esp + 0x28]
push edx
call fcn.0041c9e0
add esp, 0xc
push 2
push esi
call sub.WS2_32.dll_shutdown
push esi
call sub.WS2_32.dll_closesocket
mov eax, dword [esp + 0x1c]
push eax
call fcn.005276ba
add esp, 4
mov eax, 0xfffffff2
jmp 0x41cf92
push edi
call fcn.0041c3b0
push ebx
call fcn.0041c3b0
mov ecx, dword [esp + 0x28]
push ecx
call fcn.0041c9e0
add esp, 0xc
push 2
push esi
call sub.WS2_32.dll_shutdown
push esi
call sub.WS2_32.dll_closesocket
mov edx, dword [esp + 0x1c]
push edx
call fcn.005276ba
add esp, 4
mov eax, 0xfffffff7
jmp 0x41cf92