Function at 0x7c005a10
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rsi
sub rsp, 0xf8
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x70], 0x7863
mov dword [rbp + 0x6c], 0x6ac3
mov eax, dword [rbp + 0x14]
mov qword [rbp + 0x58], 0xf4f
mov r8, qword [rbp + 0x70]
xor r8, 0x6541
mov r9, qword [rbp + 0x50]
mov qword [rbp + 0x60], r8
mov qword [rbp + 0x20], rcx
mov qword [rbp + 0x28], rdx
imul rcx, r9, 0x5fbc
mov qword [rbp + 0x50], rcx
mov rcx, qword [rbp + 0x20]
mov qword [rbp], rcx
mov rcx, qword [rbp + 0x28]
mov dword [rbp - 0x1c], eax
mov qword [rbp - 0x28], r9
call fcn.7c0024b0
mov r10d, 0x7d14
xor r11d, r11d
mov ecx, r11d
add rcx, 0x18
mov r11d, ecx
movsxd rcx, r11d
mov qword [rbp + 0x40], rax
mov rax, qword [rbp - 0x28]
mov qword [rbp + 0x50], rax
mov qword [rbp - 0x30], rcx
mov rcx, rax
shl rax, cl
mov rdx, qword [rbp + 0x40]
mov qword [rbp + 0x50], rax
mov rax, qword [rbp - 0x30]
add rdx, rax
mov r8, qword [rbp + 0x40]
mov r11d, dword [rbp - 0x1c]
imul esi, r11d, 0x2c4c
mov dword [rbp + 0x14], esi
movzx esi, word [r8 + 0x14]
mov r8d, esi
add rdx, r8
sub r10d, dword [rbp + 0x6c]
mov dword [rbp + 0x14], r10d
mov qword [rbp - 0x10], rdx
and r11d, 0xe90
mov dword [rbp + 0x14], r11d
mov dword [rbp + 0x38], 0
mov eax, 0x2901
mov ecx, eax
mov eax, 0x73fe
mov r8d, 0x1a86
mov r9d, r8d
mov r10, qword [rbp - 0x28]
mov qword [rbp - 0x38], rcx
mov rcx, r10
shl r9, cl
mov qword [rbp + 0x50], r9
mov r9, qword [rbp + 0x58]
add r9, 0x7511
mov qword [rbp + 0x50], rdx
mov r8d, dword [rbp + 0x38]
sub eax, dword [rbp + 0x6c]
mov dword [rbp + 0x3c], r8d
mov rcx, r10
shl r10, cl
mov qword [rbp + 0x50], r10
mov r8d, dword [rbp - 0x1c]
imul r8d, eax
mov dword [rbp + 0x14], r8d
mov rdx, qword [rbp - 0x38]
cmp rdx, r9
je 0x7c005d60
mov eax, 0x2d0bdd2
mov ecx, eax
mov eax, dword [rbp - 0x1c]
xor eax, 0xffffffff
mov dword [rbp + 0x14], eax
mov rdx, qword [rbp + 0x40]
mov r8, qword [rbp + 0x70]
mov r9, qword [rbp - 0x28]
and r9, 0x1b2e
sub rcx, r8
mov qword [rbp + 0x50], r9
mov r10w, word [rdx + 6]
mov qword [rbp + 0x50], rcx
mov eax, dword [rbp + 0x3c]
movzx r11d, r10w
cmp eax, r11d
jge 0x7c005d77
mov eax, 0x26f7
mov ecx, eax
mov eax, 0x5873
mov edx, eax
mov r8, qword [rbp - 0x28]
mov qword [rbp - 0x40], rcx
mov rcx, r8
shr rdx, cl
mov qword [rbp + 0x50], rdx
sub r8, r8
mov rdx, qword [rbp + 0x58]
mov qword [rbp + 0x50], r8
mov r8, qword [rbp - 0x28]
mov qword [rbp + 0x50], r8
mov r9, qword [rbp]
mov qword [rbp + 8], r9
mov eax, dword [rbp - 0x1c]
xor eax, 0xffffffff
mov r9, qword [rbp - 0x10]
mov dword [rbp + 0x14], eax
add r9, 0xc
mov qword [rbp + 0x48], r9
mov r9, qword [rbp - 0x40]
cmp r9, rdx
jne 0x7c005bef
mov rax, qword [rbp + 8]
mov rcx, qword [rbp + 0x48]
mov edx, dword [rcx]
mov ecx, edx
add rax, rcx
mov qword [rbp - 8], rax
mov rcx, qword [rbp - 8]
mov rax, qword [rbp - 0x28]
xor rax, 0xffffffffffffffff
mov qword [rbp + 0x50], rax
mov rax, qword [rbp - 0x10]
mov r8, qword [rbp - 0x28]
and r8, 0x8e8
mov r9, qword [rbp + 0x28]
mov qword [rbp + 0x50], r8
mov edx, dword [rax + 0x14]
mov rax, qword [rbp - 0x28]
imul r8, rax, 0xf85
mov qword [rbp + 0x50], r8
mov edx, edx
mov r8d, edx
mov dword [rbp + 0x14], 0x6655
mov r10, qword [rbp - 0x10]
mov edx, dword [r10 + 0x10]
add r9, r8
mov dword [rbp - 0x44], edx
mov rdx, r9
mov r8d, dword [rbp - 0x44]
call fcn.7c0016f0
mov rcx, qword [rbp - 0x28]
xor rcx, 0xffffffffffffffff
mov qword [rbp + 0x50], rcx
mov qword [rbp - 0x50], rax
mov rax, qword [rbp + 0x60]
xor rax, 0x3fce
mov rcx, qword [rbp - 0x28]
and rcx, rcx
mov qword [rbp + 0x50], rcx
cmp rax, 0x1a16
jbe 0x7c005c71
mov eax, dword [rbp + 0x38]
mov dword [rbp - 0x14], eax
mov rcx, qword [rbp - 0x28]
or rcx, rcx
mov qword [rbp + 0x50], rcx
mov rcx, qword [rbp - 0x28]
mov rdx, qword [rbp - 0x28]
shl rdx, cl
mov r8, qword [rbp + 0x60]
mov qword [rbp + 0x50], rdx
mov qword [rbp + 0x30], r8
mov rcx, qword [rbp - 0x28]
mov rdx, qword [rbp - 0x28]
shl rdx, cl
mov qword [rbp + 0x50], rdx
mov rdx, qword [rbp + 0x58]
add rdx, 0x820
cmp rdx, 0x4e79
je 0x7c005aef
mov rax, qword [rbp + 0x58]
mov ecx, dword [rbp - 0x14]
mov rdx, qword [rbp - 0x28]
imul rdx, rdx
mov qword [rbp + 0x50], rdx
add ecx, 1
mov dword [rbp + 0x14], 0xeda
mov rdx, qword [rbp - 0x28]
imul r8, rdx, 0x6319
mov qword [rbp + 0x50], r8
mov dword [rbp + 0x18], ecx
cmp rax, 0x1067
jb 0x7c005d14
mov eax, dword [rbp + 0x6c]
add eax, 0xffffc902
mov ecx, dword [rbp + 0x18]
mov dword [rbp - 0x18], ecx
mov ecx, dword [rbp - 0x1c]
sub eax, ecx
mov dword [rbp + 0x14], eax
mov rdx, qword [rbp + 0x70]
mov r8, qword [rbp - 0x28]
xor r8, 0xfbd
xor rdx, 0x6dc4
mov qword [rbp + 0x50], r8
mov rcx, qword [rbp - 0x28]
shr rdx, cl
mov r8, qword [rbp + 0x30]
mov qword [rbp + 0x50], rdx
cmp r8, 0x97b
jb 0x7c005b96
mov eax, dword [rbp - 0x18]
mov dword [rbp + 0x38], eax
mov rcx, qword [rbp - 0x10]
add rcx, 0x28
mov qword [rbp - 0x10], rcx
jmp 0x7c005aef
mov rcx, qword [rbp]
mov qword [rbp + 0x50], 0
mov rax, qword [rbp + 0x40]
mov r8d, dword [rax + 0x54]
mov rdx, qword [rbp + 0x28]
mov r9d, dword [rbp - 0x1c]
mov dword [rbp + 0x14], r9d
call fcn.7c0016f0
mov qword [rbp - 0x58], rax
add rsp, 0xf8
pop rsi
pop rbp
ret