Function at 0x5386c0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
mov ecx, 6
push 0
push 0
dec ecx
jne 0x5386c8
push ecx
push ebx
push esi
push edi
mov dword [ebp - 8], edx
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
call fcn.004050b8
xor eax, eax
push ebp
push 0x53893d
push dword fs:[eax]
mov dword fs:[eax], esp
xor ecx, ecx
push ebp
push 0x538906
push dword fs:[ecx]
mov dword fs:[ecx], esp
lea eax, [ebp - 0x1c]
push eax
mov ecx, 2
mov edx, 1
mov eax, dword [ebp - 4]
call fcn.00405128
mov ecx, dword [ebp - 0x1c]
lea eax, [ebp - 0x18]
mov edx, 0x538954
call fcn.00404f14
mov eax, dword [ebp - 0x18]
call fcn.00409dd4
mov byte [ebp - 0x13], al
lea eax, [ebp - 0x24]
push eax
mov ecx, 2
mov edx, 3
mov eax, dword [ebp - 4]
call fcn.00405128
mov ecx, dword [ebp - 0x24]
lea eax, [ebp - 0x20]
mov edx, 0x538954
call fcn.00404f14
mov eax, dword [ebp - 0x20]
call fcn.00409dd4
mov byte [ebp - 0x12], al
lea eax, [ebp - 0x2c]
push eax
mov ecx, 2
mov edx, 5
mov eax, dword [ebp - 4]
call fcn.00405128
mov ecx, dword [ebp - 0x2c]
lea eax, [ebp - 0x28]
mov edx, 0x538954
call fcn.00404f14
mov eax, dword [ebp - 0x28]
call fcn.00409dd4
mov byte [ebp - 0x11], al
lea eax, [ebp - 0x34]
push eax
mov ecx, 2
mov edx, 7
mov eax, dword [ebp - 4]
call fcn.00405128
mov ecx, dword [ebp - 0x34]
lea eax, [ebp - 0x30]
mov edx, 0x538954
call fcn.00404f14
mov eax, dword [ebp - 0x30]
call fcn.00409dd4
mov byte [ebp - 0x10], al
mov byte [ebp - 0xf], 0x4d
mov al, 0x53
mov byte [ebp - 0xe], al
mov dl, byte [ebp - 0xf]
xor dl, al
mov byte [ebp - 9], dl
mov ebx, 1
lea eax, [ebp - 0x13]
lea edx, [ebp - 0xd]
mov cl, byte [eax]
movzx esi, byte [0x5603a0]
add esi, ebx
dec esi
and esi, 0x8000007f
jns 0x5387f6
dec esi
or esi, 0xffffff80
inc esi
xor cl, byte [esi + 0x560304]
xor cl, byte [0x5603a1]
mov byte [edx], cl
inc ebx
inc edx
inc eax
cmp ebx, 5
jne 0x5387dd
mov ebx, 4
lea eax, [ebp - 0xd]
mov dl, byte [eax]
xor byte [ebp - 9], dl
inc eax
dec ebx
jne 0x538814
xor eax, eax
mov dword [0x56039c], eax
lea edx, [ebp - 0xf]
mov cx, 7
mov eax, dword [0x5602fc]
call fcn.004f6e0c
mov ebx, 0x64
push 0xa
call sub.kernel32.dll_Sleep_1
mov eax, dword [0x55d3b8]
mov eax, dword [eax]
call fcn.0047c944
cmp dword [0x56039c], 0
jg 0x538859
dec ebx
jne 0x53883a
cmp dword [0x56039c], 0
jne 0x53887c
mov eax, dword [ebp - 8]
mov edx, 0x538960
call fcn.00404c5c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x53891a
mov al, byte [0x560384]
cmp al, 0x4d
jne 0x5388ef
cmp byte [0x560385], 0x53
jne 0x5388ef
xor al, byte [0x560385]
xor al, byte [0x560386]
cmp al, byte [0x560387]
jne 0x5388ef
xor eax, eax
mov al, byte [0x5603a1]
mov edx, eax
imul edx, eax
shr edx, 1
add edx, 9
and edx, 0xff
mov byte [0x5603a1], dl
xor eax, eax
mov al, byte [0x5603a0]
mov edx, eax
imul edx, eax
xor eax, eax
mov al, byte [0x5603a1]
add edx, eax
and edx, 0xff
mov byte [0x5603a0], dl
mov eax, dword [ebp - 8]
mov edx, 0x53896c
call fcn.00404c5c
jmp 0x5388fc
mov eax, dword [ebp - 8]
mov edx, 0x538978
call fcn.00404c5c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x53891a
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x538944
lea eax, [ebp - 0x34]
mov edx, 8
call fcn.00404c2c
lea eax, [ebp - 4]
call fcn.00404c08
ret