Function at 0x140233ff0
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rsi
push rdi
push rbx
push rax
mov rbp, rsp
mov rsi, rcx
mov eax, dword [0x141599c18]
mov ecx, dword [0x141599c1c]
mov r8d, eax
xor r8d, ecx
not r8d
and r8d, ecx
add r8d, r8d
sub ecx, r8d
add ecx, eax
imul rax, rcx, 0x3268f725
shr rax, 0x3d
or eax, 0xa6174648
mov ecx, eax
xor ecx, 0x4b84badb
and ecx, eax
cmp ecx, 0x5376ae86
jae 0x140234057
mov eax, 0x20
call fcn.14020e090
sub rsp, rax
mov eax, 0x20
call fcn.14020e090
sub rsp, rax
xor ecx, ecx
nop dword [rax]
mov eax, 0x20
call fcn.14020e090
sub rsp, rax
mov r9, rsp
mov eax, 0x20
call fcn.14020e090
sub rsp, rax
mov rdi, rsp
test cl, cl
jne 0x140234060
nop word cs:[rax + rax]
mov eax, dword [0x141599c20]
add eax, dword [0x141599c24]
or eax, 0x4a0ce25e
add eax, 0x6ca49336
not eax
or eax, 0x85ea76f
cmp eax, 0x847be6d9
jb 0x140234090
mov rax, qword [rsi]
lea rcx, [rax + rax]
cmp rcx, rdx
cmova rdx, rcx
cmp rdx, 5
mov ebx, 4
cmovae rbx, rdx
xor edx, edx
mov rcx, rbx
shr rcx, 0x3b
sete dl
mov r8, rbx
shl r8, 4
shl rdx, 3
test rax, rax
je 0x1402341b6
shl rax, 4
nop word cs:[rax + rax]
mov ecx, dword [0x141599c28]
xor ecx, dword [0x141599c2c]
mov r10d, ecx
not r10d
and r10d, 0x3dd2a8d6
mov r11d, ecx
and r11d, 0xc22d5729
imul r11d, r10d
mov r10d, ecx
and r10d, 0x3dd2a8d6
or ecx, 0x3dd2a8d6
imul ecx, r10d
add ecx, r11d
mov r10d, ecx
and r10d, 0xb14e99c
add r10d, r10d
sub ecx, r10d
cmp ecx, 0x92dd7f1c
je 0x140234100
mov ecx, dword [0x141599c30]
mov r10d, dword [0x141599c34]
not ecx
not r10d
or r10d, ecx
not r10d
add r10d, 0xe969b7e
imul rcx, r10, 0x678a4e5
shr rcx, 0x39
mov r10d, ecx
not r10d
and r10d, 0x7054fa1d
mov r11d, ecx
and r11d, 0xfffffffe
imul r11d, r10d
mov r10d, ecx
and r10d, 1
or ecx, 0x7054fa1d
imul ecx, r10d
add ecx, r11d
cmp ecx, 0xf2df205e
jne 0x1402341bd
jmp 0x1402341ef
xor eax, eax
jmp 0x14023429e
mov ecx, dword [0x141599c38]
imul ecx, dword [0x141599c3c]
xor ecx, 0xf6e4a20
mov r10d, ecx
and r10d, 0x5372571
add r10d, r10d
sub ecx, r10d
mov r10, qword [rsi + 8]
mov qword [r9], r10
cmp ecx, 0x522d49a6
jne 0x1402341f8
mov rcx, qword [rsi + 8]
mov qword [r9], rcx
jmp 0x1402341bd
mov ecx, dword [0x141599c40]
sub ecx, dword [0x141599c44]
mov r10d, 0x1866012a
sub r10d, ecx
add ecx, 0xe799fed5
and r10d, 0xc1dd2d34
mov r11d, ecx
and r11d, 0x3e22d2cb
imul r11d, r10d
mov r10d, ecx
and r10d, 0xc1dd2d34
or ecx, 0xc1dd2d34
imul ecx, r10d
add ecx, r11d
mov r10d, 0xfcb5ea1b
imul r10, rcx
shr r10, 0x3e
cmp r10d, 0xf8756de5
je 0x140234293
mov ecx, dword [0x141599c48]
imul ecx, dword [0x141599c4c]
mov r10d, 0x9f4581df
imul r10, rcx
shr r10, 0x3d
add r10d, 0x321fe3f5
and r10d, 0x2210008f
xor r10d, 0xc1e0080c
mov qword [r9 + 0x10], rax
cmp r10d, 0x44057e31
jae 0x140234299
mov qword [r9 + 0x10], rax
jmp 0x140234256
mov eax, 8
mov qword [r9 + 8], rax
sub rsp, 0x20
mov rcx, rdi
call fcn.1400316e0
add rsp, 0x20
cmp qword [rdi], 0
jne 0x140234350
mov rax, qword [rdi + 8]
mov qword [rsi + 8], rax
mov qword [rsi], rbx
nop word [rax + rax]
mov eax, dword [0x141599c70]
and eax, dword [0x141599c74]
mov ecx, eax
not ecx
mov edx, eax
or edx, 0x85981e02
and ecx, 0x4260a10c
mov r8d, edx
and r8d, 0xbc0f4ef3
imul r8d, ecx
and edx, 0x43f0b10c
or eax, 0xc7f8bf0e
imul eax, edx
add eax, r8d
mov ecx, eax
not ecx
and ecx, 0x3609b3a8
mov edx, eax
and edx, 0xc9f64c54
imul edx, ecx
mov ecx, eax
and ecx, 0x3609b3a8
or eax, 0x3609b3a8
imul eax, ecx
add eax, edx
cmp eax, 0xfb05f590
ja 0x1402342d0
lea rsp, [rbp + 8]
pop rbx
pop rdi
pop rsi
pop rbp
ret
mov ecx, dword [0x141599c50]
mov edx, dword [0x141599c54]
not edx
mov eax, ecx
or eax, edx
and edx, ecx
not eax
or eax, edx
not eax
or eax, 0x8b3cfcc0
mov ecx, eax
not ecx
mov edx, ecx
or edx, 0x7400011b
mov r8d, edx
and r8d, 0x44020212
and eax, 0xf1ace4
imul eax, r8d
and edx, 0x30c1012d
or ecx, 0x74f1adff
imul ecx, edx
add ecx, eax
cmp ecx, 0xd50ad3d6
je 0x140234350
mov eax, dword [0x141599c58]
sub eax, dword [0x141599c5c]
or eax, 0xa49f9e13
mov ecx, eax
xor ecx, 0x40204068
and ecx, eax
and ecx, 0x646452ef
cmp ecx, 0x6324c82f
jbe 0x1402343e0
ud2
mov eax, dword [0x141599c60]
imul eax, dword [0x141599c64]
and eax, 0x1011c031
add eax, 0x8a56e598
not eax
or eax, 0x8eaf6d7e
ud2