Function at 0x140424a30
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x2b8
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x230], 0xfffffffffffffffe
mov rax, qword [r8]
cmp rax, qword [r8 + 8]
je 0x140424bde
mov rdi, r8
mov rbx, rcx
mov eax, 0x2e70446f
nop
mov ecx, dword [0x140696c5c]
mov r8d, dword [0x14066e1c0]
add r8d, eax
cmp ecx, r8d
jge 0x140424aa0
mov rsi, qword [0x140696b78]
mov rcx, qword [rsi + 0x498]
mov r8d, dword [0x140696c5c]
cmp r8d, 0x20
jle 0x140424ac2
mov ecx, dword [0x140696c58]
mov r8d, dword [0x14066e1c0]
neg r8d
add r8d, ecx
inc r8d
imul r8d, ecx
test r8b, 1
jne 0x140424a70
jmp 0x140424a85
xor r14d, r14d
test rcx, rcx
je 0x140424cd8
cmp byte [0x140693da8], 0
jne 0x140424cd8
cmp qword [rsi + 0x4a0], 0
je 0x140424cd8
mov dword [rsp + 0x20], 0xfcfb0210
lea rcx, [rbp + 0x1e0]
mov qword [rbp + 0x208], rdx
mov r8d, 0x26e82fe8
mov r9d, 0x4b67c75d
call fcn.140429650
mov rax, qword [rsi + 0x4a0]
lea rdx, [rbp + 0x1e8]
cmp qword [rbp + 0x200], 8
jb 0x140424b2f
mov rdx, qword [rbp + 0x1e8]
xor ecx, ecx
xor r8d, r8d
call qword [0x1405fc400]
mov ecx, dword [0x140696c58]
lea edx, [rcx + 1]
jmp 0x140424b59
mov ecx, dword [0x140696c58]
lea edx, [rcx - 1]
imul edx, ecx
test dl, 1
jne 0x140424b50
mov ecx, dword [0x14066e1c0]
mov edx, dword [0x140696c5c]
cmp edx, 0x59
jge 0x140424b50
mov edx, ecx
xor edx, 0x2e70440e
and ecx, 0x2e70440e
lea ecx, [rdx + rcx*2]
cmp eax, ecx
je 0x140424bfb
mov ecx, dword [0x140696c5c]
cmp ecx, 0x2f
mov r15, qword [rbx + 0x630]
mov r13, qword [rbx + 0x638]
mov ecx, dword [0x140696c5c]
mov edx, 0x2e704453
add edx, dword [0x14066e1c0]
cmp ecx, edx
jge 0x140424b90
lea rcx, [rbx + 0x630]
mov qword [rbp + 0x220], rcx
mov r12d, eax
mov r14, r13
sub r14, r15
cmp r14, r12
jbe 0x140424be6
add r15, r12
mov qword [rbx + 0x638], r15
jmp 0x140424d86
xor r14d, r14d
jmp 0x140424cd8
cmp dword [0x14066e1c0], 0xd18fbbf2
jne 0x140424d00
jmp 0x140424cf4
xor r14d, r14d
mov rax, qword [rbp + 0x200]
movabs rcx, 0x2ed51be6eb270d2
add rcx, qword [0x14066e1b8]
cmp rax, rcx
jbe 0x140424cd8
mov rcx, qword [rbp + 0x1e8]
add rax, rax
movabs rdx, 0x2ed51be6eb270cd
add rdx, qword [0x14066e1b8]
mov r8, rax
xor r8, rdx
and rdx, rax
lea rdx, [r8 + rdx*2]
cmp rdx, 0x1000
jb 0x140424cd3
mov r8, qword [rcx - 8]
mov rdx, rcx
xor rdx, 0xfffffffffffffff8
movabs r9, 0x7ffffffffffffff8
and r9, rcx
lea rcx, [rdx + r9*2]
sub rcx, r8
mov rdx, qword [0x14066e1b8]
movabs r9, 0x2ed51be6eb270eb
mov r10, rdx
xor r10, r9
and rdx, r9
lea rdx, [r10 + rdx*2]
cmp rcx, rdx
jae 0x140424cef
nop word cs:[rax + rax]
mov ecx, dword [0x140696c5c]
cmp ecx, 0x15
jle 0x140424cbc
mov ecx, dword [0x140696c58]
lea edx, [rcx - 1]
imul edx, ecx
test dl, 1
jne 0x140424ca0
add rax, qword [0x14066e1b8]
movabs rdx, 0x2ed51be6eb270f4
add rdx, rax
mov rcx, r8
call fcn.1400a75d0
mov eax, r14d
add rsp, 0x2b8
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
call fcn.1404ca324
mov eax, dword [0x140696c5c]
cmp eax, 0x30
jl 0x140424d13
nop
mov eax, dword [0x140696c58]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x140424d00
jmp 0x140424cf4
cmp r14, r12
jae 0x140424d86
nop dword [rax + rax]
mov rcx, qword [rbx + 0x640]
mov edx, dword [0x140696c58]
mov r8d, dword [0x14066e1c0]
mov eax, edx
sub eax, r8d
add eax, 0xd18fbbf1
imul eax, edx
mov edx, r8d
xor edx, 0x2e704410
and r8d, 0x2e704410
lea r8d, [rdx + r8*2]
xor edx, edx
div r8d
test edx, edx
jne 0x140424d20
sub rcx, r15
cmp rcx, r12
jae 0x140424f97
mov eax, dword [0x140696c5c]
cmp eax, 0xb
lea r8, [rbp - 0x50]
mov rcx, qword [rbp + 0x220]
mov rdx, r12
call fcn.14024cca0
mov rax, qword [rsi + 0x4a8]
mov rcx, qword [rbx + 0x630]
mov r9d, dword [rbx + 0x638]
sub r9d, ecx
cmp qword [rbp + 0x200], 8
lea rdx, [rbp + 0x1e8]
jb 0x140424db6
mov rdx, qword [rbp + 0x1e8]
mov r10, qword [0x1405fc400]
mov qword [rsp + 0x20], rcx
xor ecx, ecx
xor r8d, r8d
call r10
mov ecx, 0x2e70440e
add ecx, dword [0x14066e1c0]
cmp eax, ecx
je 0x140424bfb
mov qword [rbp + 0x210], 0
mov dword [rbp + 0x22c], 0
mov rax, qword [rsi + 0x4b0]
mov rcx, qword [rbx + 0x630]
cmp qword [rbx + 0x5e0], 8
jb 0x140424e13
mov rdx, qword [rbx + 0x5c8]
jmp 0x140424e1a
lea rdx, [rbx + 0x5c8]
lea r8, [rbp + 0x210]
lea r9, [rbp + 0x22c]
call qword [0x1405fc400]
test eax, eax
je 0x140424bfb
mov eax, dword [0x140696c58]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jmp 0x140424e59
cmp byte [0x140693da8], 0
je 0x140424e82
mov rcx, qword [rbp + 0x210]
movzx eax, word [rcx + 2]
movzx r9d, word [rcx]
lea r8, [rbx + 0x5f0]
cmp qword [rbx + 0x608], 8
jb 0x140424e50
mov r8, qword [rbx + 0x5f0]
jmp 0x140424e50
mov dword [rsp + 0x20], eax
lea rcx, [rbp - 0x50]
mov edx, 0x200
call fcn.140425230
mov qword [rbp + 0x218], 0
mov rax, qword [rsi + 0x4b0]
mov rcx, qword [rbp + 0x220]
mov rcx, qword [rcx]
lea rdx, [rbp - 0x50]
lea r8, [rbp + 0x218]
lea r9, [rbp + 0x22c]
call qword [0x1405fc400]
mov ecx, 0x2e70440e
add ecx, dword [0x14066e1c0]
cmp eax, ecx
jne 0x140424edf
xor r14d, r14d
jmp 0x1404250dd
mov rdx, qword [rbp + 0x218]
lea rcx, [rbp + 0x1b8]
call fcn.1402f0b20
mov rsi, qword [rbx + 0x538]
mov r15, qword [rbx + 0x540]
cmp rsi, r15
je 0x140424f31
lea rbx, [rbp + 0x1c0]
add rsi, 0x28
lea rdx, [rsi - 0x20]
xor r14d, r14d
mov rcx, rbx
xor r8d, r8d
call fcn.1402f6f90
cmp rax, 0xffffffffffffffff
jne 0x140425059
cmp rsi, r15
jne 0x140424f0c
mov rsi, qword [rdi]
cmp rsi, qword [rdi + 8]
je 0x140424fda
lea rbx, [rbp + 0x1c0]
add rsi, 0x28
mov r15, qword [rbp + 0x208]
lea rdx, [rsi - 0x20]
mov rcx, rbx
xor r8d, r8d
call fcn.1402f6f90
cmp rax, 0xffffffffffffffff
jne 0x140424fdf
nop word cs:[rax + rax]
mov rax, qword [rdi + 8]
mov ecx, dword [0x140696c58]
mov edx, dword [0x14066e1c0]
add edx, ecx
dec edx
imul edx, ecx
test dl, 1
jne 0x140424f70
cmp rsi, rax
je 0x140424fda
add rsi, 0x28
jmp 0x140424f50
mov eax, dword [0x140696c58]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
je 0x140424fc1
mov rax, r12
mov ecx, r14d
shl rax, cl
mov r8, r12
sub r8, rax
mov rcx, r13
xor edx, edx
call fcn.140512320
sub r12, r14
lea r15, [r12 + r13]
mov rcx, r13
xor edx, edx
mov r8, r12
call fcn.140512320
jmp 0x140424bd2
xor r14d, r14d
jmp 0x140425059
cmp qword [0x140696b98], 0
jne 0x14042503d
mov eax, dword [0x140696c58]
lea ecx, [rax + 1]
imul ecx, eax
test cl, 1
jne 0x140424fe9
mov ecx, 0x30
call fcn.1404e9d4c
mov qword [rax + 0x28], 0xf
lea rcx, [0x14052ecd8]
mov qword [rax + 8], rcx
movabs rcx, 0x2ed51be6eb270cb
add rcx, qword [0x14066e1b8]
mov dword [rax], 0
mov qword [rax + 0x20], rcx
mov byte [rax + 0x10], 0
mov qword [0x140696b98], rax
mov rcx, qword [0x140696b98]
mov dword [rcx], 0x15
add rcx, 8
mov r14b, 1
mov rdx, r15
call fcn.1402eee30
mov eax, dword [0x140696c58]
lea ecx, [rax - 1]
jmp 0x140425082
mov eax, dword [0x140696c58]
mov ecx, dword [0x14066e1c0]
neg ecx
add ecx, eax
inc ecx
imul ecx, eax
test cl, 1
jne 0x140425070
mov rax, qword [rbp + 0x1d8]
mov ecx, dword [0x140696c5c]
cmp ecx, 0x38
jge 0x140425070
cmp rax, 0x10
jb 0x1404250dd
mov rcx, qword [rbp + 0x1c0]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x1404250d8
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x1404250eb
mov rcx, rax
xor rcx, 0x28
and eax, 0x28
lea rdx, [rcx + rax*2]
mov rcx, r8
call fcn.1400a75d0
cmp dword [0x14066e1c0], 0xd18fbbf2
jne 0x140425126
jmp 0x1404250f0
call fcn.1404ca324
mov ecx, dword [0x140696c58]
lea eax, [rcx - 1]
imul eax, ecx
mov ecx, dword [0x14066e1c0]
lea r8d, [rcx + 0x2e704410]
xor edx, edx
div r8d
mov eax, ecx
xor eax, 0x2e70440e
and ecx, 0x2e70440e
lea eax, [rax + rcx*2]
cmp edx, eax
je 0x140424bfe
mov eax, 0x2e70440e
nop dword [rax + rax]
mov ecx, dword [0x140696c58]
lea edx, [rcx - 1]
imul edx, ecx
and edx, 1
mov ecx, dword [0x14066e1c0]
add ecx, eax
cmp edx, ecx
jne 0x140425130
jmp 0x1404250f0