Function at 0x140042c20
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r12
push rsi
push rdi
push rbx
sub rsp, 0x20
lea rbp, [rsp + 0x20]
mov rsi, rcx
mov eax, dword [0x140212bd0]
imul eax, dword [0x140212bd4]
shr eax, 1
imul rax, rax, 0x216904e1
shr rax, 0x3c
or eax, 0xd3389f26
add eax, 0x3102072d
jae 0x140042caa
mov eax, dword [0x140212bd8]
xor edx, edx
div dword [0x140212bdc]
mov ecx, eax
and ecx, 0x7f3662da
add ecx, ecx
neg ecx
add ecx, eax
add ecx, 0xff3662da
imul rax, rcx, 0x30c1e2cf
shr rax, 0x20
sub ecx, eax
shr ecx, 1
add ecx, eax
shr ecx, 0x1f
mov eax, 0x20
call fcn.1401516e0
sub rsp, rax
mov rdi, rsp
cmp ecx, 0xbe453cbe
jbe 0x140042cb9
mov eax, 0x20
call fcn.1401516e0
sub rsp, rax
jmp 0x140042c5c
mov rcx, qword [rsi]
mov eax, 0x85ce314d
nop word cs:[rax + rax]
mov edx, dword [0x140212be0]
add edx, dword [0x140212be4]
shr edx, 1
imul rdx, rdx, 0x6bd15253
shr rdx, 0x3b
add edx, 0x7c0315dc
imul rdx, rax
shr rdx, 0x3e
cmp edx, 0xc16b1aae
je 0x140042cd0
cmp rcx, 0xffffffffffffffff
je 0x14004305f
lea rax, [rcx + 1]
lea rdx, [rcx + rcx]
mov r8d, 8
nop word [rax + rax]
mov r9d, dword [0x140212be8]
mov r10d, dword [0x140212bec]
not r9d
not r10d
or r10d, r9d
mov r9d, r10d
not r9d
and r10d, 0x48d64b87
mov r11d, r9d
and r11d, 0xb729b478
imul r11d, r10d
mov r10d, r9d
and r10d, 0x48d64b87
or r9d, 0x48d64b87
imul r9d, r10d
add r9d, r11d
and r9d, 0x80608a54
add r9d, 0x565c8dcc
cmp rdx, rax
mov rbx, rax
cmova rbx, rdx
cmp rbx, 9
cmovb rbx, r8
cmp r9d, 0xe97f1419
ja 0x140042d20
mov r14, rbx
not r14
shr r14, 0x3f
mov eax, dword [0x140212bf0]
xor edx, edx
div dword [0x140212bf4]
nop dword [rax + rax]
mov eax, dword [0x140212bf8]
sub eax, dword [0x140212bfc]
mov edx, eax
and edx, 0xe45a541
add edx, edx
neg edx
add eax, edx
add eax, 0xe45a541
mov edx, eax
xor edx, 0x5a819b19
xor eax, 0x37fdb845
and edx, 0x1283dca3
add edx, edx
sub edx, eax
cmp edx, 0x69d32fba
ja 0x140042db0
test rcx, rcx
je 0x140042e8e
nop word [rax + rax]
mov eax, dword [0x140212c00]
add eax, dword [0x140212c04]
mov edx, eax
not edx
and edx, 0xa13ee977
mov r8d, eax
and r8d, 0x5ec11688
imul r8d, edx
mov edx, eax
and edx, 0xa13ee977
or eax, 0xa13ee977
imul eax, edx
add eax, r8d
mov edx, eax
not edx
and edx, 0x9984fa69
and eax, 0x667b0596
sub eax, edx
mov edx, eax
not edx
and edx, 0x34dfbe3b
mov r8d, eax
and r8d, 0xcb2041c4
imul r8d, edx
mov edx, eax
and edx, 0x34dfbe3b
or eax, 0x34dfbe3b
imul eax, edx
add eax, r8d
cmp eax, 0x9c73b48c
ja 0x140042e00
mov rax, qword [rsi + 8]
mov qword [rbp - 0x18], rax
mov qword [rbp - 8], rcx
mov r15d, 1
jmp 0x140042e91
xor r15d, r15d
mov eax, dword [0x140212c08]
mov ecx, dword [0x140212c0c]
not eax
mov edx, eax
and edx, ecx
or eax, ecx
not eax
or eax, edx
imul eax, eax, 0xdc4c5bf7
not eax
or eax, 0x7ff6babf
add eax, 0x38b9d434
jae 0x140042f02
mov eax, dword [0x140212c10]
mov ecx, dword [0x140212c14]
lea r12d, [rax + rcx]
add r12d, 0xb370d85e
or r12d, 0x58f77de0
mov qword [rbp - 0x10], r15
sub rsp, 0x20
lea r9, [rbp - 0x18]
mov rcx, rdi
mov rdx, r14
mov r8, rbx
call fcn.140040e10
add rsp, 0x20
cmp r12d, 0x9d435c09
jne 0x140042f22
mov qword [rbp - 0x10], r15
sub rsp, 0x20
lea r9, [rbp - 0x18]
mov rcx, rdi
mov rdx, r14
mov r8, rbx
call fcn.14014fa90
add rsp, 0x20
jmp 0x140042ebd
cmp qword [rdi], 0
jne 0x14004305f
nop dword [rax]
mov eax, dword [0x140212c28]
or eax, dword [0x140212c2c]
add eax, 0xd5443c47
mov ecx, eax
not ecx
and ecx, 0x13732e1c
mov edx, eax
and edx, 0xec8cd1e3
imul edx, ecx
mov ecx, eax
and ecx, 0x13732e1c
or eax, 0x13732e1c
imul eax, ecx
add eax, edx
mov ecx, eax
not ecx
or eax, 0xbb236b0b
or ecx, 0x44dc94f4
and ecx, eax
cmp ecx, 0x3728153d
jb 0x140042f30
mov eax, dword [0x140212c30]
mov ecx, dword [0x140212c34]
mov edx, ecx
not edx
and edx, eax
xor ecx, eax
add ecx, eax
sub ecx, edx
mov eax, ecx
xor eax, 0xd2a9d221
and ecx, 0x2d562dde
add ecx, ecx
sub ecx, eax
not ecx
or ecx, 0x5d60869f
cmp ecx, 0xe8f26176
jne 0x140042fd0
mov rax, qword [rdi + 8]
mov qword [rsi + 8], rax
mov qword [rsi], rbx
nop word cs:[rax + rax]
mov eax, dword [0x140212c38]
imul eax, dword [0x140212c3c]
imul rax, rax, 0x6c2e151
shr rax, 0x39
imul eax, eax, 0xb492dbee
imul rcx, rax, 0x3072093
shr rcx, 0x20
sub eax, ecx
shr eax, 1
add eax, ecx
shr eax, 0x1f
mov rcx, qword [rdi + 8]
mov qword [rsi + 8], rcx
mov qword [rsi], rbx
cmp eax, 0xb80501c2
ja 0x140042fd0
nop word cs:[rax + rax]
mov eax, dword [0x140212c40]
xor eax, dword [0x140212c44]
mov ecx, eax
xor ecx, 0x2e897ba7
add ecx, eax
and eax, 0x51768458
sub ecx, eax
add ecx, 0x5cdaf0c1
or ecx, 0x8a6add94
cmp ecx, 0xed1a1249
ja 0x140043020
mov rsp, rbp
pop rbx
pop rdi
pop rsi
pop r12
pop r14
pop r15
pop rbp
ret
mov eax, dword [0x140212c18]
imul eax, dword [0x140212c1c]
add eax, 0x94411b44
or eax, 0x45e3ffdd
cmp eax, 0xa4b82804
jb 0x1400430ca
mov eax, dword [0x140212c20]
mov ecx, dword [0x140212c24]
mov edx, ecx
not edx
mov r8d, eax
and r8d, edx
or edx, eax
not edx
imul edx, r8d
mov r8d, eax
and r8d, ecx
or eax, ecx
imul eax, r8d
add eax, edx
xor eax, 0xeac09236
add eax, 0x81af31e5
mov ecx, 0xcd23196d
imul rcx, rax
shr rcx, 0x38
ud2
ud2