Function at 0x4c4b80
Capabilities:
Encode data using xor

Disassembly:
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0xa0
call fcn.00411ed0
call fcn.00404b80
test eax, eax
jne 0x4c4bab
xor eax, eax
add rsp, 0xa0
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
ret
lea rsi, [rsp + 0x40]
lea rbx, [rsp + 0x80]
mov rcx, rsi
call fcn.004069b0
cmp qword [rsp + 0x48], 0
jne 0x4c4dd1
mov dword [rsp + 0x88], 0x7e11101f
lea rdx, [rbx + 4]
movabs rax, 0x541d0c1c00000007
mov qword [rsp + 0x80], rax
xor eax, eax
nop
lea r8d, [rax + 0x77]
mov ecx, eax
add eax, 1
xor byte [rdx + rcx], r8b
mov ecx, dword [rsp + 0x80]
cmp ecx, eax
ja 0x4c4bf0
lea rbp, [rsp + 0x60]
mov byte [rsp + rcx + 0x84], 0
mov rcx, rbp
call fcn.00406270
movabs rax, 0x1e1c0b1a00000012
mov dword [rsp + 0x30], 0xe3abb6f4
mov qword [rsp + 0x20], rax
lea rdi, [rsp + 0x20]
movabs rax, 0xe7e8f61d1b0a191c
mov qword [rsp + 0x28], rax
lea rdx, [rdi + 4]
xor eax, eax
mov word [rsp + 0x34], 0xedff
mov byte [rsp + 0x36], 0x89
nop word [rax + rax]
lea r8d, [rax + 0x77]
mov ecx, eax
add eax, 1
xor byte [rdx + rcx], r8b
mov ecx, dword [rsp + 0x20]
cmp ecx, eax
ja 0x4c4c60
mov byte [rsp + rcx + 0x24], 0
mov rcx, rbx
call fcn.00406270
mov rcx, rbx
call fcn.004061c0
mov rcx, qword [rsp + 0x80]
mov r12d, eax
lea rax, [rbx + 0x10]
cmp rcx, rax
je 0x4c4ca3
call fcn.004c3fe0
test r12d, r12d
jne 0x4c4d19
movabs rax, 0x1e1c0b1a0000000a
mov dword [rsp + 0x28], 0x1b53191c
mov qword [rsp + 0x20], rax
lea rdx, [rdi + 4]
xor eax, eax
mov word [rsp + 0x2c], 0xe507
mov byte [rsp + 0x2e], 0x81
lea r8d, [rax + 0x77]
mov ecx, eax
add eax, 1
xor byte [rdx + rcx], r8b
mov ecx, dword [rsp + 0x20]
cmp ecx, eax
ja 0x4c4cd1
mov byte [rsp + rcx + 0x24], 0
mov rcx, rbx
call fcn.00406270
mov rcx, rbx
call fcn.004061c0
mov rcx, qword [rsp + 0x80]
mov r12d, eax
lea rax, [rbx + 0x10]
cmp rcx, rax
je 0x4c4d14
call fcn.004c3fe0
test r12d, r12d
je 0x4c4d53
mov rdx, rbp
mov ecx, r12d
call fcn.00405ff0
mov rcx, qword [rsp + 0x60]
add rbp, 0x10
cmp rcx, rbp
je 0x4c4d37
call fcn.004c3fe0
mov rcx, qword [rsp + 0x40]
add rsi, 0x10
cmp rcx, rsi
je 0x4c4b9b
call fcn.004c3fe0
jmp 0x4c4b9b
movabs rax, 0x160900120000000c
mov byte [rsp + 0x30], 0x83
mov qword [rsp + 0x20], rax
lea rdx, [rdi + 4]
movabs rax, 0xe7f9e5510c180e14
mov qword [rsp + 0x28], rax
xor eax, eax
nop dword [rax]
lea r8d, [rax + 0x77]
mov ecx, eax
add eax, 1
xor byte [rdx + rcx], r8b
mov ecx, dword [rsp + 0x20]
cmp ecx, eax
ja 0x4c4d80
mov byte [rsp + rcx + 0x24], 0
mov rcx, rbx
call fcn.00406270
mov rcx, rbx
call fcn.004061c0
mov rcx, qword [rsp + 0x80]
add rbx, 0x10
mov r12d, eax
cmp rcx, rbx
je 0x4c4dc3
call fcn.004c3fe0
test r12d, r12d
jne 0x4c4d19
jmp 0x4c4d24
mov rcx, rbx
call fcn.00407340
cmp qword [rsp + 0x88], 0
jne 0x4c4e03
mov rcx, qword [rsp + 0x80]
lea rax, [rbx + 0x10]
cmp rcx, rax
je 0x4c4bcc
call fcn.004c3fe0
jmp 0x4c4bcc
mov rdx, rbx
mov rcx, rsi
call fcn.004066f0
mov rcx, qword [rsp + 0x80]
add rbx, 0x10
mov rdi, rax
cmp rcx, rbx
je 0x4c4e27
call fcn.004c3fe0
mov rcx, qword [rsp + 0x60]
add rbp, 0x10
cmp rcx, rbp
je 0x4c4e3a
call fcn.004c3fe0
mov rbx, rdi
mov rcx, qword [rsp + 0x40]
add rsi, 0x10
cmp rcx, rsi
je 0x4c4e50
call fcn.004c3fe0
mov rcx, rbx
call fcn.00413690
mov rcx, qword [rsp + 0x80]
add rbx, 0x10
mov rdi, rax
cmp rcx, rbx
jne 0x4c4e35
jmp 0x4c4e3a