Function at 0x4d4610
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x14
push ebx
push esi
push edi
xor ebx, ebx
call fcn.0041ece0
test al, al
jne 0x4d4629
mov ebx, 3
mov ecx, ebx
xor ecx, 1
mov edx, ebx
xor edx, 2
xor eax, eax
lea esi, [ebp + ebx - 0x10]
lea edi, [ebp + ecx - 0x10]
xor ebx, 3
lea ecx, [ebp + edx - 0x10]
lea edx, [ebp + ebx - 0x10]
mov dword [ebp - 0x14], edx
jmp 0x4d4650
mov dl, byte [eax + 0x573ef0]
mov bl, dl
and bl, 2
neg bl
sbb bl, bl
and bl, 0xb4
mov byte [ebp - 2], bl
mov bl, dl
and bl, 1
mov byte [ebp - 3], bl
neg bl
sbb bl, bl
shr dl, 2
and bl, 0x5a
xor dl, bl
xor dl, byte [ebp - 2]
mov byte [ebp - 1], bl
xor dl, byte [eax + 0x573ef0]
mov bl, byte [ebp - 3]
mov byte [ebp - 8], dl
mov dl, byte [eax + 0x573ef0]
shr dl, 1
xor dl, byte [eax + 0x573ef0]
shr dl, 1
neg bl
sbb bl, bl
and bl, 0xb4
xor dl, bl
xor dl, byte [ebp - 1]
mov byte [ebp - 3], bl
xor dl, byte [ebp - 2]
mov bl, byte [eax + 0x573ff0]
xor dl, byte [eax + 0x573ef0]
mov byte [ebp - 0xc], dl
mov dl, bl
and dl, 2
neg dl
sbb dl, dl
and dl, 0xb4
mov byte [ebp - 1], dl
mov dl, bl
and dl, 1
mov byte [ebp - 3], dl
neg dl
sbb dl, dl
and dl, 0x5a
mov byte [ebp - 2], dl
mov dl, bl
shr dl, 2
xor dl, byte [ebp - 2]
xor dl, byte [ebp - 1]
xor dl, bl
mov byte [ebp - 7], dl
mov dl, bl
shr dl, 1
xor dl, bl
mov bl, byte [ebp - 3]
shr dl, 1
neg bl
sbb bl, bl
and bl, 0xb4
xor dl, bl
xor dl, byte [ebp - 2]
mov byte [ebp - 3], bl
mov bl, byte [eax + 0x573ff0]
xor dl, byte [ebp - 1]
mov byte [esi], bl
xor dl, byte [eax + 0x573ff0]
movzx ebx, byte [ebp - 7]
mov byte [edi], bl
mov ebx, dword [ebp - 0x14]
mov byte [ecx], dl
mov byte [ebx], dl
mov byte [ebp - 0xb], dl
mov edx, dword [ebp - 0x10]
mov dword [eax*4 + 0x576e48], edx
mov dl, byte [ebp - 0xc]
mov byte [esi], dl
mov byte [edi], dl
movzx edx, byte [ebp - 8]
mov byte [ecx], dl
mov dl, byte [eax + 0x573ef0]
mov byte [ebx], dl
mov edx, dword [ebp - 0x10]
mov dword [eax*4 + 0x577248], edx
movzx edx, byte [ebp - 7]
mov byte [esi], dl
movzx edx, byte [ebp - 0xb]
mov byte [edi], dl
mov dl, byte [eax + 0x573ff0]
mov byte [ecx], dl
movzx edx, byte [ebp - 0xb]
mov byte [ebx], dl
mov edx, dword [ebp - 0x10]
mov dword [eax*4 + 0x577648], edx
movzx edx, byte [ebp - 8]
mov byte [esi], dl
mov dl, byte [eax + 0x573ef0]
mov byte [edi], dl
movzx edx, byte [ebp - 0xc]
mov byte [ecx], dl
movzx edx, byte [ebp - 8]
mov byte [ebx], dl
mov edx, dword [ebp - 0x10]
mov dword [eax*4 + 0x577a48], edx
mov dl, byte [eax + 0x573ef1]
mov bl, dl
and bl, 2
neg bl
sbb bl, bl
and bl, 0xb4
mov byte [ebp - 2], bl
mov bl, dl
and bl, 1
mov byte [ebp - 3], bl
neg bl
sbb bl, bl
shr dl, 2
and bl, 0x5a
xor dl, bl
xor dl, byte [ebp - 2]
mov byte [ebp - 1], bl
xor dl, byte [eax + 0x573ef1]
mov bl, byte [ebp - 3]
mov byte [ebp - 8], dl
mov dl, byte [eax + 0x573ef1]
shr dl, 1
xor dl, byte [eax + 0x573ef1]
shr dl, 1
neg bl
sbb bl, bl
and bl, 0xb4
xor dl, bl
xor dl, byte [ebp - 1]
mov byte [ebp - 3], bl
xor dl, byte [ebp - 2]
mov bl, byte [eax + 0x573ff1]
xor dl, byte [eax + 0x573ef1]
mov byte [ebp - 0xc], dl
mov dl, bl
and dl, 2
neg dl
sbb dl, dl
and dl, 0xb4
mov byte [ebp - 1], dl
mov dl, bl
and dl, 1
mov byte [ebp - 3], dl
neg dl
sbb dl, dl
and dl, 0x5a
mov byte [ebp - 2], dl
mov dl, bl
shr dl, 2
xor dl, byte [ebp - 2]
xor dl, byte [ebp - 1]
xor dl, bl
mov byte [ebp - 7], dl
mov dl, bl
shr dl, 1
xor dl, bl
shr dl, 1
mov bl, byte [ebp - 3]
neg bl
sbb bl, bl
and bl, 0xb4
xor dl, bl
xor dl, byte [ebp - 2]
mov byte [ebp - 3], bl
xor dl, byte [ebp - 1]
mov bl, byte [eax + 0x573ff1]
xor dl, byte [eax + 0x573ff1]
mov byte [esi], bl
movzx ebx, byte [ebp - 7]
mov byte [edi], bl
mov byte [ecx], dl
mov ebx, dword [ebp - 0x14]
mov byte [ebx], dl
mov byte [ebp - 0xb], dl
mov edx, dword [ebp - 0x10]
mov dword [eax*4 + 0x576e4c], edx
mov dl, byte [ebp - 0xc]
mov byte [esi], dl
mov byte [edi], dl
movzx edx, byte [ebp - 8]
mov byte [ecx], dl
mov dl, byte [eax + 0x573ef1]
mov byte [ebx], dl
mov edx, dword [ebp - 0x10]
mov dword [eax*4 + 0x57724c], edx
movzx edx, byte [ebp - 7]
mov byte [esi], dl
movzx edx, byte [ebp - 0xb]
mov byte [edi], dl
mov dl, byte [eax + 0x573ff1]
mov byte [ecx], dl
movzx edx, byte [ebp - 0xb]
mov byte [ebx], dl
mov edx, dword [ebp - 0x10]
mov dword [eax*4 + 0x57764c], edx
movzx edx, byte [ebp - 8]
mov byte [esi], dl
mov dl, byte [eax + 0x573ef1]
mov byte [edi], dl
movzx edx, byte [ebp - 0xc]
mov byte [ecx], dl
movzx edx, byte [ebp - 8]
mov byte [ebx], dl
mov edx, dword [ebp - 0x10]
mov dword [eax*4 + 0x577a4c], edx
mov dl, byte [eax + 0x573ef2]
mov bl, dl
and bl, 2
neg bl
sbb bl, bl
and bl, 0xb4
mov byte [ebp - 2], bl
mov bl, dl
and bl, 1
mov byte [ebp - 3], bl
neg bl
sbb bl, bl
shr dl, 2
and bl, 0x5a
xor dl, bl
xor dl, byte [ebp - 2]
mov byte [ebp - 1], bl
xor dl, byte [eax + 0x573ef2]
mov bl, byte [ebp - 3]
mov byte [ebp - 8], dl
mov dl, byte [eax + 0x573ef2]
shr dl, 1
xor dl, byte [eax + 0x573ef2]
shr dl, 1
neg bl
sbb bl, bl
and bl, 0xb4
xor dl, bl
xor dl, byte [ebp - 1]
mov byte [ebp - 3], bl
xor dl, byte [ebp - 2]
xor dl, byte [eax + 0x573ef2]
mov byte [ebp - 0xc], dl
mov bl, byte [eax + 0x573ff2]
mov dl, bl
and dl, 2
neg dl
sbb dl, dl
and dl, 0xb4
mov byte [ebp - 1], dl
mov dl, bl
and dl, 1
mov byte [ebp - 3], dl
neg dl
sbb dl, dl
and dl, 0x5a
mov byte [ebp - 2], dl
mov dl, bl
shr dl, 2
xor dl, byte [ebp - 2]
xor dl, byte [ebp - 1]
xor dl, bl
mov byte [ebp - 7], dl
mov dl, bl
shr dl, 1
xor dl, bl
mov bl, byte [ebp - 3]
shr dl, 1
neg bl
sbb bl, bl
and bl, 0xb4
xor dl, bl
xor dl, byte [ebp - 2]
mov byte [ebp - 3], bl
xor dl, byte [ebp - 1]
mov bl, byte [eax + 0x573ff2]
xor dl, byte [eax + 0x573ff2]
mov byte [esi], bl
movzx ebx, byte [ebp - 7]
mov byte [edi], bl
mov ebx, dword [ebp - 0x14]
mov byte [ecx], dl
mov byte [ebx], dl
mov byte [ebp - 0xb], dl
mov edx, dword [ebp - 0x10]
mov dword [eax*4 + 0x576e50], edx
mov dl, byte [ebp - 0xc]
mov byte [esi], dl
mov byte [edi], dl
movzx edx, byte [ebp - 8]
mov byte [ecx], dl
mov dl, byte [eax + 0x573ef2]
mov byte [ebx], dl
mov edx, dword [ebp - 0x10]
mov dword [eax*4 + 0x577250], edx
movzx edx, byte [ebp - 7]
mov byte [esi], dl
movzx edx, byte [ebp - 0xb]
mov byte [edi], dl
mov dl, byte [eax + 0x573ff2]
mov byte [ecx], dl
movzx edx, byte [ebp - 0xb]
mov byte [ebx], dl
mov edx, dword [ebp - 0x10]
mov dword [eax*4 + 0x577650], edx
movzx edx, byte [ebp - 8]
mov byte [esi], dl
mov dl, byte [eax + 0x573ef2]
mov byte [edi], dl
movzx edx, byte [ebp - 0xc]
mov byte [ecx], dl
movzx edx, byte [ebp - 8]
mov byte [ebx], dl
mov edx, dword [ebp - 0x10]
mov dword [eax*4 + 0x577a50], edx
mov dl, byte [eax + 0x573ef3]
mov bl, dl
and bl, 2
neg bl
sbb bl, bl
and bl, 0xb4
mov byte [ebp - 2], bl
mov bl, dl
and bl, 1
mov byte [ebp - 3], bl
neg bl
sbb bl, bl
shr dl, 2
and bl, 0x5a
xor dl, bl
xor dl, byte [ebp - 2]
mov byte [ebp - 1], bl
xor dl, byte [eax + 0x573ef3]
mov bl, byte [ebp - 3]
mov byte [ebp - 8], dl
mov dl, byte [eax + 0x573ef3]
shr dl, 1
xor dl, byte [eax + 0x573ef3]
shr dl, 1
neg bl
sbb bl, bl
and bl, 0xb4
xor dl, bl
xor dl, byte [ebp - 1]
mov byte [ebp - 3], bl
xor dl, byte [ebp - 2]
mov bl, byte [eax + 0x573ff3]
xor dl, byte [eax + 0x573ef3]
mov byte [ebp - 0xc], dl
mov dl, bl
and dl, 2
neg dl
sbb dl, dl
and dl, 0xb4
mov byte [ebp - 1], dl
mov dl, bl
and dl, 1
mov byte [ebp - 3], dl
neg dl
sbb dl, dl
and dl, 0x5a
mov byte [ebp - 2], dl
mov dl, bl
shr dl, 2
xor dl, byte [ebp - 2]
xor dl, byte [ebp - 1]
xor dl, bl
mov byte [ebp - 7], dl
mov dl, bl
shr dl, 1
xor dl, bl
mov bl, byte [ebp - 3]
shr dl, 1
neg bl
sbb bl, bl
and bl, 0xb4
xor dl, bl
xor dl, byte [ebp - 2]
mov byte [ebp - 3], bl
xor dl, byte [ebp - 1]
mov bl, byte [eax + 0x573ff3]
xor dl, byte [eax + 0x573ff3]
mov byte [esi], bl
movzx ebx, byte [ebp - 7]
mov byte [edi], bl
mov ebx, dword [ebp - 0x14]
mov byte [ecx], dl
mov byte [ebx], dl
mov byte [ebp - 0xb], dl
mov edx, dword [ebp - 0x10]
mov dword [eax*4 + 0x576e54], edx
mov dl, byte [ebp - 0xc]
mov byte [esi], dl
mov byte [edi], dl
movzx edx, byte [ebp - 8]
mov byte [ecx], dl
mov dl, byte [eax + 0x573ef3]
mov byte [ebx], dl
mov edx, dword [ebp - 0x10]
mov dword [eax*4 + 0x577254], edx
movzx edx, byte [ebp - 7]
mov byte [esi], dl
movzx edx, byte [ebp - 0xb]
mov byte [edi], dl
mov dl, byte [eax + 0x573ff3]
mov byte [ecx], dl
movzx edx, byte [ebp - 0xb]
mov byte [ebx], dl
mov edx, dword [ebp - 0x10]
mov dword [eax*4 + 0x577654], edx
movzx edx, byte [ebp - 8]
mov byte [esi], dl
mov dl, byte [eax + 0x573ef3]
mov byte [edi], dl
movzx edx, byte [ebp - 0xc]
mov byte [ecx], dl
movzx edx, byte [ebp - 8]
mov byte [ebx], dl
mov edx, dword [ebp - 0x10]
mov dword [eax*4 + 0x577a54], edx
add eax, 4
cmp eax, 0x100
jl 0x4d4650
pop edi
pop esi
mov dword [0x5740f0], 0
pop ebx
mov esp, ebp
pop ebp
ret