Function at 0x14003a700
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xa8
mov rdi, r8
mov rsi, rcx
mov rbx, qword [rdx]
mov r14, qword [rdx + 8]
mov ecx, 2
call fcn.140073bc0
cmp r14, 0
setne cl
mov r15, r14
add r15, 0x18
and eax, 1
mov cl, byte [rbx]
cmp eax, 0
je 0x14003a75c
jmp 0x14003a772
mov qword [rsi], 2
jmp 0x14003aa62
mov qword [rsi], 3
jmp 0x14003aa62
mov al, cl
and al, 1
cmp al, 0
setne bpl
test bpl, 1
jne 0x14003a867
jmp 0x14003a78b
mov al, cl
and al, 2
cmp al, 0
setne bpl
test bpl, 1
jne 0x14003a8e5
jmp 0x14003a96e
mov rax, qword [r14 + 8]
mov rcx, qword [r14 + 0x10]
mov qword [rsp + 0x28], rax
lea r12, [rsp + 0x28]
add r12, 8
mov qword [rsp + 0x30], rcx
lea r13, [rsp + 0x28]
add r13, 0x10
mov qword [rsp + 0x38], 0
mov qword [rsp + 0x40], rcx
mov rcx, qword [r14]
lea r8, [rsp + 0x28]
mov rdx, rdi
call fcn.140070560
cmp rax, 0
jne 0x14003a848
cmp rdx, 0
jne 0x14003a841
mov rdx, qword [r13]
cmp rdx, qword [r12]
ja 0x14003a7e7
xor eax, eax
jmp 0x14003a84c
mov eax, dword [0x1400e5fb0]
add eax, dword [0x1400e5fb4]
imul eax, eax, 0x77b7141a
mov ecx, 0xb0bd6f7e
xor edx, edx
div ecx
mov ecx, 0x57de476b
xor edx, edx
div ecx
cmp eax, 0xb7f7fa02
je 0x14003aa79
mov eax, dword [0x1400e5fb8]
and eax, dword [0x1400e5fbc]
imul eax, eax, 0x58b6a9b9
and eax, 0xc098c4f4
or eax, 0xc664f7fb
ud2
mov eax, 1
jmp 0x14003a84c
mov cl, byte [rbx]
jmp 0x14003a867
mov cl, byte [rbx]
or cl, 1
mov byte [rbx], cl
mov qword [rsi], 0
mov qword [rsi + 8], rax
mov qword [rsi + 0x10], rdx
jmp 0x14003aa62
and cl, 2
cmp cl, 0
jne 0x14003a95f
mov rax, qword [r14 + 0x20]
mov rcx, qword [r14 + 0x28]
mov qword [rsp + 0x48], rax
lea r14, [rsp + 0x48]
add r14, 8
mov qword [rsp + 0x50], rcx
lea r12, [rsp + 0x48]
add r12, 0x10
mov qword [rsp + 0x58], 0
mov qword [rsp + 0x60], rcx
mov rcx, qword [r15]
lea r8, [rsp + 0x48]
mov rdx, rdi
call fcn.140070560
mov rcx, rdx
cmp rax, 0
je 0x14003a8c3
jmp 0x14003a750
cmp rcx, 0
jne 0x14003a8db
mov rcx, qword [r12]
cmp rcx, qword [r14]
ja 0x14003a8d9
xor eax, eax
jmp 0x14003aa4c
ud2
mov eax, 1
jmp 0x14003aa4c
and cl, 1
cmp cl, 0
jne 0x14003a95f
mov rax, qword [r14 + 8]
mov rcx, qword [r14 + 0x10]
mov qword [rsp + 0x68], rax
lea r15, [rsp + 0x68]
add r15, 8
mov qword [rsp + 0x70], rcx
lea r12, [rsp + 0x68]
add r12, 0x10
mov qword [rsp + 0x78], 0
mov qword [rsp + 0x80], rcx
mov rcx, qword [r14]
lea r8, [rsp + 0x68]
mov rdx, rdi
call fcn.140070560
cmp rax, 0
je 0x14003a93d
jmp 0x14003a750
cmp rdx, 0
jne 0x14003a955
mov rdx, qword [r12]
cmp rdx, qword [r15]
ja 0x14003a953
xor eax, eax
jmp 0x14003a84c
ud2
mov eax, 1
jmp 0x14003a84c
test bpl, 1
jne 0x14003a744
jmp 0x14003a750
mov rax, qword [r14 + 0x20]
mov rcx, qword [r14 + 0x28]
mov qword [rsp + 0x88], rax
lea r12, [rsp + 0x88]
add r12, 8
mov qword [rsp + 0x90], rcx
lea r13, [rsp + 0x88]
add r13, 0x10
mov qword [rsp + 0x98], 0
mov qword [rsp + 0xa0], rcx
mov rcx, qword [r15]
lea r8, [rsp + 0x88]
mov rdx, rdi
call fcn.140070560
mov rcx, rdx
cmp rax, 0
jne 0x14003aa45
cmp rcx, 0
jne 0x14003a9e4
mov rcx, qword [r13]
cmp rcx, qword [r12]
ja 0x14003a9e2
xor eax, eax
jmp 0x14003aa4c
ud2
mov eax, dword [0x1400e5fc0]
xor edx, edx
div dword [0x1400e5fc4]
mov r8d, 0x6b751cbd
xor edx, edx
div r8d
mov r8d, 0x7670f3e9
xor edx, edx
div r8d
mov r8d, 0xbb7e1cbe
xor edx, edx
div r8d
cmp eax, 0xf2c95b2e
ja 0x14003aa8c
jmp 0x14003aa1c
mov eax, dword [0x1400e5fc8]
add eax, dword [0x1400e5fcc]
and eax, 0xda8a1441
or eax, 0x67410b91
xor eax, 0x6066680f
cmp eax, 0x4cea6fbc
ja 0x14003aa1c
mov eax, 1
jmp 0x14003aa4c
mov cl, byte [rbx]
jmp 0x14003a8e5
mov dl, byte [rbx]
or dl, 2
mov byte [rbx], dl
mov qword [rsi], 1
mov qword [rsi + 8], rax
mov qword [rsi + 0x10], rcx
mov rax, rsi
add rsp, 0xa8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
adc ch, byte [rax - 0x4d]
movabs al, byte [0xefbf734a7ea31929]
ud2
cmp byte [rax + 0x10], dl
sal edi, 0xab
nop
invalid