Function at 0x140340ea0
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
mov eax, dword [rcx + 8]
cmp eax, dword [rdx + 8]
jne 0x140340f67
mov eax, dword [rcx + 0xc]
cmp eax, dword [rdx + 0xc]
sete al
setne r8b
movzx r9d, byte [0x1405a988c]
mov r11d, r9d
xor r11b, 1
mov r10d, eax
and r10b, r9b
and r9b, r8b
and r8b, r11b
or r10b, r8b
and r10b, al
and r11b, al
or r9b, r11b
movsxd r8, dword [0x140485d00]
mov eax, dword [0x140485d10]
test r10b, r9b
jne 0x140340f03
xor r10b, r9b
je 0x140340f67
mov r9d, dword [rcx + 0x10]
cmp r9d, dword [rdx + 0x10]
jne 0x140340f67
mov r9d, dword [rcx + 0x14]
cmp r9d, dword [rdx + 0x14]
jne 0x140340f67
mov r9d, dword [rcx + 0x18]
cmp r9d, dword [rdx + 0x18]
jne 0x140340f67
mov r9d, dword [rcx + 0x1c]
cmp r9d, dword [rdx + 0x1c]
jne 0x140340f67
lea r10, [0x140485d00]
movabs r9, 0xf6d735e396ee8dd5
mov r11, r9
sub r11, r10
movabs r10, 0x74c75c2bf7cbc7ed
add r11, r10
sub r9, r11
add r9, r10
add r9, r8
mov r8d, dword [0x1405ac31c]
cmp r8d, 0x34
jge 0x140340f90
jmp 0x140340f76
xor eax, eax
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov r8d, dword [0x1405842f0]
lea r10d, [r8 + 1]
mov dword [0x1405842f0], r10d
test rcx, rcx
jne 0x140340fcc
nop dword [rax]
mov r8d, dword [0x1405842f0]
mov r10d, 1
sub r10d, r8d
shl r8d, 2
add r10d, r10d
sub r8d, r10d
add r8d, 0xfffffff9
mov dword [0x1405842f0], r8d
mov r8d, dword [0x1405ac318]
lea r10d, [r8 - 1]
imul r10d, r8d
test r10b, 1
jne 0x140340f90
jmp 0x140340f76
mov r11d, dword [0x1405861d4]
mov esi, r11d
xor esi, 0xc8124bff
and r11d, 0x48124bff
lea r11d, [rsi + r11*2]
mov esi, r11d
xor esi, r11d
not esi
and esi, r10d
xor esi, r11d
mov r10d, r8d
not r10d
mov r11d, esi
not r11d
mov edi, r8d
xor edi, r11d
xor r11d, r10d
and r11d, esi
and r10d, esi
or r10d, edi
not r10d
or r10d, r11d
movabs r11, 0xeb8432e8f3d16e59
xor r8d, r10d
not r8d
nop dword [rax]
mov rsi, qword [0x1405861d8]
mov rdi, r11
xor rdi, rsi
mov rbx, rdi
not rbx
and rbx, rsi
lea rsi, [rdi + rbx*2]
cmp rdx, rsi
je 0x140341030
test r8d, r10d
je 0x140341059
xor r11d, r11d
jmp 0x140341065
xor esi, esi
mov r11d, 0
test eax, eax
jg 0x1403410a5
mov eax, 0xc8124c01
add eax, dword [0x1405861d4]
lea r9, [fcn.140340ea0]
add r9d, r9d
add r9d, 0x3cc0
mov esi, r9d
not esi
mov edi, esi
and edi, eax
not eax
and r9d, eax
or r9d, edi
and eax, esi
or eax, r9d
cmp eax, 0xffffffff
jne 0x1403411f0
jmp 0x1403411d8
mov edi, 0xc8124c00
lea rbx, [fcn.140340ea0]
xor ebp, ebp
xor r14d, r14d
jmp 0x1403410ef
mov r12d, r14d
not r12b
mov r13d, r12d
and r13b, r15b
not r15b
and r15b, r14b
or r13b, r15b
mov r11d, r13d
not r11b
xor r13b, r12b
and r11b, r14b
or r11b, r13b
not r11b
or r11b, r15b
inc ebp
mov r14d, r11d
cmp ebp, eax
jge 0x140341065
movsxd r11, ebp
add r11, r9
test sil, sil
jne 0x140341190
nop
mov r15d, dword [0x1405ac318]
mov r12d, dword [0x1405861d4]
lea r13d, [r15 + r12]
inc r13d
imul r13d, r15d
and r13d, 1
add r12d, 0xc8124c00
cmp r13d, r12d
jne 0x140341190
nop dword [rax]
mov r15d, dword [0x1405ac318]
mov r12d, r15d
not r12d
imul r12d, r15d
test r12b, 1
jne 0x140341172
movzx r15d, byte [r11]
mov r12d, dword [0x1405ac318]
lea r13d, [r12 - 1]
imul r13d, r12d
and r13d, 1
mov r12d, dword [0x1405861d4]
add r12d, edi
cmp r13d, r12d
je 0x1403410b8
movzx r15d, byte [r11]
lea r15d, [rbx + rbx]
add r15d, 0x3d20
mov r12d, r15d
not r12d
test r12d, r15d
jne 0x140341130
jmp 0x140341147
mov r15d, dword [0x1405ac31c]
cmp r15d, 0x4d
jge 0x140341190
jmp 0x140341100
mov eax, dword [rcx + 0x28]
cmp eax, dword [rdx + 0x28]
sete r9b
movzx eax, byte [0x1405a9de8]
mov r8d, eax
and r8b, r9b
xor al, r9b
test r8b, al
jne 0x1403411ca
xor r8b, al
je 0x140340f67
mov eax, dword [rcx + 0x2c]
cmp eax, dword [rdx + 0x2c]
sete al
jmp 0x140340f69
mov eax, dword [0x1405ac318]
lea r9d, [rax - 1]
imul r9d, eax
test r9b, 1
je 0x1403411fd
nop dword [rax]
mov eax, dword [0x1405ac31c]
cmp eax, 0x47
jge 0x1403411f0
jmp 0x1403411d8
mov eax, dword [rcx + 0x20]
cmp eax, dword [rdx + 0x20]
jne 0x140340f67
mov eax, dword [rcx + 0x24]
mov r9d, dword [rdx + 0x24]
test r8d, r10d
setne bl
movzx r8d, byte [0x140485d08]
mov r10b, 1
test r10b, r10b
je 0x140341246
mov r10d, ebx
sub r10b, byte [0x1405861d0]
mov esi, dword [0x1405ac318]
mov edi, 1
sub edi, esi
imul edi, esi
test dil, 1
je 0x140341265
mov r10d, 0xc8124c1e
nop dword [rax]
mov esi, dword [0x1405ac31c]
mov edi, dword [0x1405861d4]
add edi, r10d
cmp esi, edi
jge 0x140341250
jmp 0x140341226
add r10b, 0x51
sub r11b, r8b
mov r8d, r11d
neg r8b
dec r11b
xor r8b, r10b
not r10b
and r10b, r11b
or r10b, r8b
not r10b
test r10b, r10b
setne r8b
or r8b, byte [0x1405a988c]
mov r10d, dword [0x1405ac31c]
cmp r10d, 0x13
jg 0x1403412d2
mov r10d, r8d
and r10b, 1
mov byte [0x1405a988c], r10b
mov r10d, dword [0x1405ac318]
lea r11d, [r10 - 1]
imul r11d, r10d
and r11d, 1
mov r10d, 0xc8124c00
add r10d, dword [0x1405861d4]
cmp r11d, r10d
je 0x1403412fe
mov r10d, r8d
and r10b, 1
lea r11, [fcn.140340ea0]
add r11d, r11d
add r11d, 0x4000
mov esi, r11d
not esi
nop
mov byte [0x1405a988c], r10b
test esi, r11d
jne 0x1403412f0
jmp 0x14034129f
cmp eax, r9d
je 0x1403411a2
jmp 0x140340f67