Function at 0x14002b405
Capabilities:
Encode data using xor

Disassembly:
push rbp
sub rsp, 0x70
lea rbp, [rsp + 0x70]
mov qword [rbp - 0x18], rdx
mov qword [rbp - 0x20], rcx
mov eax, 0x20
call fcn.1401da3e0
sub rsp, rax
mov rax, rsp
mov qword [rbp - 0x28], rax
sub rsp, 0x20
call fcn.140009f59
mov rcx, qword [rbp - 0x20]
mov rdx, qword [rbp - 0x18]
add rsp, 0x20
add rax, 0x60
mov qword [rbp - 0x10], rax
mov rax, qword [rcx]
mov qword [rbp - 8], rax
cmp rax, rdx
jle 0x14002adad
mov rdx, qword [rbp - 0x18]
mov rcx, qword [rbp - 0x20]
sub rsp, 0x20
call fcn.14002a9f0
add rsp, 0x20
jmp 0x14002b349
mov rax, qword [rbp - 8]
mov rcx, qword [rbp - 0x18]
cmp rax, rcx
jge 0x14002b349
mov rax, qword [rbp - 0x20]
mov rcx, rax
add rcx, 8
mov qword [rbp - 0x38], rcx
mov rax, qword [rax + 8]
mov qword [rbp - 0x30], rax
cmp rax, 0
je 0x14002ae29
mov rcx, qword [rbp - 0x18]
mov rax, qword [rbp - 0x30]
mov rdx, qword [rax]
movabs r8, 0xbfffffffffffffff
mov rax, rdx
and rax, r8
xor rax, 0xffffffffffffffff
xor rdx, 0xffffffffffffffff
mov r8, 0xffffffffffffffff
movabs r9, 0xbfffffffffffffff
xor r8, r9
or rdx, r8
and rax, rdx
xor rax, 0xffffffffffffffff
cmp rax, rcx
jge 0x14002afbf
mov ecx, dword [0x1401dc548]
or ecx, dword [0x1401dc54c]
mov eax, 0x8a5e4f45
xor eax, 0xc051a896
imul ecx, eax
mov edx, 0xafb1c9e7
xor edx, 0x504e3618
mov eax, ecx
xor eax, edx
and eax, 0xd5d8fde
mov edx, 0xffffffff
xor edx, 0xd5d8fde
and ecx, edx
or eax, ecx
mov ecx, 0x4d3267e9
xor edx, edx
div ecx
cmp eax, 0x6fd1923
jae 0x14002b3e1
mov r8, qword [rbp - 8]
mov r9, qword [rbp - 0x18]
mov eax, dword [0x1401dc550]
mov ecx, dword [0x1401dc554]
xor ecx, 0x91606624
xor edx, edx
div ecx
mov ecx, eax
add ecx, 0x522243b8
add ecx, 0x9fcbccff
sub ecx, 0x522243b8
xor ecx, 0xe656e8d7
mov eax, ecx
xor eax, 0xffffffff
mov edx, ecx
xor edx, 0xffffffff
and eax, edx
mov edx, 0x24ae35fa
xor edx, 0x92e3918e
mov r10d, 0x97fbbc8d
xor r10d, 0x21b618f9
or edx, r10d
xor edx, 0xffffffff
or eax, edx
mov edx, 0xd1334c7c
xor edx, 0x2eccb383
xor eax, edx
xor ecx, 0xffffffff
mov edx, 0xffffffff
xor edx, 0xb64da474
and ecx, edx
or eax, ecx
mov ecx, 0xb4a4b20
xor ecx, 0xf4b5b4df
xor eax, ecx
mov rdx, r9
sub rdx, r8
mov qword [rbp - 0x48], rdx
mov rcx, rdx
xor rcx, r9
movabs r9, 0x2b18c868aaf97ff
movabs r10, 0x2b18c868aaf97ff
xor r9, r10
cmp rcx, r9
setl cl
xor rdx, r8
movabs r8, 0xb82b489ee9d803ca
movabs r9, 0x47d4b7611627fc35
xor r8, r9
cmp rdx, r8
setg dl
and cl, dl
mov byte [rbp - 0x39], cl
cmp eax, 0x8d6c68d
jb 0x14002b3e1
mov al, byte [rbp - 0x39]
test al, 1
jne 0x14002afad
jmp 0x14002af76
mov r8, qword [rbp - 0x48]
mov rdx, qword [rbp - 0x30]
mov rcx, qword [rbp - 8]
mov r9d, 0x20
sub rsp, 0x30
mov qword [rsp + 0x20], 8
call fcn.140011560
add rsp, 0x30
mov rcx, rax
mov rax, qword [rbp - 0x38]
mov qword [rax], rcx
jmp 0x14002afbf
sub rsp, 0x20
call fcn.1400067fe
add rsp, 0x20
jmp 0x14002b349
mov rax, qword [rbp - 8]
mov rcx, qword [rbp - 0x20]
mov rdx, qword [rbp - 0x18]
mov qword [rcx], rdx
mov qword [rbp - 0x50], rax
mov rcx, qword [rbp - 0x18]
mov rax, qword [rbp - 0x50]
mov qword [rbp - 0x58], rax
cmp rax, rcx
jge 0x14002b229
mov rcx, qword [rbp - 0x28]
movabs rdx, 0x12cb8d172be60cf9
movabs rax, 0x12cb8d172be60cd9
xor rdx, rax
sub rsp, 0x20
call fcn.140006de0
mov rcx, qword [rbp - 0x38]
mov rax, qword [rbp - 0x58]
mov rdx, qword [rbp - 0x28]
add rsp, 0x20
mov rcx, qword [rcx]
add rcx, 8
shl rax, 5
add rcx, rax
sub rsp, 0x20
call fcn.14005bc60
mov rax, qword [rbp - 0x10]
add rsp, 0x20
mov al, byte [rax]
mov cl, 0x63
xor cl, 0x63
cmp al, cl
jne 0x14002b229
mov rdx, qword [rbp - 0x58]
mov rax, rdx
add rax, 1
mov qword [rbp - 0x60], rax
mov rcx, rdx
xor rcx, 0xffffffffffffffff
and rcx, 0xffffffffffffffff
movabs r8, 0xa3baac6a00fdc47
movabs r9, 0xf5c455395ff023b8
xor r8, r9
movabs r9, 0x2e233016d3e6136a
movabs r10, 0xd1dccfe92c19ec95
xor r9, r10
xor r8, r9
and rdx, r8
or rcx, rdx
and rax, rcx
cmp rax, 0
jge 0x14002b33c
mov ecx, dword [0x1401dc558]
mov edx, dword [0x1401dc55c]
xor eax, eax
sub eax, edx
sub ecx, eax
mov r8d, 0xffffffff
xor r8d, 0x4624d1a4
mov edx, ecx
and edx, r8d
mov eax, ecx
or eax, r8d
xor eax, 0xffffffff
imul eax, edx
mov edx, ecx
and edx, 0x4624d1a4
or ecx, 0x4624d1a4
imul ecx, edx
add ecx, eax
mov r8d, 0xddd527c2
xor r8d, 0x61da9a01
mov eax, 0xb9abb8bc
xor eax, 0x46544743
xor r8d, eax
mov edx, ecx
and edx, r8d
mov eax, ecx
or eax, r8d
mov r8d, 0x35836c5b
xor r8d, 0xca7c93a4
xor eax, r8d
imul eax, edx
mov edx, ecx
and edx, 0xbc0fbdc3
or ecx, 0xbc0fbdc3
imul ecx, edx
add ecx, eax
mov eax, ecx
xor eax, 0xffffffff
mov edx, 0x79ab6f90
xor edx, 0x23533d9f
mov r8d, 0x3e2dbf46
xor r8d, 0xc1d240b9
xor edx, r8d
or eax, edx
xor ecx, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x5af8520f
or ecx, edx
and eax, ecx
xor eax, 0xffffffff
cmp eax, 0xde56dc73
ja 0x14002b3ea
mov eax, dword [0x1401dc560]
xor eax, 0xf7ae8161
or eax, dword [0x1401dc564]
mov ecx, 0x23c847fc
xor ecx, 0x61719ad9
xor edx, edx
div ecx
mov r11d, eax
mov eax, 0x8cc84cbc
xor eax, 0x52c31406
sub r11d, eax
mov ecx, r11d
xor ecx, 0xffffffff
mov r8d, 0xffffffff
xor r8d, 0xe415cec7
mov edx, 0xe2e487b7
xor edx, 0x9cdf616d
mov eax, 0x3a6c907b
xor eax, 0xc5936f84
xor edx, eax
mov eax, ecx
and eax, 0x7e3be6da
and r11d, edx
mov r9d, r8d
and r9d, 0x7e3be6da
mov r10d, edx
and r10d, 0xe415cec7
or eax, r11d
or r9d, r10d
xor eax, r9d
or ecx, r8d
xor ecx, 0xffffffff
or edx, 0x7e3be6da
and ecx, edx
or eax, ecx
mov dword [rbp - 0x64], eax
sub rsp, 0x20
call fcn.1400067fe
mov eax, dword [rbp - 0x64]
add rsp, 0x20
cmp eax, 0x205541e9
jb 0x14002b175
jmp 0x14002b229
mov eax, dword [0x1401dc568]
mov ecx, 0x780d2126
xor ecx, 0x74161500
xor eax, ecx
imul eax, dword [0x1401dc56c]
mov ecx, 0x924ada75
xor edx, edx
div ecx
mov ecx, 0xa50dadc5
xor edx, edx
div ecx
or eax, 0xb7f2c976
mov ecx, 0x754fd788
xor ecx, 0xf7afef04
cmp eax, ecx
jb 0x14002b3f3
mov r8d, dword [0x1401dc570]
mov eax, 0xc3b09620
xor eax, 0xdd7539ec
xor r8d, eax
mov edx, dword [0x1401dc574]
mov eax, r8d
xor eax, 0xffffffff
mov ecx, 0xd3cc2029
xor ecx, 0xbea7a75f
and ecx, eax
mov r9d, 0xffffffff
xor r9d, 0x6d6b8776
and r8d, r9d
mov r10d, 0x308b3264
xor r10d, 0xcf74cd9b
mov eax, edx
xor eax, r10d
and eax, 0x6d6b8776
and edx, r9d
or ecx, r8d
or eax, edx
xor ecx, eax
sub ecx, 0x5b5fcacc
mov eax, ecx
and eax, eax
xor eax, 0xffffffff
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x53dd8cec
or eax, edx
mov edx, 0x53dd8cec
and edx, 0x53dd8cec
mov r8d, 0x7a264f12
xor r8d, 0x85d9b0ed
xor edx, r8d
xor ecx, 0xffffffff
xor edx, 0xffffffff
or ecx, edx
xor eax, 0xffffffff
mov edx, 0xc396b1b
xor edx, 0xf3c694e4
xor ecx, edx
or eax, ecx
mov ecx, eax
add ecx, 1
xor eax, 0xffffffff
or eax, 0xa3908b0f
add eax, ecx
cmp eax, 0xdafddf37
jae 0x14002b26d
jmp 0x14002b349
mov rax, qword [rbp - 0x60]
mov qword [rbp - 0x50], rax
jmp 0x14002afd2
mov eax, dword [0x1401dc578]
mov ecx, 0xf16fed9a
xor ecx, 0xe4c939f
xor eax, ecx
xor eax, dword [0x1401dc57c]
mov ecx, 0xe1bab081
xor edx, edx
div ecx
mov ecx, eax
xor ecx, 0x92c870ac
mov eax, ecx
xor eax, 0xffffffff
xor ecx, 0xffffffff
or eax, ecx
mov ecx, 0xfe77edbf
and ecx, 0xfe77edbf
xor ecx, 0xffffffff
mov edx, 0xe7a1671
xor edx, 0xf185e98e
xor eax, edx
xor ecx, 0xffffffff
or eax, ecx
cmp eax, 0x22343427
je 0x14002b3fc
mov eax, dword [0x1401dc580]
xor eax, dword [0x1401dc584]
mov ecx, 0x26c85f35
xor ecx, 0xe6e9b9b4
xor edx, edx
div ecx
add eax, 0x4e8d27e8
mov ecx, 0x88fed895
xor edx, edx
div ecx
cmp eax, 0x4d112b18
je 0x14002b3a8
mov rsp, rbp
pop rbp
ret
jmp 0x12961b578
adc byte [rbx - 0x23], ah
stc
jmp 0x14002b175
sub dil, byte [eax]
jmp 0x14002b26d
cmc
and esi, ecx
jmp 0x14002b3a8
sub rsp, 0x38
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x28], rcx
xor eax, eax
mov edx, eax
call fcn.14002a9f0
mov rcx, qword [rsp + 0x28]
mov rdx, qword [rsp + 0x30]
add rsp, 0x38
jmp 0x14002ad40