Function at 0x140142620
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x48
lea rbp, [rsp + 0x40]
mov qword [rbp], 0xfffffffffffffffe
mov rdi, rcx
mov r12d, 0x520
add r12, qword [rcx + 0x18]
mov rsi, r8
mov eax, 0xffffcb32
add eax, dword [0x140514d40]
mov r14d, edx
cdqe
add rax, qword [0x140514d58]
mov rcx, r12
mov edx, 0x17d443f9
mov r8d, 0x2475f810
call qword [case.0x14013cbc3.0]
mov rbx, qword [0x140575a40]
mov r15d, 0xfffffff5
test rbx, rbx
je 0x1401427b6
mov dword [rbx + 0xc], 0
mov rax, qword [rdi + 0x18]
movzx ecx, byte [0x140514f74]
add cl, 0xd9
not cl
or cl, byte [rbx + 0x10]
not cl
mov byte [rax + 0x6ed], cl
cmp byte [rbx + 0x11], 0
je 0x140142796
mov qword [rbp - 0x18], r12
mov dword [rbp - 4], 0
mov rax, qword [rbx + 0x20]
mov rcx, qword [rax + 8]
cmp byte [rcx + 0x19], 0
mov r12, rax
jne 0x1401426f9
mov r12, rax
nop dword [rax]
lea rdx, [rcx + 0x10]
cmp dword [rcx + 0x20], r14d
cmovae r12, rcx
cmovae rdx, rcx
mov rcx, qword [rdx]
cmp byte [rcx + 0x19], 0
je 0x1401426e0
mov rcx, qword [0x140514c78]
movsxd r9, dword [rcx]
mov rdx, qword [0x140514f78]
mov r8d, dword [0x14043bd40]
cmp byte [r12 + 0x19], 0
je 0x1401427d2
cmp dword [rbp - 4], 0
jne 0x140142731
mov eax, 0x1aab8856
add eax, dword [0x140514f70]
mov dword [rbp - 4], eax
mov rax, qword [rdi + 0x18]
mov byte [rax + 0x6ed], 0
cmp qword [0x140575b00], 0
jne 0x140142767
mov ecx, 0x700
call fcn.1403f542c
mov qword [rbp - 0x10], rax
mov rcx, rax
call fcn.140097d10
mov rax, qword [rbp - 0x10]
mov qword [0x140575b00], rax
mov rax, qword [0x140575b00]
mov rax, qword [rax + 0x6f0]
mov r9d, dword [rbp - 4]
mov edx, dword [rdi + 0xc]
mov qword [rsp + 0x20], rax
mov rcx, rbx
mov r8, rsi
call fcn.140133d80
mov r15d, dword [rbp - 4]
mov r12, qword [rbp - 0x18]
jmp 0x1401427b6
mov rax, qword [rdi + 0x18]
movzx ecx, byte [0x140514f74]
mov edx, ecx
xor dl, 0xe0
and cl, 0x60
add cl, cl
add cl, dl
add cl, 0xf8
mov byte [rax + 0x6ed], cl
mov rcx, r12
call fcn.14012f0a0
mov eax, r15d
add rsp, 0x48
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
cmp dword [r12 + 0x20], r14d
ja 0x14014271d
cmp r12, rax
je 0x14014271d
movabs rax, 0x53aeead71d75a1e9
mov r10, rdx
xor r10, rax
and rax, rdx
lea rax, [r10 + rax*2]
sub rax, r9
add rax, rdx
sub rcx, rax
add rcx, rdx
lea rax, [r12 + 0x28]
mov qword [rbp - 0x10], rax
mov eax, dword [0x140514c74]
mov edx, dword [0x140575af4]
cmp edx, 0x1a
jl 0x140142825
jmp 0x140142858
mov edx, 0x1aab885a
add edx, dword [0x140514f70]
lea r9, [fcn.140142620]
add r9d, r9d
add r9d, 0x11e0
mov r10d, r9d
xor r10d, edx
not edx
not r9d
and r9d, edx
or r9d, r10d
cmp r9d, 0xffffffff
je 0x1401428a1
mov edx, 0x1aab885a
lea r9, [fcn.140142620]
add r9d, r9d
add r9d, 0x4c20
not r9d
nop word cs:[rax + rax]
mov r10d, dword [0x140514f70]
add r10d, edx
not r10d
mov r11d, r9d
xor r11d, r10d
and r11d, r9d
or r11d, r10d
cmp r11d, 0xffffffff
jne 0x140142880
jmp 0x140142825
lea edx, [rax + rax]
not edx
add edx, eax
neg edx
mov r9d, dword [0x140575af0]
mov r10d, dword [0x140514f70]
add r10d, r9d
add r10d, 0xe55477a6
imul r10d, r9d
test r10b, 1
jne 0x140142a6b
jmp 0x140142a5d
mov r8d, dword [r15]
mov rax, qword [rbp - 0x10]
mov edx, dword [rax]
mov rax, qword [rdi]
mov rax, qword [rax + 0x10]
mov rcx, rdi
call qword [case.0x14013cbc3.0]
mov edx, 0x1aab8859
add edx, dword [0x140514f70]
mov rcx, qword [rdi + 0x18]
cmp eax, edx
jne 0x1401429f2
movsxd rax, dword [r12 + 0x40]
mov rcx, qword [rcx + 0x370]
lea rax, [rax + rax*4]
shl rax, 5
mov edx, dword [rcx + rax + 0x24]
mov dword [rdi + 0xc], edx
mov dword [rbx + 8], edx
mov eax, dword [rcx + rax]
mov ecx, eax
not ecx
mov edx, ecx
and edx, 8
and eax, 0xfffffff7
or eax, edx
and ecx, 0xfffffff7
or ecx, eax
cmp ecx, 0xffffffff
jne 0x140142956
mov rcx, qword [rdi + 0x18]
mov edx, dword [rdi + 0xc]
xor r8d, r8d
call fcn.140330900
test rax, rax
je 0x140142a01
mov rax, qword [rdi]
mov rax, qword [rax + 0x20]
lea r8, [rbp - 4]
mov rcx, rdi
mov rdx, qword [rbp - 0x10]
call qword [case.0x14013cbc3.0]
mov ecx, dword [0x140514f70]
test r13d, r13d
setne r8b
movzx edx, byte [0x14043bd3c]
mov r9d, dword [0x140575af0]
lea r10d, [rcx + r9]
imul r10d, r9d
test r10b, 1
je 0x1401429a5
mov r9b, 1
nop word [rax + rax]
test r9b, r9b
je 0x1401429a0
add ecx, 0x1aab8859
lea r9d, [r8 - 1]
sub dl, r14b
xor dl, r9b
mov r10d, edx
not r10b
neg r8b
and r8b, dl
and r9b, r10b
or r9b, r8b
mov r8d, r9d
not r8b
xor r9b, r10b
and r8b, dl
or r8b, r9b
not r8b
movzx edx, r8b
add dx, word [0x140575af8]
cmp dword [0x140514f70], 0xe55477a7
je 0x140142a0d
jmp 0x140142a39
mov byte [rcx + 0x6ed], 0
xor r15d, r15d
jmp 0x140142790
mov dword [rbp - 4], 0xfffffffe
jmp 0x140142731
mov word [0x140575af8], dx
mov r8d, dword [0x140575af0]
mov r9d, dword [0x140514f70]
neg r9d
add r9d, r8d
add r9d, 0xe55477a6
imul r9d, r8d
test r9b, 1
je 0x140142a42
mov word [0x140575af8], dx
jmp 0x140142a0d
cmp eax, ecx
je 0x14014271d
mov rax, qword [rdi + 0x18]
mov byte [rax + 0x6ed], 0
xor r15d, r15d
jmp 0x140142790
mov dword [0x140514c74], edx
xor r9d, r9d
test r9b, r9b
je 0x140142a73
mov dword [0x140514c74], edx
jmp 0x140142a5d
mov r9d, dword [0x140575af4]
mov r9d, eax
not r9d
mov r10d, edx
not r10d
nop word cs:[rax + rax]
mov r11d, dword [0x140575af4]
cmp r11d, 0x52
jg 0x140142a90
mov r13d, edx
xor r13d, edx
not r13d
and r13d, eax
xor r13d, edx
and r10d, eax
and r9d, edx
or r9d, r10d
and eax, edx
or eax, r9d
not r13d
mov edx, r13d
xor edx, eax
or r13d, eax
not r13d
or r13d, edx
not r13d
mov r9d, 0x82d9720
nop word cs:[rax + rax]
mov edx, dword [0x140575af0]
lea eax, [rdx - 1]
imul eax, edx
mov edx, dword [0x140514f70]
add edx, r9d
mov r10d, edx
xor r10d, 0x127df13b
and edx, 0x127df13b
lea r10d, [r10 + rdx*2]
xor edx, edx
div r10d
test edx, edx
je 0x140142b33
nop word cs:[rax + rax]
mov eax, dword [0x140575af0]
lea edx, [rax - 1]
imul edx, eax
test dl, 1
jne 0x140142b20
jmp 0x140142ae0
test r13d, r13d
je 0x140142b40
xor r14d, r14d
jmp 0x140142c77
mov eax, 0x1aab8859
nop word cs:[rax + rax]
mov edx, dword [0x140575af0]
lea r9d, [rdx - 1]
imul r9d, edx
test r9b, 1
jne 0x140142b79
mov edx, dword [0x140514f70]
add edx, eax
mov r9d, dword [0x140575af4]
cmp r9d, 0x49
jle 0x140142b9a
mov edx, dword [0x140575af0]
lea r9d, [rdx - 1]
imul r9d, edx
and r9d, 1
mov edx, dword [0x140514f70]
add edx, eax
cmp r9d, edx
jne 0x140142b50
jmp 0x140142b64
xor eax, eax
mov r14d, 0
cmp edx, r8d
jge 0x140142c77
xor edx, edx
xor r14d, r14d
mov r9d, dword [0x140575af4]
cmp r9d, 0xd
jg 0x140142c00
nop dword [rax]
cmp dword [0x140514f70], 0xe55477a7
jne 0x140142c00
movsxd r9, edx
nop
test al, al
jne 0x140142be6
movzx r10d, byte [rcx + r9]
mov r11d, dword [0x140575af4]
cmp r11d, 0x51
jle 0x140142c20
movzx r10d, byte [rcx + r9]
mov r10d, dword [0x140575af4]
cmp r10d, 0x2f
jge 0x140142bd0
jmp 0x140142bd4
mov r9d, dword [0x140575af0]
lea r10d, [r9 - 1]
imul r10d, r9d
test r10b, 1
jne 0x140142c00
jmp 0x140142bc0
mov r9d, dword [0x140575af4]
nop word [rax + rax]
mov r9d, dword [0x140514f70]
mov r11d, dword [0x140575af4]
cmp r11d, 0x2b
jg 0x140142c30
xor r14b, r10b
sub r9d, edx
add r9d, 0x1aab8859
mov edx, dword [0x140575af0]
nop word [rax + rax]
test al, al
jne 0x140142c60
test al, al
mov edx, 1
sub edx, r9d
cmp edx, r8d
jl 0x140142bb0
mov eax, dword [0x140575af4]
cmp eax, 0x11
jg 0x140142c90
mov eax, dword [0x140575af4]
cmp eax, 0x53
jl 0x140142cc4
nop dword [rax]
mov ecx, dword [0x140575af0]
lea eax, [rcx - 1]
imul eax, ecx
mov ecx, dword [0x140514f70]
lea r8d, [rcx + 0x1aab885b]
xor edx, edx
div r8d
mov eax, ecx
xor eax, 0x1aab8859
and ecx, 0x1aab8859
lea eax, [rax + rcx*2]
cmp edx, eax
jne 0x140142c90
jmp 0x140142c82
lea r15, [r12 + 0x30]
mov edx, dword [r12 + 0x28]
mov rax, qword [rdi]
mov rax, qword [rax + 0x18]
mov rcx, rdi
mov r8, r15
call qword [case.0x14013cbc3.0]
jmp 0x1401428d5