Function at 0x7c002f10
Capabilities:
Encode data using xor

Disassembly:
push rbp
sub rsp, 0x2e0
lea rbp, [rsp + 0x80]
mov eax, 0x380d
mov edx, eax
mov dword [rbp + 0x25c], 0x2392
mov qword [rbp + 0x250], 0x239d
mov qword [rbp + 0x18], 0x3739
mov r8, qword [rbp - 0x20]
mov qword [rbp - 0x20], r8
mov eax, dword [rbp + 0x234]
mov dword [rbp + 0x234], eax
mov r9, qword [rbp + 0x18]
xor r9, 0x3355
mov qword [rbp - 0x30], 0x2587
sub rdx, qword [rbp + 0x250]
cmp r9, rdx
mov qword [rbp - 0x48], rcx
mov dword [rbp - 0x4c], eax
mov qword [rbp - 0x58], r8
je 0x7c003183
mov eax, dword [rbp + 0x25c]
xor eax, 0x41db
mov dword [rbp - 4], eax
mov rcx, qword [rbp - 0x48]
mov qword [rbp + 8], rcx
call fcn.7c0026c0
mov rcx, qword [rbp - 0x58]
and rcx, rcx
mov qword [rbp - 0x20], rcx
mov edx, dword [rbp - 0x4c]
mov dword [rbp + 0x234], edx
mov qword [rbp - 0x38], rax
xor edx, 0xffffffff
mov dword [rbp + 0x234], edx
mov rax, qword [rbp - 0x58]
imul rcx, rax, 0x264a
mov r8, qword [rbp + 0x250]
add r8, 0x423e
mov qword [rbp - 0x20], rcx
mov rcx, qword [rbp - 0x38]
mov edx, dword [rbp - 0x4c]
imul r9d, edx, 0x1d04
mov dword [rbp + 0x234], r9d
mov rcx, qword [rcx + 0x18]
mov qword [rbp - 0x18], rcx
mov rcx, qword [rbp - 0x18]
xor r8, rax
mov qword [rbp - 0x20], r8
add rcx, 0x20
mov qword [rbp - 0x10], rcx
mov rcx, qword [rbp - 0x10]
mov rcx, qword [rcx]
mov qword [rbp - 0x28], rcx
xor rax, rax
mov qword [rbp - 0x20], rax
mov rax, qword [rbp - 0x28]
mov qword [rbp], rax
mov ecx, dword [rbp + 0x25c]
add ecx, 0x2621
mov rax, qword [rbp - 0x58]
mov qword [rbp - 0x20], rax
cmp ecx, dword [rbp - 4]
ja 0x7c00310c
mov rax, qword [rbp - 0x58]
or rax, 0x64c0
mov rcx, qword [rbp]
mov rdx, qword [rbp - 0x10]
mov qword [rbp - 0x20], rax
cmp rcx, rdx
je 0x7c003167
mov eax, 0x565f
mov ecx, dword [rbp - 0x4c]
mov edx, dword [rbp - 0x4c]
shr edx, cl
mov dword [rbp + 0x234], edx
mov dword [rbp - 0x3c], 0
mov r8, qword [rbp - 0x28]
mov edx, dword [rbp - 4]
mov qword [rbp + 0x248], r8
mov r9d, dword [rbp - 0x4c]
or r9d, r9d
mov dword [rbp + 0x234], r9d
cmp eax, edx
je 0x7c0031dc
xor eax, eax
mov ecx, eax
mov rdx, rcx
add rdx, 0x10
sub rcx, rdx
mov rdx, qword [rbp + 0x248]
add rdx, rcx
mov qword [rbp + 0x240], rdx
mov rcx, qword [rbp + 0x240]
mov rdx, qword [rbp - 0x58]
or rdx, rdx
mov qword [rbp - 0x20], rdx
mov rdx, qword [rbp + 8]
mov r8, qword [rbp - 0x58]
xor r8, 0xffffffffffffffff
mov rcx, qword [rcx + 0x30]
mov qword [rbp - 0x20], r8
cmp rcx, qword [rdx + 0x60]
jne 0x7c00310c
mov eax, dword [rbp - 0x4c]
or eax, 0x750c
mov dword [rbp + 0x234], eax
mov rcx, qword [rbp + 0x240]
mov qword [rbp + 0x238], rcx
jmp 0x7c003183
mov rax, qword [rbp + 0x250]
mov rcx, qword [rbp - 0x28]
add rax, 0xfffffffffffff342
mov qword [rbp + 0x228], rcx
imul rcx, qword [rbp - 0x30], 0x62e0
mov edx, dword [rbp - 0x4c]
xor edx, 0x406
mov dword [rbp + 0x234], edx
cmp rax, rcx
jae 0x7c00310c
mov eax, dword [rbp - 0x4c]
xor eax, 0xffffffff
mov dword [rbp + 0x234], eax
mov rcx, qword [rbp + 0x228]
mov rdx, qword [rbp - 0x58]
mov qword [rbp - 0x20], rdx
mov rcx, qword [rcx]
mov qword [rbp - 0x28], rcx
jmp 0x7c003021
mov eax, dword [rbp - 0x4c]
mov dword [rbp + 0x234], eax
mov qword [rbp + 0x238], 0
mov qword [rbp - 0x20], 0x4773
cmp dword [rbp - 4], 0x39ac
jb 0x7c0030ee
mov rax, qword [rbp - 0x58]
xor rax, 0xffffffffffffffff
mov ecx, dword [rbp - 4]
mov rdx, qword [rbp + 0x250]
xor rdx, 0x5cfc
mov qword [rbp - 0x20], rax
mov dword [rbp + 0x14], ecx
mov rax, qword [rbp - 0x30]
and rax, 0x4dda
cmp rax, rdx
ja 0x7c003021
mov eax, 0x22fc
mov rcx, qword [rbp - 0x58]
xor rcx, 0x1ce6
mov qword [rbp - 0x20], rcx
cmp eax, dword [rbp + 0x14]
jae 0x7c003167
mov rax, qword [rbp + 0x238]
add rsp, 0x2e0
pop rbp
ret