Function at 0x7c002170
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rsi
push rdi
push rbx
sub rsp, 0xa8
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x20], 0x2b7c
mov dword [rbp + 0x1c], 0x543b
mov qword [rbp - 0x38], 0x6fe6
mov rax, qword [rbp + 0x20]
add rax, 0xffffffffffffdd06
mov qword [rbp - 0x10], rax
mov rax, qword [rbp + 0x20]
xor rax, 0x2684
mov qword [rbp + 8], rax
mov qword [rbp - 0x30], rcx
mov dword [rbp - 0x18], edx
mov r8d, dword [rbp]
mov dword [rbp + 0x14], 0xffffffff
mov dword [rbp + 0x18], 0
mov rax, qword [rbp - 0x20]
mov rcx, qword [rbp + 0x20]
xor rcx, 0x170c
mov qword [rbp - 0x40], rcx
mov rcx, rax
mov r9, qword [rbp - 0x40]
shr r9, cl
mov qword [rbp - 0x20], r9
mov dword [rbp - 0x44], edx
mov dword [rbp - 0x48], r8d
mov qword [rbp - 0x50], rax
mov eax, 0x543b
sub eax, dword [rbp + 0x1c]
cmp dword [rbp - 0x18], eax
je 0x7c002447
mov eax, dword [rbp - 0x18]
mov dword [rbp + 4], eax
mov rcx, qword [rbp - 0x50]
imul rdx, rcx, 0x7345
mov qword [rbp - 0x20], rdx
mov rdx, qword [rbp + 8]
xor rdx, 0x5e86
mov dword [rbp], 0xb087400
sub rcx, rcx
mov qword [rbp - 0x20], rcx
cmp rdx, 0x4a61
jbe 0x7c00220c
mov eax, 0xbdc8
mov ecx, dword [rbp + 0x1c]
mov edx, dword [rbp + 0x1c]
mov r8d, dword [rbp - 0x44]
mov dword [rbp - 0x54], ecx
mov ecx, r8d
mov r9d, dword [rbp - 0x48]
shl r9d, cl
mov r10d, dword [rbp - 0x54]
add r10d, 0xffffabc4
sub eax, edx
mov dword [rbp], r9d
mov edx, dword [rbp + 4]
mov ecx, eax
mov eax, dword [rbp - 0x48]
shr eax, cl
mov dword [rbp], eax
cmp edx, r10d
je 0x7c002318
mov eax, 0x5065
mov ecx, eax
mov rdx, qword [rbp - 0x38]
mov r8, qword [rbp + 0x20]
mov r9, qword [rbp + 0x20]
add r9, 0xfffffffffffff4b8
and rdx, r9
sub rcx, r8
cmp rcx, rdx
je 0x7c0023fa
mov eax, 0x1a24
mov ecx, eax
mov eax, dword [rbp - 0x48]
mov edx, dword [rbp - 0x44]
add eax, edx
mov dword [rbp], eax
mov r8, qword [rbp - 0x38]
sub r8, 0x656c
cmp rcx, r8
je 0x7c002286
mov eax, 0xcafc
sub eax, dword [rbp + 0x1c]
mov ecx, dword [rbp - 0x48]
shl eax, cl
mov dword [rbp], eax
mov eax, dword [rbp - 0x18]
mov dword [rbp - 0x14], eax
mov eax, dword [rbp - 0x48]
mov edx, dword [rbp - 0x44]
xor eax, edx
mov r8, qword [rbp - 0x10]
mov r9, qword [rbp + 0x20]
xor r9, 0x6362
mov dword [rbp], eax
cmp r9, r8
jb 0x7c002447
mov eax, 0x543a
sub eax, dword [rbp + 0x1c]
add eax, dword [rbp - 0x14]
mov dword [rbp - 0x18], eax
mov eax, dword [rbp + 0x18]
mov ecx, dword [rbp - 0x48]
xor ecx, 0xffffffff
mov dword [rbp], ecx
mov ecx, dword [rbp + 0x1c]
add ecx, 0xa30
movsxd rdx, eax
mov r8, qword [rbp + 0x20]
add r8, 0x4e4b
mov r9, qword [rbp - 0x50]
mov qword [rbp - 0x20], r9
mov r10, qword [rbp - 0x30]
movsx eax, byte [r10 + rdx]
mov dword [rbp - 4], eax
sub r8, r9
mov qword [rbp - 0x20], r8
mov eax, dword [rbp - 0x48]
mov dword [rbp - 0x58], ecx
mov ecx, eax
shl eax, cl
mov rdx, qword [rbp + 0x20]
xor rdx, 0x629a
mov r11d, dword [rbp - 4]
mov esi, dword [rbp + 0x14]
mov dword [rbp], eax
mov r8, qword [rbp + 0x20]
add r8, 0xffffffffffffde69
mov eax, dword [rbp + 0x1c]
xor eax, 0x5433
imul esi, r11d
mov rcx, rdx
shl r9, cl
mov qword [rbp - 0x20], r9
mov r11d, dword [rbp + 0x14]
mov edi, dword [rbp - 0x58]
mov ebx, dword [rbp - 0x48]
and edi, ebx
mov dword [rbp], edi
mov rdx, qword [rbp - 0x50]
sub rdx, r8
mov qword [rbp - 0x20], rdx
mov ecx, eax
shr r11d, cl
mov rcx, qword [rbp - 0x50]
mov rdx, qword [rbp - 0x50]
shr rdx, cl
mov qword [rbp - 0x20], rdx
mov rdx, qword [rbp - 0x50]
sub rdx, 0x69b
mov eax, dword [rbp + 0x14]
add esi, r11d
add eax, esi
mov qword [rbp - 0x20], rdx
mov dword [rbp + 0x14], eax
jmp 0x7c0023fa
xor eax, eax
mov ecx, eax
call fcn.7c008a20
mov eax, 0x48f4
add rsp, 0xa8
pop rbx
pop rdi
pop rsi
pop rbp
ret
mov eax, 0xc7d
mov ecx, eax
mov eax, dword [rbp - 0x48]
xor eax, 0xffffffff
mov rdx, qword [rbp + 0x20]
mov r8d, dword [rbp + 0x18]
mov r9, qword [rbp + 8]
add rdx, 0xfffffffffffffedb
and r9, rdx
mov dword [rbp], eax
mov dword [rbp - 0x24], r8d
cmp rcx, r9
je 0x7c0023e0
mov eax, 0x543c
sub eax, dword [rbp + 0x1c]
add eax, dword [rbp - 0x24]
mov dword [rbp + 0x18], eax
mov eax, dword [rbp - 0x44]
xor eax, 0x367e
mov dword [rbp], eax
jmp 0x7c0021fb
mov eax, 0x4634
mov ecx, dword [rbp + 0x1c]
xor ecx, 0x45a
mov edx, dword [rbp - 0x48]
mov dword [rbp - 0x5c], ecx
mov ecx, edx
shr eax, cl
mov r8, qword [rbp + 8]
add r8, 0x5485
mov dword [rbp], eax
mov ecx, dword [rbp - 0x5c]
shr edx, cl
mov dword [rbp], edx
cmp r8, 0x1b9e
je 0x7c002243
mov eax, dword [rbp + 0x14]
mov ecx, dword [rbp + 0x1c]
mov edx, eax
mov r8d, ecx
lea eax, [r8 + rdx - 0x5b85ec6c]
add rsp, 0xa8
pop rbx
pop rdi
pop rsi
pop rbp
ret