Function at 0x18029ff40
Capabilities:
Encode data using xor

Disassembly:
push rsi
push rdi
sub rsp, 0x28
mov rsi, rcx
mov rax, qword [rsi]
mov rcx, rax
and rcx, 0xfffffffffffffffe
movabs rdx, 0x8000000000000006
cmp rcx, rdx
sete cl
mov edx, dword [0x1805251c0]
xor edx, dword [0x1805251c4]
and edx, 0xf683f69f
and edx, 0xec4dfd3
and edx, 0xeeed8ec0
cmp edx, 0xa27b0388
ja 0x1802a03f3
jmp 0x18029ff8f
mov edx, dword [0x1805251c8]
xor edx, dword [0x1805251cc]
add edx, 0xd459e3c1
imul r8d, edx, 0x45a8c94c
and r8d, 0x14c936a5
movabs r9, 0x7ffffffffffffffb
mov rdx, rax
add rdx, r9
cmp r8d, 0xd306d1fb
je 0x18029ff8f
jmp 0x18029ffca
xor eax, eax
test cl, 1
cmovne rax, rdx
test rax, rax
je 0x18029ffe9
jmp 0x18029ffda
sub rax, 1
je 0x1802a038b
jmp 0x1802a03ec
mov rax, rsi
add rax, 0x60
mov cl, byte [rax]
movzx eax, cl
test cl, cl
je 0x1802a0043
jmp 0x18029fffb
mov ecx, eax
sub ecx, 3
je 0x1802a02c4
jmp 0x1802a0008
sub eax, 4
je 0x1802a0161
jmp 0x1802a03ec
add rsi, 8
mov rdx, qword [rsi]
mov rax, rsi
jmp 0x1802a0022
cmp rdx, 0
je 0x1802a03ec
add rax, 8
mov rcx, qword [rax]
mov r8d, 1
call fcn.1802cbf20
jmp 0x1802a03ec
mov rdi, rsi
add rdi, 0x30
mov rcx, rdi
call fcn.1802ca4a0
mov rax, qword [rdi]
lock dec qword [rax]
sete al
test al, 1
jne 0x1802a0062
jmp 0x1802a006c
mov rcx, rdi
call fcn.180273e10
jmp 0x1802a006c
mov rcx, rsi
add rcx, 0x28
mov rax, qword [rcx]
lock dec qword [rax]
sete al
test al, 1
je 0x1802a0088
call fcn.180272550
jmp 0x1802a0088
mov rdx, qword [rsi]
movabs rax, 0x8000000000000005
cmp rdx, rax
sete al
test al, 1
jne 0x1802a03ec
jmp 0x1802a00a5
movabs rax, 0x8000000000000000
mov rcx, rdx
xor rcx, rax
mov rax, rcx
sub rax, 5
mov eax, 5
cmovb rax, rcx
mov rcx, rax
sub rcx, 4
jb 0x1802a0016
jmp 0x1802a00d4
sub rax, 4
je 0x1802a00e2
mov rax, rsi
jmp 0x1802a0022
mov rax, rsi
add rax, 8
mov rdx, qword [rax]
mov ecx, dword [0x1805251d0]
sub ecx, dword [0x1805251d4]
xor ecx, 0xb660a5c1
imul ecx, ecx, 0xc36db1ee
or ecx, 0x8b668b1b
cmp ecx, 0xcecba8d8
ja 0x1802a0400
mov ecx, dword [0x1805251d8]
and ecx, dword [0x1805251dc]
add ecx, 0x4275bb63
imul r8d, ecx, 0x37c20094
sub r8d, 0x91f845b
movabs rcx, 0x8000000000000002
cmp rdx, rcx
setl cl
cmp r8d, 0xdfc8bebe
jae 0x1802a0400
test cl, 1
jne 0x1802a03ec
jmp 0x1802a0022
mov rcx, rsi
add rcx, 0x68
mov eax, dword [0x1805251e0]
and eax, dword [0x1805251e4]
or eax, 0xab0d6a13
mov r8d, 0x90727127
xor edx, edx
div r8d
imul eax, eax, 0xe1e411d5
cmp eax, 0x6fd7a814
jb 0x1802a040d
mov eax, dword [0x1805251e8]
or eax, dword [0x1805251ec]
and eax, 0xb950549f
imul r8d, eax, 0x839123fb
or r8d, 0xe02e8513
mov rdx, qword [rcx]
movabs rax, 0x8000000000000005
cmp rdx, rax
sete al
cmp r8d, 0x88b994b8
jb 0x1802a040d
jmp 0x1802a01d6
test al, 1
jne 0x1802a02c4
jmp 0x1802a01e0
movabs rcx, 0x8000000000000000
mov rax, rdx
xor rax, rcx
mov rcx, rax
sub rcx, 5
mov ecx, 5
cmovb rcx, rax
mov eax, 0x68
mov r8, rcx
sub r8, 4
jb 0x1802a0240
jmp 0x1802a0210
sub rcx, 4
jne 0x1802a02a7
jmp 0x1802a021c
mov rdx, qword [rsi + 0x70]
movabs rax, 0x8000000000000002
cmp rdx, rax
setl cl
mov eax, 0x70
test cl, 1
jne 0x1802a02c4
jmp 0x1802a02a7
mov eax, dword [0x1805251f0]
sub eax, dword [0x1805251f4]
or eax, 0x533b63c6
sub eax, 0xe7dcd671
mov ecx, 0x6bcc4261
xor edx, edx
div ecx
cmp eax, 0x4e1478c9
je 0x1802a041e
mov eax, dword [0x1805251f8]
xor eax, dword [0x1805251fc]
imul ecx, eax, 0x13e57a73
and ecx, 0x37f6f18e
xor ecx, 0xe9939568
mov rax, rsi
add rax, 0x70
cmp ecx, 0x59ce86bb
jb 0x1802a041e
jmp 0x1802a029d
mov rdx, qword [rax]
mov eax, 0x70
jmp 0x1802a02a7
cmp rdx, 0
je 0x1802a02c4
mov rcx, rsi
add rcx, rax
mov rcx, qword [rcx + 8]
mov r8d, 1
call fcn.1802cbf20
jmp 0x1802a02c4
mov byte [rsi + 0x61], 0
mov rdi, rsi
add rdi, 0x30
mov rcx, rdi
call fcn.1802ca4a0
mov rax, qword [rdi]
lock dec qword [rax]
sete al
test al, 1
je 0x1802a02ef
mov rcx, rdi
call fcn.180273e10
jmp 0x1802a02ef
mov rcx, rsi
add rcx, 0x28
mov rax, qword [rsi + 0x28]
lock dec qword [rax]
sete al
test al, 1
je 0x1802a030c
call fcn.180272550
jmp 0x1802a030c
mov rdx, qword [rsi]
movabs rax, 0x8000000000000005
cmp rdx, rax
sete al
test al, 1
jne 0x1802a03ec
jmp 0x1802a0329
movabs rax, 0x8000000000000000
mov rcx, rdx
xor rcx, rax
mov rax, rcx
sub rax, 5
mov eax, 5
cmovb rax, rcx
mov rcx, rax
sub rcx, 4
jb 0x1802a0016
jmp 0x1802a0358
sub rax, 4
je 0x1802a0366
mov rax, rsi
jmp 0x1802a0022
mov rax, rsi
add rax, 8
mov rdx, qword [rsi + 8]
movabs rcx, 0x8000000000000002
cmp rdx, rcx
setl cl
test cl, 1
jne 0x1802a03ec
pushfq
sal esi, 0xc1
add dword [rbp + 0x66], esi
jmp 0x1802a0022
mov rax, rsi
add rax, 8
cmp qword [rax], 0
je 0x1802a03ec
mov rdi, qword [rsi + 0x10]
mov rsi, qword [rsi + 0x18]
cmp rdi, 0
je 0x1802a03ec
mov rax, qword [rsi]
cmp rax, 0
sete cl
test cl, 1
jne 0x1802a03be
jmp 0x1802a03b7
mov rcx, rdi
call rax
jmp 0x1802a03be
mov rax, rsi
add rax, 8
mov rdx, qword [rax]
mov r8, qword [rsi + 0x10]
movabs rax, 0x8000000000000001
cmp r8, rax
setb al
cmp rdx, 0
cmp edx, 0
je 0x1802a03ec
mov rcx, rdi
call fcn.1802cbf20
jmp 0x1802a03ec
add rsp, 0x28
pop rdi
pop rsi
ret
jo 0x1802a037f
jno 0x1802a03dd
jp 0x1802a03e5
invalid
xchg edi, eax
invalid
lea edi, [rdi]
invalid
sub al, 0xf8
adc al, 0x5c
sbb al, 0x47
xor edi, 0xffffffb0
jmp 0x1802a0195
add dh, ch
and al, 0xa
std
jge 0x1802a044a
jne 0x1802a0410
invalid
mov dh, 0xc2