Function at 0x140014700
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x68
mov rdi, r9
mov r12d, r8d
mov qword [rsp + 0x48], rdx
mov qword [rsp + 0x28], rcx
call fcn.140015460
test rax, rax
je 0x1400149b7
mov r15, rax
mov eax, edx
mov esi, 0xaaaaaaab
imul rsi, rax
mov rax, rsi
shr rax, 0x23
mov qword [rsp + 0x38], rax
call fcn.14001d230
mov rcx, rax
shr rsi, 0x24
movabs r9, 0xa0761d6478bd642f
lea rdx, [rax + r9]
movabs r10, 0xe7037ed1a0b428db
mov rax, rdx
xor rax, r10
mul rdx
mov r14, rdx
xor r14d, eax
imul r14, rsi
cmp esi, r14d
jbe 0x1400147cb
mov eax, esi
neg eax
xor edx, edx
div esi
cmp edx, r14d
jbe 0x1400147cb
mov r8d, edx
movabs rax, 0x40ec3ac8f17ac85e
add rcx, rax
nop word cs:[rax + rax]
mov rax, rcx
xor rax, r10
mul rcx
mov r14, rdx
xor r14d, eax
imul r14, rsi
add rcx, r9
cmp r8d, r14d
ja 0x1400147b0
shr r14, 0x20
cmp dword [rsp + 0x38], r14d
jbe 0x1400149b7
lea rax, [r14 + r14*2]
lea rbp, [r15 + rax*4]
mov rax, qword [rsp + 0x28]
add rax, 0xfffffffffffffffd
mov qword [rsp + 0x40], rax
mov rax, qword [rdi + 8]
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x58], rdi
mov rax, qword [rdi + 0x10]
test r12d, r12d
mov qword [rsp + 0x50], rax
je 0x1400148ce
lea rax, [rax*8]
mov qword [rsp + 0x60], rax
jmp 0x140014832
add rbp, 0xc
inc r14d
cmp r14d, dword [rsp + 0x38]
je 0x1400149b7
mov edi, dword [rbp]
mov esi, dword [rbp + 4]
mov r12, rdi
add r12, qword [rsp + 0x28]
mov rax, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x30]
nop word [rax + rax]
test rax, rax
je 0x140014870
mov rdx, rcx
add rcx, 8
add rax, 0xfffffffffffffff8
cmp edi, dword [rdx]
jne 0x140014850
cmp esi, dword [rdx + 4]
jne 0x140014850
jmp 0x140014820
mov rax, qword [rsp + 0x40]
lea r13, [rax + rsi]
cmp r13, r12
jbe 0x140014820
lea rbx, [r12 + 4]
mov r15, r12
jmp 0x14001489e
inc r15
inc r12
inc rbx
cmp r13, r12
jbe 0x140014820
cmp dword [rbx - 4], 0x58c48348
jne 0x140014890
cmp byte [rbx], 0xc3
jne 0x140014890
mov edx, dword [rbp + 8]
mov rcx, qword [rsp + 0x28]
lea r8, [rsp + 0x27]
call fcn.1400149d0
mov rcx, qword [rsp + 0x48]
mov dword [rcx], eax
test eax, eax
je 0x140014890
jmp 0x140014980
lea r12, [rax*8]
jmp 0x1400148f2
add rbp, 0xc
inc r14d
cmp r14d, dword [rsp + 0x38]
je 0x1400149b7
mov edi, dword [rbp]
mov esi, dword [rbp + 4]
mov r13, rdi
add r13, qword [rsp + 0x28]
mov rax, r12
mov rcx, qword [rsp + 0x30]
nop dword [rax + rax]
test rax, rax
je 0x140014930
mov rdx, rcx
add rcx, 8
add rax, 0xfffffffffffffff8
cmp edi, dword [rdx]
jne 0x140014910
cmp esi, dword [rdx + 4]
jne 0x140014910
jmp 0x1400148e0
mov rax, qword [rsp + 0x40]
lea rbx, [rax + rsi]
cmp rbx, r13
jbe 0x1400148e0
mov r15, r13
jmp 0x14001495b
inc r15
inc r13
cmp rbx, r13
jbe 0x1400148e0
cmp word [r15], 0x23ff
jne 0x140014950
mov edx, dword [rbp + 8]
mov rcx, qword [rsp + 0x28]
lea r8, [rsp + 0x27]
call fcn.1400149d0
mov rcx, qword [rsp + 0x48]
mov dword [rcx], eax
test eax, eax
je 0x140014950
mov rbx, qword [rsp + 0x58]
mov r14, qword [rsp + 0x50]
cmp r14, qword [rbx]
jne 0x1400149a0
mov rcx, rbx
call fcn.140016190
mov rax, qword [rbx + 8]
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x30]
mov dword [rax + r14*8], edi
mov dword [rax + r14*8 + 4], esi
inc r14
mov qword [rbx + 0x10], r14
jmp 0x1400149ba
xor r15d, r15d
mov rax, r15
add rsp, 0x68
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret