Function at 0x4053b0
Capabilities:
Encode data using xor
Initialize winsock library
Receive data
Receive data on socket

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1a0
mov eax, dword [0x443068]
xor eax, ebp
mov dword [ebp - 8], eax
push ebx
push esi
push edi
mov dword [ebp - 0x1a0], ecx
jmp 0x4053de
jmp 0x4053f0
jmp 0x405402
push 0x10000000
pop dword [0x4cac34]
jmp 0x40541b
cmp dword [0x4cac34], 0x10000000
je 0x40544d
xorps xmm0, xmm0
movups xmmword [0x43edb4], xmm0
movups xmmword [0x43eda4], xmm0
movups xmmword [0x43ed94], xmm0
movups xmmword [0x43ed84], xmm0
movups xmmword [0x43ed74], xmm0
lea eax, [ebp - 0x19c]
push eax
push 0x202
call dword [sym.imp.WS2_32.dll_WSAStartup]
test eax, eax
jne 0x40562c
mov ebx, dword [ebp - 0x1a0]
mov ecx, ebx
push 0x310c
push 0xd
push 0x4439f0
call fcn.00405b20
push eax
mov ecx, ebx
call fcn.00405160
test al, al
je 0x405633
push dword [ebp + 8]
mov ecx, ebx
call fcn.00405280
mov ecx, dword [ebx + 4]
test al, al
je 0x40564a
push 0
push 0x4c
lea eax, [ebx + 0x2d]
push eax
push ecx
call dword [sym.imp.WS2_32.dll_recv]
cmp eax, 0x4c
jne 0x40565f
mov al, byte [ebx + 0x30]
cmp al, byte [ebx + 0x2c]
jne 0x405676
lea edx, [ebx + 0x32]
mov edi, 0xc
add byte [edx - 1], 0xda
movzx ecx, byte [ebx + 0x30]
add byte [edx], 0xda
add cl, 0x25
xor byte [edx - 1], cl
movzx ecx, byte [ebx + 0x30]
add byte [edx + 1], 0xda
add cl, 0x25
xor byte [edx], cl
movzx ecx, byte [ebx + 0x30]
add byte [edx + 2], 0xda
add cl, 0x25
xor byte [edx + 1], cl
movzx ecx, byte [ebx + 0x30]
add byte [edx + 3], 0xda
add cl, 0x25
xor byte [edx + 2], cl
movzx ecx, byte [ebx + 0x30]
add byte [edx + 4], 0xda
add cl, 0x25
xor byte [edx + 3], cl
movzx ecx, byte [ebx + 0x30]
add cl, 0x25
xor byte [edx + 4], cl
add edx, 6
sub edi, 1
jne 0x4054d1
cmp byte [ebx + 0x32], 1
jne 0x40568d
lea eax, [ebx + 0x35]
mov ecx, 0x44bbd4
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x405560
test dl, dl
je 0x40555c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x405560
add eax, 2
add ecx, 2
test dl, dl
jne 0x405540
xor eax, eax
jmp 0x405565
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4056a4
mov ecx, ebx
call fcn.00405030
test al, al
je 0x4056bb
lea ecx, [ebx + 8]
lea eax, [ebx + 0x55]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4055a2
test dl, dl
je 0x40559e
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4055a2
add eax, 2
add ecx, 2
test dl, dl
jne 0x405582
xor eax, eax
jmp 0x4055a7
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4056d2
push eax
mov ecx, ebx
call fcn.00405710
push dword [ebx + 4]
call dword [sym.imp.WS2_32.dll_closesocket]
mov dword [ebx + 4], 0xffffffff
xorps xmm0, xmm0
movups xmmword [ebx + 8], xmm0
movups xmmword [ebx + 0x18], xmm0
mov dword [ebx + 0x28], 0
movups xmmword [ebx + 0x35], xmm0
movups xmmword [ebx + 0x45], xmm0
movups xmmword [ebx + 0x55], xmm0
movups xmmword [ebx + 0x65], xmm0
mov dword [ebx + 0x75], 0
jmp 0x405602
jmp 0x405619
mov ecx, dword [ebp - 8]
xor ecx, ebp
pop edi
pop esi
pop ebx
call fcn.0040c303
mov esp, ebp
pop ebp
ret 4
push 0
call fcn.00404fc0
push dword [ebx + 4]
call dword [sym.imp.WS2_32.dll_closesocket]
push 1
mov dword [ebx + 4], 0xffffffff
call fcn.00404fc0
push ecx
call dword [sym.imp.WS2_32.dll_closesocket]
push 2
mov dword [ebx + 4], 0xffffffff
call fcn.00404fc0
push dword [ebx + 4]
call dword [sym.imp.WS2_32.dll_closesocket]
push 3
mov dword [ebx + 4], 0xffffffff
call fcn.00404fc0
push dword [ebx + 4]
call dword [sym.imp.WS2_32.dll_closesocket]
push 4
mov dword [ebx + 4], 0xffffffff
call fcn.00404fc0
push dword [ebx + 4]
call dword [sym.imp.WS2_32.dll_closesocket]
push 5
mov dword [ebx + 4], 0xffffffff
call fcn.00404fc0
push dword [ebx + 4]
call dword [sym.imp.WS2_32.dll_closesocket]
push 6
mov dword [ebx + 4], 0xffffffff
call fcn.00404fc0
push dword [ebx + 4]
call dword [sym.imp.WS2_32.dll_closesocket]
push 7
mov dword [ebx + 4], 0xffffffff
call fcn.00404fc0
push dword [ebx + 4]
call dword [sym.imp.WS2_32.dll_closesocket]
push 8
mov dword [ebx + 4], 0xffffffff
call fcn.00404fc0
int3