Function at 0x4b7400
Capabilities:
Encode data using xor

Disassembly:
mov eax, 0xa4
call fcn.004f8af0
mov eax, dword [0x5498f8]
xor eax, esp
mov dword [esp + 0xa0], eax
mov eax, dword [esp + 0xa8]
mov ecx, dword [esp + 0xb0]
mov edx, dword [esp + 0xbc]
push esi
mov esi, dword [esp + 0xbc]
mov dword [esp + 0x1c], eax
xor eax, eax
push edi
mov edi, dword [esp + 0xbc]
mov dword [esp + 0xc], ecx
mov dword [esp + 0x1c], edx
mov dword [esp + 0x14], 0xffffffff
mov dword [esp + 0x10], eax
mov dword [esp + 8], eax
mov dword [esp + 0x18], eax
cmp dword [esp + 0xb4], eax
jle 0x4b76df
cmp edi, eax
jle 0x4b76df
push ebx
push ebp
cmp esi, edi
jl 0x4b7668
cmp esi, 0x2a
jl 0x4b7668
push 0x75
lea ebp, [esi - 0x15]
push 0x515644
push ebp
mov dword [esp + 0x38], ebp
call fcn.004aa250
push 0x76
push 0x515644
push esi
mov dword [esp + 0x28], eax
call fcn.004aa250
add esp, 0x18
cmp dword [esp + 0x10], 0
mov ebx, eax
mov dword [esp + 0x20], ebx
je 0x4b76d4
test ebx, ebx
je 0x4b76d4
push esi
push 0
push ebx
call fcn.004f8f00
mov eax, dword [esp + 0x20]
push edi
sub esi, edi
push eax
add esi, ebx
push esi
call fcn.004f8b20
movzx eax, byte [ebx]
lea edi, [eax - 1]
push ebp
lea esi, [ebx + 1]
add ebx, 0x15
not eax
push ebx
shr edi, 0x1f
shr eax, 0x1f
lea ecx, [esp + 0x50]
and edi, eax
push 0x14
push ecx
neg edi
mov dword [esp + 0x3c], ebx
call fcn.004b71e0
mov edx, esi
lea eax, [esp + 0x58]
add esp, 0x28
xor ecx, ecx
sub edx, eax
jmp 0x4b7520
lea eax, [esp + ecx + 0x30]
movzx ebx, byte [edx + eax]
xor byte [eax], bl
movzx ebx, byte [esi + ecx + 1]
xor byte [eax + 1], bl
movzx ebx, byte [esi + ecx + 2]
xor byte [eax + 2], bl
movzx ebx, byte [esi + ecx + 3]
xor byte [eax + 3], bl
movzx ebx, byte [esi + ecx + 4]
xor byte [eax + 4], bl
add ecx, 5
cmp ecx, 0x14
jl 0x4b7520
call fcn.004b84c0
mov esi, dword [esp + 0x10]
push eax
push 0x14
lea ecx, [esp + 0x38]
push ecx
push ebp
push esi
call fcn.004b70a0
add esp, 0x14
test ebp, ebp
jle 0x4b7589
mov ecx, dword [esp + 0x14]
mov eax, esi
sub ecx, esi
mov edx, ebp
jmp 0x4b7580
mov bl, byte [ecx + eax]
xor byte [eax], bl
inc eax
dec edx
jne 0x4b7580
push 0
call fcn.004b84c0
mov ecx, dword [esp + 0x28]
push eax
mov eax, dword [esp + 0xd8]
push 0
lea edx, [esp + 0x7c]
push edx
push eax
push ecx
call fcn.004c8c70
push 0x14
lea edx, [esp + 0x8c]
push edx
push esi
call fcn.004aa770
lea ecx, [eax - 1]
shr ecx, 0x1f
not eax
shr eax, 0x1f
and ecx, eax
neg ecx
mov esi, 0x14
add esp, 0x24
and edi, ecx
xor ebx, ebx
cmp ebp, esi
jle 0x4b7630
lea esp, [esp]
mov edx, dword [esp + 0x10]
movzx ecx, byte [esi + edx]
mov eax, ecx
xor eax, 1
lea edx, [eax - 1]
not eax
shr eax, 0x1f
shr edx, 0x1f
and edx, eax
mov eax, ebx
not eax
neg edx
and eax, edx
mov ebp, eax
and eax, esi
not ebp
and ebp, dword [esp + 0x18]
or ebx, edx
or ebp, eax
lea eax, [ecx - 1]
shr eax, 0x1f
not ecx
shr ecx, 0x1f
and eax, ecx
neg eax
or eax, ebx
mov dword [esp + 0x18], ebp
mov ebp, dword [esp + 0x2c]
inc esi
and edi, eax
cmp esi, ebp
jl 0x4b75e0
test edi, ebx
je 0x4b7668
mov eax, dword [esp + 0x18]
inc eax
sub ebp, eax
mov dword [esp + 0x1c], ebp
cmp dword [esp + 0xbc], ebp
jge 0x4b76bf
push 0xb9
push 0x515644
push 0x6d
push 0x7a
push 4
call fcn.004aa7a0
add esp, 0x14
mov dword [esp + 0x1c], 0xffffffff
push 0xc5
push 0x515644
push 0x79
push 0x7a
push 4
call fcn.004aa7a0
add esp, 0x14
mov eax, dword [esp + 0x10]
pop ebp
pop ebx
test eax, eax
je 0x4b7693
push eax
call fcn.004aa400
add esp, 4
mov eax, dword [esp + 0x18]
test eax, eax
je 0x4b76a4
push eax
call fcn.004aa400
add esp, 4
mov eax, dword [esp + 0x14]
pop edi
pop esi
mov ecx, dword [esp + 0xa0]
xor ecx, esp
call fcn.004f7824
add esp, 0xa4
ret
add eax, dword [esp + 0x10]
mov edx, dword [esp + 0x28]
push ebp
push eax
push edx
call fcn.004f8b20
add esp, 0xc
jmp 0x4b7680
push 0x78
push 0x515644
push 0x41
jmp 0x4b7674
mov ecx, dword [esp + 0xa8]
pop edi
pop esi
xor ecx, esp
or eax, 0xffffffff
call fcn.004f7824
add esp, 0xa4
ret