Function at 0x4163e0
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 [0x442008]
xor eax, ebp
mov dword [ebp - 8], eax
push ebx
push esi
push edi
mov dword [ebp - 0x1a0], ecx
jmp 0x41640e
jmp 0x416420
jmp 0x416432
push 0x10000000
pop dword [0x511f9c]
jmp 0x41644b
cmp dword [0x511f9c], 0x10000000
je 0x41647d
xorps xmm0, xmm0
movups xmmword [0x43df9c], xmm0
movups xmmword [0x43df8c], xmm0
movups xmmword [0x43df7c], xmm0
movups xmmword [0x43df6c], xmm0
movups xmmword [0x43df5c], xmm0
lea eax, [ebp - 0x19c]
push eax
push 0x202
call dword [sym.imp.WS2_32.dll_WSAStartup]
test eax, eax
jne 0x41665c
mov ebx, dword [ebp - 0x1a0]
mov ecx, ebx
push 0x310c
push 0xd
push 0x4475fc
call fcn.00416b50
push eax
mov ecx, ebx
call fcn.00416190
test al, al
je 0x416663
push dword [ebp + 8]
mov ecx, ebx
call fcn.004162b0
mov ecx, dword [ebx + 4]
test al, al
je 0x41667a
push 0
push 0x4c
lea eax, [ebx + 0x2d]
push eax
push ecx
call dword [sym.imp.WS2_32.dll_recv]
cmp eax, 0x4c
jne 0x41668f
mov al, byte [ebx + 0x30]
cmp al, byte [ebx + 0x2c]
jne 0x4166a6
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 0x416501
cmp byte [ebx + 0x32], 1
jne 0x4166bd
lea eax, [ebx + 0x35]
mov ecx, 0x511678
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x416590
test dl, dl
je 0x41658c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x416590
add eax, 2
add ecx, 2
test dl, dl
jne 0x416570
xor eax, eax
jmp 0x416595
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4166d4
mov ecx, ebx
call fcn.00416060
test al, al
je 0x4166eb
lea ecx, [ebx + 8]
lea eax, [ebx + 0x55]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4165d2
test dl, dl
je 0x4165ce
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4165d2
add eax, 2
add ecx, 2
test dl, dl
jne 0x4165b2
xor eax, eax
jmp 0x4165d7
sbb eax, eax
or eax, 1
test eax, eax
jne 0x416702
push eax
mov ecx, ebx
call fcn.00416740
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 0x416632
jmp 0x416649
mov ecx, dword [ebp - 8]
xor ecx, ebp
pop edi
pop esi
pop ebx
call fcn.004198d7
mov esp, ebp
pop ebp
ret 4
push 0
call fcn.00415ff0
push dword [ebx + 4]
call dword [sym.imp.WS2_32.dll_closesocket]
push 1
mov dword [ebx + 4], 0xffffffff
call fcn.00415ff0
push ecx
call dword [sym.imp.WS2_32.dll_closesocket]
push 2
mov dword [ebx + 4], 0xffffffff
call fcn.00415ff0
push dword [ebx + 4]
call dword [sym.imp.WS2_32.dll_closesocket]
push 3
mov dword [ebx + 4], 0xffffffff
call fcn.00415ff0
push dword [ebx + 4]
call dword [sym.imp.WS2_32.dll_closesocket]
push 4
mov dword [ebx + 4], 0xffffffff
call fcn.00415ff0
push dword [ebx + 4]
call dword [sym.imp.WS2_32.dll_closesocket]
push 5
mov dword [ebx + 4], 0xffffffff
call fcn.00415ff0
push dword [ebx + 4]
call dword [sym.imp.WS2_32.dll_closesocket]
push 6
mov dword [ebx + 4], 0xffffffff
call fcn.00415ff0
push dword [ebx + 4]
call dword [sym.imp.WS2_32.dll_closesocket]
push 7
mov dword [ebx + 4], 0xffffffff
call fcn.00415ff0
push dword [ebx + 4]
call dword [sym.imp.WS2_32.dll_closesocket]
push 8
mov dword [ebx + 4], 0xffffffff
call fcn.00415ff0
int3