Function at 0x1401dc810
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rsi
push rdi
push rbx
sub rsp, 0x18
lea rbp, [rsp + 0x10]
mov rsi, rcx
xor eax, eax
test al, al
jne 0x1401dc874
mov eax, dword [0x1415a8790]
mov ecx, dword [0x1415a8794]
xor ecx, eax
not ecx
and ecx, eax
mov eax, ecx
and eax, 0x43d5b05e
add eax, eax
neg eax
add ecx, eax
add ecx, 0x43d5b05e
mov eax, ecx
xor eax, 0x80b9b49d
and ecx, 0x7f464b62
add ecx, ecx
sub ecx, eax
mov eax, 0x20
call fcn.14020e090
sub rsp, rax
mov rdi, rsp
cmp ecx, 0x2a41fe0f
jne 0x1401dc883
mov eax, 0x20
call fcn.14020e090
sub rsp, rax
jmp 0x1401dc826
mov rax, qword [rsi]
nop word cs:[rax + rax]
mov edx, dword [0x1415a8798]
mov ecx, dword [0x1415a879c]
mov r8d, ecx
not r8d
and r8d, edx
xor ecx, edx
add ecx, edx
sub ecx, r8d
add ecx, 0x5c7afb76
mov edx, ecx
not edx
mov r8d, ecx
and r8d, 0x59605984
and edx, 0xa69fa67b
imul edx, r8d
mov r8d, ecx
and r8d, 0xa69fa67b
or ecx, 0xa69fa67b
imul ecx, r8d
add ecx, edx
cmp ecx, 0x5ffce3a1
je 0x1401dc890
cmp rax, 0xffffffffffffffff
je 0x1401dcb78
lea rdx, [rax + 1]
lea r8, [rax + rax]
nop word [rax + rax]
mov r9d, dword [0x1415a87a0]
mov ecx, dword [0x1415a87a4]
mov r10d, ecx
not r10d
and r10d, r9d
xor ecx, r9d
add ecx, r9d
sub ecx, r10d
add ecx, 0xd1ef5009
mov r9d, ecx
not r9d
mov r10d, ecx
and r10d, 0x82bb8c1
and r9d, 0xf7d4473e
imul r9d, r10d
mov r10d, ecx
and r10d, 0xf7d4473e
or ecx, 0xf7d4473e
imul ecx, r10d
add r9d, ecx
add r9d, 0x8c9ce66d
cmp r8, rdx
mov rcx, rdx
cmova rcx, r8
cmp r9d, 0x2ad34b62
jb 0x1401dc900
xor edx, edx
test dl, dl
nop word cs:[rax + rax]
mov edx, dword [0x1415a87a8]
mov r8d, dword [0x1415a87ac]
mov r9d, edx
not r9d
or edx, r8d
not r8d
and r8d, r9d
not r8d
and r8d, edx
mov edx, r8d
xor edx, 0xa7411ced
add edx, r8d
and r8d, 0x58bee312
sub edx, r8d
mov r8d, edx
xor r8d, 0x9c7018
and r8d, edx
xor r8d, 0xa2145a3a
cmp rcx, 9
mov ebx, 8
cmovae rbx, rcx
cmp r8d, 0x1023b916
jb 0x1401dc980
mov rdx, rbx
not rdx
shr rdx, 0x3f
test rax, rax
je 0x1401dca4d
nop word cs:[rax + rax]
mov ecx, dword [0x1415a87b0]
mov r8d, dword [0x1415a87b4]
not ecx
not r8d
mov r9d, ecx
or r9d, r8d
and r8d, ecx
not r8d
and r8d, r9d
imul rcx, r8, 0x543c09ab
shr rcx, 0x3e
imul ecx, ecx, 0xc46fe945
cmp ecx, 0x2d3fbb01
je 0x1401dca00
mov rcx, qword [rsi + 8]
mov qword [rbp - 0x10], rcx
mov qword [rbp], rax
mov eax, 1
jmp 0x1401dca4f
xor eax, eax
mov qword [rbp - 8], rax
sub rsp, 0x20
lea r9, [rbp - 0x10]
mov rcx, rdi
mov r8, rbx
call fcn.1400316e0
add rsp, 0x20
cmp qword [rdi], 0
jne 0x1401dcb78
nop word cs:[rax + rax]
mov eax, dword [0x1415a87c8]
or eax, dword [0x1415a87cc]
mov ecx, eax
and ecx, 0x494c2e62
xor eax, 0x494c2e62
lea eax, [rax + rcx*2]
imul eax, eax, 0xc7b00c42
mov ecx, eax
xor ecx, 0xc3f1d3f9
or eax, 0x3c0e2c06
and eax, ecx
cmp eax, 0x39c3b561
ja 0x1401dca80
nop dword [rax + rax]
mov eax, dword [0x1415a87d0]
mov ecx, dword [0x1415a87d4]
mov edx, ecx
and edx, eax
add eax, ecx
sub eax, edx
xor eax, 0x1d319a0d
add eax, 0x879a8d56
mov ecx, eax
xor ecx, 0x701866ce
and ecx, eax
cmp ecx, 0x8d0ae2c
je 0x1401dcac0
mov rax, qword [rdi + 8]
mov ecx, dword [0x1415a87d8]
mov edx, dword [0x1415a87dc]
not edx
lea r8d, [rcx + rdx]
add r8d, 0xd7c21b35
add ecx, edx
mov edx, r8d
and edx, 0x3fe7c32e
xor r8d, 0xc0183cd1
add ecx, r8d
add ecx, 0xd7c21b35
sub ecx, edx
cmp ecx, 0x8c4da76f
jne 0x1401dcb40
mov qword [rsi + 8], rax
mov qword [rsi], rbx
nop dword [rax]
mov ecx, dword [0x1415a87e0]
xor ecx, dword [0x1415a87e4]
xor ecx, 0xfee4211
imul ecx, ecx, 0x14152007
not ecx
or ecx, 0x3acf6f2d
mov qword [rsi + 8], rax
mov qword [rsi], rbx
cmp ecx, 0x77e35b13
ja 0x1401dcb40
lea rsp, [rbp + 8]
pop rbx
pop rdi
pop rsi
pop rbp
ret
mov eax, dword [0x1415a87b8]
or eax, dword [0x1415a87bc]
imul eax, eax, 0x9d279296
or eax, 0xb857669e
and eax, 0xff5ff7de
cmp eax, 0x95591f8d
jb 0x1401dcbf6
mov eax, dword [0x1415a87c0]
xor edx, edx
div dword [str.FP]
mov ecx, eax
and ecx, 0xb46137f4
or eax, 0xb46137f4
add eax, ecx
mov ecx, eax
not ecx
or ecx, 0x77b2f194
add eax, ecx
inc eax
mov ecx, eax
not ecx
and ecx, 0x2102a139
mov edx, eax
and edx, 0xdefd5ec6
imul edx, ecx
mov ecx, eax
and ecx, 0x2102a139
or eax, 0x2102a139
imul eax, ecx
add eax, edx
ud2
ud2