Function at 0x14001547a
Capabilities:
Encode data using xor

Disassembly:
push rbp
sub rsp, 0x70
lea rbp, [rsp + 0x70]
mov qword [rbp - 0x38], rdx
mov qword [rbp - 0x30], rcx
mov eax, 0x20
call fcn.1401d7280
sub rsp, rax
mov rax, rsp
mov qword [rbp - 0x28], rax
mov rax, qword [rcx]
mov qword [rbp - 0x20], rax
cmp rax, rdx
jle 0x140015150
mov rdx, qword [rbp - 0x38]
mov rcx, qword [rbp - 0x30]
sub rsp, 0x20
call fcn.140014e60
add rsp, 0x20
jmp 0x14001546c
mov rax, qword [rbp - 0x20]
mov rcx, qword [rbp - 0x38]
cmp rax, rcx
jge 0x14001546c
mov rax, qword [rbp - 0x30]
mov rcx, rax
add rcx, 8
mov qword [rbp - 0x48], rcx
mov rax, qword [rax + 8]
mov qword [rbp - 0x40], rax
cmp rax, 0
je 0x1400151a0
mov rcx, qword [rbp - 0x38]
mov rdx, qword [rbp - 0x40]
movabs rax, 0xbfffffffffffffff
and rax, qword [rdx]
cmp rax, rcx
jge 0x1400152fd
mov rdx, qword [rbp - 0x20]
mov r8, qword [rbp - 0x38]
movabs rcx, 0x93e8c0d09a3cae31
movabs rax, 0x5375f1ff836a82e1
xor rcx, rax
mov rax, r8
sub rax, rcx
sub rax, rdx
movabs rcx, 0xc09d312f19562cd0
add rax, rcx
mov qword [rbp - 0x50], rax
mov rcx, rax
xor rcx, r8
cmp rcx, 0
setl cl
xor rax, rdx
cmp rax, 0xffffffffffffffff
setg dl
xor dl, 0xff
mov al, cl
xor al, dl
and al, cl
test al, 1
jne 0x1400152eb
mov eax, dword [0x1401d8988]
or eax, dword [0x1401d898c]
mov edx, 0xffffffff
xor edx, 0xd0fedcd7
mov ecx, eax
and ecx, edx
mov r8d, 0xf4fd88bf
xor r8d, 0x24035468
mov edx, eax
xor edx, r8d
add eax, edx
sub eax, ecx
mov ecx, 0xe4e7b7b2
xor ecx, 0xb1328666
mov edx, 0x30d22146
xor edx, 0xcf2ddeb9
xor ecx, edx
add eax, ecx
add eax, 1
sub eax, 0xe9a0f00c
cmp eax, 0x9162a4f5
je 0x140015471
mov r8, qword [rbp - 0x50]
mov rcx, qword [rbp - 0x20]
mov eax, dword [0x1401d8990]
xor edx, edx
div dword [0x1401d8994]
mov r9d, 0x6a433743
xor r9d, 0xa0044bb6
xor edx, edx
div r9d
xor eax, 0xa11e7525
mov r9d, 0xc349613a
xor r9d, 0x796e11d8
xor edx, edx
div r9d
mov rdx, qword [rbp - 0x40]
mov dword [rbp - 0x54], eax
mov eax, 0x11432b55
xor eax, 0xa3beb8fa
mov dword [rbp - 0x58], eax
mov r9d, 0x18
sub rsp, 0x30
mov qword [rsp + 0x20], 8
call fcn.1400109f0
mov rdx, qword [rbp - 0x48]
mov ecx, dword [rbp - 0x58]
add rsp, 0x30
mov r8, rax
mov eax, dword [rbp - 0x54]
mov qword [rdx], r8
cmp eax, ecx
jae 0x14001525f
jmp 0x1400152fd
sub rsp, 0x20
call fcn.140007bb8
add rsp, 0x20
jmp 0x14001546c
mov rax, qword [rbp - 0x20]
mov rcx, qword [rbp - 0x30]
mov rdx, qword [rbp - 0x38]
mov qword [rcx], rdx
mov qword [rbp - 0x60], rax
mov rcx, qword [rbp - 0x38]
mov rax, qword [rbp - 0x60]
mov qword [rbp - 0x68], rax
cmp rax, rcx
jge 0x14001545a
lea rcx, [rbp - 0x18]
mov edx, 0x18
sub rsp, 0x20
call fcn.1400080a0
mov rcx, qword [rbp - 0x48]
mov rdx, qword [rbp - 0x28]
mov rax, qword [rbp - 0x68]
add rsp, 0x20
mov rcx, qword [rcx]
add rcx, 8
imul rax, rax, 0x18
add rcx, rax
mov rax, qword [rbp - 0x18]
mov qword [rdx], rax
mov rax, qword [rbp - 0x10]
mov qword [rdx + 8], rax
mov rax, qword [rbp - 8]
mov qword [rdx + 0x10], rax
sub rsp, 0x20
call fcn.14004365e
mov rdx, qword [rbp - 0x68]
add rsp, 0x20
mov rax, rdx
add rax, 1
mov qword [rbp - 0x70], rax
mov rcx, rdx
xor rcx, 0xffffffffffffffff
movabs r9, 0xb57678c43bc035db
movabs r8, 0x4a89873bc43fca24
xor r9, r8
mov r8, rdx
xor r8, r9
and rcx, r8
movabs r8, 0x434c340dce9a1da2
movabs r9, 0xbcb3cbf23165e25d
xor r8, r9
movabs r9, 0x37a482efb8a8d80f
movabs r10, 0xc85b7d10475727f0
xor r9, r10
or r8, r9
xor r8, 0xffffffffffffffff
xor rcx, 0xffffffffffffffff
movabs r9, 0xb65289702a883093
movabs r10, 0x49ad768fd577cf6c
xor r9, r10
xor r8, r9
and rcx, r8
movabs r8, 0x9b53ac6dc35f00fa
movabs r9, 0x64ac53923ca0ff05
xor r8, r9
or rdx, r8
xor rdx, 0xffffffffffffffff
or rcx, rdx
movabs rdx, 0x42c046364eba6830
movabs r8, 0xbd3fb9c9b14597cf
xor rdx, r8
xor rcx, rdx
and rax, rcx
cmp rax, 0
jge 0x14001545f
sub rsp, 0x20
call fcn.140007bb8
add rsp, 0x20
jmp 0x14001546c
mov rax, qword [rbp - 0x70]
mov qword [rbp - 0x60], rax
jmp 0x140015310
mov rsp, rbp
pop rbp
ret
pushfq
or al, 0xdd
invalid
sub rsp, 0x38
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x28], rcx
xor eax, eax
mov edx, eax
call fcn.140014e60
mov rcx, qword [rsp + 0x28]
mov rdx, qword [rsp + 0x30]
add rsp, 0x38
jmp 0x140015100