Function at 0x62f98c
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rdx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x100
lea rbp, [rsp + 0x20]
mov qword [rbp + 0x60], 0xfffffffffffffffe
mov qword [rbp + 0x120], rbx
mov r13, r9
mov r14, r8
mov r15, rcx
and dword [rbp + 0x138], 0
movabs rbx, 0x80000013000002d3
mov rax, rbx
imul r9
add rdx, r9
sar rdx, 0x1e
mov rax, rdx
shr rax, 0x3f
add rdx, rax
imul edx, edx, 0x7fffffed
sub r13d, edx
mov r9, qword [0x00862cb8]
cmp byte [r9 + 0x3241], 0
jne 0x62fa1d
mov rcx, qword [r9 + 0xb8]
test rcx, rcx
je 0x62fa1d
mov edx, 0x3c1
call fcn.004713d8
mov r9, rax
jmp 0x62fa24
mov r9, qword [r9 + 0x2e68]
mov rax, rbx
imul r9
add rdx, r9
sar rdx, 0x1e
mov rax, rdx
shr rax, 0x3f
add rdx, rax
imul edx, edx, 0x7fffffed
sub r9d, edx
test r13d, r13d
je 0x62fcdb
test r9d, r9d
je 0x62fcdb
mov rsi, qword [r14 + 0x20]
mov r12, qword [r14 + 0x28]
sub rsi, r12
or rsi, 3
lea rbx, [rsi + 9]
lea rax, [rbx + 0xf]
movabs rcx, 0xffffffffffffff0
cmp rax, rbx
ja 0x62fa7f
mov rax, rcx
and rax, 0xfffffffffffffff0
call fcn.006e5e00
sub rsp, rax
lea rdi, [rsp + 0x20]
mov r8d, r9d
mov edx, r13d
mov rcx, r15
call fcn.0062f8d4
mov dword [rdi], eax
xor r11b, r11b
mov al, byte [r12]
test al, al
je 0x62fab9
add r11b, al
inc r12
mov al, byte [r12]
test al, al
jne 0x62faab
call fcn.0058bd4c
and eax, 0xffffff00
movzx ecx, r11b
or eax, ecx
mov dword [rdi + 4], eax
lea rcx, [rdi + 8]
lea r8, [rsi + 1]
mov rdx, qword [r14 + 0x28]
call fcn.006a4bf0
lea rax, [rbx + 0xf]
cmp rax, rbx
ja 0x62faf0
movabs rax, 0xffffffffffffff0
and rax, 0xfffffffffffffff0
call fcn.006e5e00
sub rsp, rax
lea r9, [rsp + 0x20]
mov eax, dword [rdi]
mov dword [r9], eax
mov r8d, 1
shr rbx, 2
cmp r8, rbx
jae 0x62fb3b
lea rdx, [r9 + 4]
sub rdi, r9
mov eax, r8d
imul eax, eax, 0xa3fb7
mov ecx, dword [rdi + rdx]
xor ecx, eax
xor ecx, dword [rdx - 4]
mov dword [rdx], ecx
inc r8
add rdx, 4
cmp r8, rbx
jb 0x62fb1c
lea r8, [rsi + 5]
lea rdx, [r9 + 4]
lea rcx, [rbp]
call fcn.00414f08
nop
lea rax, [rbp + 0x30]
mov qword [rbp + 0x50], rax
lea rcx, [rbp + 0x30]
mov qword [rbp + 0x58], rcx
mov byte [rbp + 0x30], 0
xor ebx, ebx
mov rax, qword [rbp + 0x20]
mov esi, 0x100
sub rax, qword [rbp + 0x28]
je 0x62fc4b
call fcn.0058bd4c
and eax, 7
add eax, 3
mov edi, eax
mov rcx, qword [rbp + 0x20]
sub rcx, qword [rbp + 0x28]
add rax, rbx
cmp rax, rcx
jbe 0x62fb99
mov rdi, rcx
sub rdi, rbx
mov r9, rdi
mov r8, rbx
lea rdx, [rbp + 0x68]
lea rcx, [rbp]
call fcn.00420df8
nop
mov r8b, 0x20
mov rdx, rax
lea rcx, [rbp + 0xb0]
call fcn.004211f0
nop
mov r8, qword [rax + 0x20]
mov rdx, qword [rax + 0x28]
lea rcx, [rbp + 0x30]
call fcn.00402720
nop
lea rax, [rbp + 0xb0]
mov rcx, qword [rbp + 0xd8]
cmp rcx, rax
je 0x62fc06
test rcx, rcx
je 0x62fc06
mov rdx, qword [rbp + 0xb0]
sub rdx, rcx
cmp rdx, rsi
jbe 0x62fc00
call fcn.006a4944
jmp 0x62fc06
call fcn.006a3610
nop
lea rax, [rbp + 0x68]
mov rcx, qword [rbp + 0x90]
cmp rcx, rax
je 0x62fc33
test rcx, rcx
je 0x62fc33
mov rdx, qword [rbp + 0x68]
sub rdx, rcx
cmp rdx, rsi
jbe 0x62fc2e
call fcn.006a4944
jmp 0x62fc33
call fcn.006a3610
add rbx, rdi
mov rax, qword [rbp + 0x20]
sub rax, qword [rbp + 0x28]
cmp rbx, rax
jb 0x62fb76
mov rcx, qword [rbp + 0x58]
xor dl, dl
mov al, byte [rcx]
test al, al
je 0x62fc5e
add dl, al
inc rcx
mov al, byte [rcx]
test al, al
jne 0x62fc53
and dl, 0xf
add dl, 0x41
lea r8, [rbp + 0x30]
mov rbx, qword [rbp + 0x128]
mov rcx, rbx
call fcn.00420660
mov dword [rbp + 0x138], 1
lea rax, [rbp + 0x30]
mov rcx, qword [rbp + 0x58]
cmp rcx, rax
je 0x62fcac
test rcx, rcx
je 0x62fcac
mov rdx, qword [rbp + 0x30]
sub rdx, rcx
cmp rdx, rsi
jbe 0x62fca6
call fcn.006a4944
jmp 0x62fcac
call fcn.006a3610
nop
lea rax, [rbp]
mov rcx, qword [rbp + 0x28]
cmp rcx, rax
je 0x62fcd6
test rcx, rcx
je 0x62fcd6
mov rdx, qword [rbp]
sub rdx, rcx
cmp rdx, rsi
jbe 0x62fcd1
call fcn.006a4944
jmp 0x62fcd6
call fcn.006a3610
mov rax, rbx
jmp 0x62fd1e
lea rcx, [rbp + 0x68]
call fcn.006a49e8
lea r11, [0x00798b08]
mov qword [rbp + 0x68], r11
lea rdx, [0x008937b0]
lea rcx, [rbp + 0x80]
call fcn.004029b4
lea r11, [0x00798b08]
mov qword [rbp + 0x68], r11
lea rdx, [0x00850fa8]
lea rcx, [rbp + 0x68]
call fcn.006ab82c
nop
mov rbx, qword [rbp + 0x120]
lea rsp, [rbp + 0xe0]
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret