Function at 0x140238e30
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x58
mov rsi, rcx
add rdx, r8
setb al
nop word cs:[rax + rax]
mov ecx, dword [0x14159c2a8]
add ecx, dword [0x14159c2ac]
cmp ecx, 0x352c17b7
je 0x140238e50
test al, al
jne 0x140239324
movabs rcx, 0x3fffffffffffffff
mov r9d, 4
nop dword [rax]
mov r10d, dword [0x14159c2b0]
mov eax, dword [0x14159c2b4]
mov r8d, r10d
not r8d
and r8d, eax
mov r11d, eax
not r11d
and r11d, r10d
imul r11d, r8d
mov r8d, r10d
and r8d, eax
or r10d, eax
imul r10d, r8d
add r10d, r11d
imul rax, r10, 0x4a30c7f7
shr rax, 0x20
sub r10d, eax
shr r10d, 1
add r10d, eax
shr r10d, 0x1f
add r10d, 0x3684d5b3
mov eax, r10d
and eax, 0x417
or eax, 0x40510040
xor eax, 0x1c05430d
and r10d, 0x228090a5
or r10d, eax
mov r8, qword [rsi]
lea rax, [r8 + r8]
cmp rax, rdx
mov r14, rdx
cmova r14, rax
cmp r14, 5
cmovb r14, r9
cmp r10d, 0x5c0c645
jb 0x140238e80
mov edx, dword [0x14159c2b8]
mov r9d, dword [0x14159c2bc]
mov r10d, edx
not r10d
and r10d, r9d
mov r11d, r9d
not r11d
and r11d, edx
imul r11d, r10d
mov r10d, edx
and r10d, r9d
or edx, r9d
imul edx, r10d
add edx, r11d
add edx, 0x915d364a
or edx, 0x2f32cbed
xor edx, 0xe7b4a14c
cmp edx, 0x914fd848
nop
xor edi, edi
cmp r14, rcx
setbe dl
mov r9d, dword [0x14159c2c0]
add r9d, dword [0x14159c2c4]
imul r9d, r9d, 0xf6c939d0
add r9d, 0x5b5932b0
cmp r9d, 0xdce3a452
ja 0x140238f60
lea rbx, [r14 + r14]
mov dil, dl
add rdi, rdi
nop word [rax + rax]
mov ecx, dword [0x14159c2c8]
mov edx, dword [0x14159c2cc]
add ecx, edx
add ecx, 0xf0ddf6f1
or ecx, 0xbfa7cb97
and ecx, 0xbfe7efdf
cmp ecx, 0xe1379010
je 0x140238fa0
test r8, r8
je 0x14023910f
nop word cs:[rax + rax]
mov ecx, dword [0x14159c2d0]
mov edx, dword [0x14159c2d4]
mov r8d, ecx
not r8d
and ecx, edx
not edx
or edx, r8d
not ecx
and ecx, edx
not ecx
add ecx, 0xc479eb2d
mov edx, ecx
not edx
mov r8d, ecx
and r8d, 0xdd5b398c
and edx, 0x22a4c673
imul edx, r8d
mov r8d, ecx
and r8d, 0x22a4c673
or ecx, 0x22a4c673
imul ecx, r8d
add ecx, edx
add ecx, 0x4ad07968
cmp ecx, 0x66e87e02
jb 0x140238fe0
mov ecx, dword [0x14159c2d8]
mov edx, dword [0x14159c2dc]
not ecx
not edx
or edx, ecx
xor edx, 0xba5aed5e
imul rcx, rdx, 0x1fc1c149
shr rcx, 0x20
sub edx, ecx
shr edx, 1
add edx, ecx
shr edx, 0x1d
xor edx, 0x94bf81fc
cmp edx, 0x83f8b8d
jae 0x140239090
mov rcx, qword [rsi + 8]
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x38], rax
nop dword [rax]
mov rcx, qword [rsi + 8]
mov qword [rsp + 0x28], rcx
mov ecx, dword [0x14159c2e0]
and ecx, dword [0x14159c2e4]
imul ecx, ecx, 0x81ba04a
add ecx, 0xa39508de
xor ecx, 0x5ea3e8ea
mov qword [rsp + 0x38], rax
cmp ecx, 0xba582ece
ja 0x140239090
mov eax, 0xbba93879
nop dword [rax]
mov ecx, dword [0x14159c2e8]
imul ecx, dword [0x14159c2ec]
mov edx, ecx
and edx, 0x3b8cabc
add edx, edx
neg edx
add ecx, edx
add ecx, 0x83b8cabc
imul rcx, rax
shr rcx, 0x3e
or ecx, 0xf4fc1a2c
cmp ecx, 0x3cf18eaa
je 0x1402390d0
mov r15d, 2
jmp 0x140239112
xor r15d, r15d
mov eax, dword [0x14159c2f0]
xor edx, edx
div dword [0x14159c2f4]
or eax, 0xa80caf8f
and eax, 0xebfeffef
mov ecx, 0xb314eeeb
imul rcx, rax
shr rcx, 0x3f
cmp ecx, 0xa7832901
je 0x140239193
mov eax, dword [0x14159c2f8]
mov ecx, dword [0x14159c2fc]
add eax, ecx
add eax, 0xd799374d
mov ecx, 0xc0cfdc7f
imul rcx, rax
shr rcx, 0x3e
mov eax, ecx
and eax, 0xfffffffe
add eax, eax
neg eax
lea ebp, [rcx + rax]
add ebp, 0xc8215876
mov qword [rsp + 0x30], r15
lea rcx, [rsp + 0x40]
lea r9, [rsp + 0x28]
mov rdx, rdi
mov r8, rbx
call fcn.14020b2a0
cmp ebp, 0xa637d7c2
jae 0x1402391af
mov qword [rsp + 0x30], r15
lea rcx, [rsp + 0x40]
lea r9, [rsp + 0x28]
mov rdx, rdi
mov r8, rbx
call fcn.14020b2a0
jmp 0x14023913f
cmp qword [rsp + 0x40], 0
jne 0x14023930f
mov eax, dword [0x14159c308]
sub eax, dword [0x14159c30c]
mov ecx, eax
and ecx, 0x377bf1cb
add ecx, ecx
neg ecx
add eax, ecx
add eax, 0xb77bf1cb
mov ecx, eax
not ecx
or eax, 0x26280220
and ecx, 0x18410100
and eax, 0xa7beca7b
or eax, ecx
cmp eax, 0xfb1ffd83
nop word cs:[rax + rax]
mov eax, dword [0x14159c310]
mov ecx, dword [0x14159c314]
mov edx, eax
and edx, ecx
add edx, edx
add eax, ecx
sub eax, edx
cmp eax, 0xda35be5f
je 0x140239200
mov rcx, qword [rsp + 0x48]
mov eax, dword [0x14159c318]
xor edx, edx
div dword [0x14159c31c]
mov edx, eax
xor edx, 0x92967c2a
xor eax, 0x41498041
and eax, 0x53cb8849
mov r8d, edx
and r8d, 0xac3477b6
imul r8d, eax
mov eax, edx
and eax, 0x53cb8849
or edx, 0x53cb8849
imul edx, eax
add edx, r8d
mov eax, edx
xor eax, 0xadd4d47c
add eax, edx
and edx, 0x522b2b83
sub eax, edx
cmp eax, 0x715c97b9
jne 0x140239280
mov qword [rsi + 8], rcx
nop
mov eax, dword [0x14159c324]
add eax, dword [str._vjyhu]
mov edx, eax
not edx
or eax, 0x7fe56401
or edx, 0x801a9bfe
and edx, eax
not edx
add edx, 0x75b22a48
mov eax, edx
not eax
and eax, 0xf10d590e
mov r8d, edx
and r8d, 0xef2a6f1
imul r8d, eax
mov eax, edx
and eax, 0xf10d590e
or edx, 0xf10d590e
imul edx, eax
add edx, r8d
mov qword [rsi + 8], rcx
cmp edx, 0x9dce70db
jb 0x140239280
mov eax, dword [0x14159c328]
xor edx, edx
div dword [0x14159c32c]
mov ecx, eax
and ecx, 0xf1e3c87c
or eax, 0xf1e3c87c
add eax, ecx
imul eax, eax, 0x9273d9ac
add eax, 0xd29b7734
cmp eax, 0x9f1fd1bb
jbe 0x14023937f
jmp 0x1402393ae
xor eax, eax
nop word cs:[rax + rax]
test al, al
jne 0x140239320
ud2
mov eax, dword [0x14159c330]
mov ecx, dword [0x14159c334]
mov edx, eax
xor edx, ecx
not edx
or eax, ecx
and eax, edx
or eax, 0xb6d7f785
add eax, 0x1d8cf7b2
and eax, 0x95ec4a4b
mov qword [rsi], r14
cmp eax, 0x5c40e179
jae 0x1402393b3
mov qword [rsi], r14
jmp 0x14023937f
add rsp, 0x58
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
pop r15
ret