Function at 0x14001d5b0
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0x78
mov qword [rsp + 0x40], rdx
mov qword [rsp + 0x48], rcx
mov r8, qword [rcx]
mov qword [rsp + 0x50], r8
mov rax, rcx
add rax, 8
mov qword [rsp + 0x58], rax
mov rax, qword [rcx + 8]
mov qword [rsp + 0x60], rax
mov rcx, r8
and rcx, 1
movabs r9, 0xbfb8de9d0f7ea73e
movabs rdx, 0xbfb8de9d0f7ea73f
xor r9, rdx
mov rdx, r8
or rdx, r9
add rcx, rdx
mov qword [rsp + 0x68], rcx
xor r8, 0xffffffffffffffff
mov rdx, rcx
xor rdx, r8
xor rdx, 0xffffffffffffffff
or rcx, r8
and rcx, rdx
mov qword [rsp + 0x70], rcx
cmp rax, 0
je 0x14001d8d3
mov rax, qword [rsp + 0x70]
cmp rax, 0
jl 0x14001d82d
mov eax, dword [0x14024bdf8]
xor edx, edx
div dword [0x14024bdfc]
imul ecx, eax, 0x92a6c919
add ecx, 0xe7a376ca
mov edx, 0xa46d378a
xor edx, 0x773a66da
mov eax, ecx
and eax, edx
or ecx, 0xd3575150
add eax, ecx
cmp eax, 0x58ed52cf
je 0x14001d99c
mov rcx, qword [rsp + 0x60]
mov eax, dword [0x14024be00]
add eax, dword [0x14024be04]
mov r8d, 0x64cbd4b9
xor r8d, 0xdc6e74d5
xor edx, edx
div r8d
mov rdx, qword [rsp + 0x68]
mov r8d, eax
mov r9d, 0x60d2b280
xor r9d, 0x9f2d4d7f
mov eax, r8d
xor eax, r9d
mov r10d, 0xb8c90af0
xor r10d, 0x4736f50f
mov r9d, r8d
xor r9d, r10d
or eax, r9d
and eax, 0x547921e4
xor eax, 0xffffffff
mov r9d, 0x75a2a86e
xor r9d, 0x21db898a
mov r10d, 0xa90d5d2a
xor r10d, 0xfd747cce
and r9d, r10d
xor r9d, 0xffffffff
mov r10d, 0x1d06fea
xor r10d, 0xfe2f9015
xor r8d, r10d
mov r10d, 0xc5818fa2
xor r10d, 0x3a7e705d
xor r9d, r10d
or r8d, r9d
xor eax, 0xffffffff
mov r9d, 0xff958605
xor r9d, 0x6a79fa
xor r8d, r9d
or eax, r8d
mov r9d, eax
xor r9d, 0xffffffff
and r9d, 0xe8945f77
mov r10d, 0xffffffff
xor r10d, 0xe8945f77
mov r8d, eax
and r8d, r10d
imul r8d, r9d
mov r10d, 0x3353a8c7
xor r10d, 0xdbc7f7b0
mov r9d, eax
and r9d, r10d
or eax, 0xe8945f77
imul eax, r9d
add eax, r8d
mov rcx, qword [rcx]
xor rcx, 0xffffffffffffffff
movabs r8, 0x8913a66601d80fef
movabs r9, 0x36ec5999fe27f010
xor r8, r9
movabs r9, 0x72f4435c8184bdf0
movabs r10, 0x8d0bbca37e7b420f
xor r9, r10
xor r8, r9
movabs r9, 0x8f49cf8e9c138ef1
movabs r10, 0x90c074b4eea55833
xor r9, r10
movabs r10, 0x5f59d2c47f290d04
movabs r11, 0xa0a62d3b80d6f2fb
xor r10, r11
xor r9, r10
or rcx, r8
movabs r8, 0x17980323be240edc
movabs r10, 0x811b819cc92d81e
xor r8, r10
or r8, r9
xor rcx, 0xffffffffffffffff
and rcx, r8
cmp rcx, rdx
setl cl
mov byte [rsp + 0x3f], cl
cmp eax, 0xdb7e3053
ja 0x14001d99c
mov rax, qword [rsp + 0x60]
mov cl, byte [rsp + 0x3f]
test cl, 1
mov qword [rsp + 0x30], rax
jne 0x14001d8d3
jmp 0x14001d952
mov eax, dword [0x14024be08]
sub eax, dword [0x14024be0c]
mov ecx, 0xe33c4382
xor ecx, 0x55b82dc1
xor eax, ecx
mov ecx, 0x607c5ce9
xor ecx, 0xaadd15c5
and eax, ecx
mov ecx, 0xa56fe726
xor ecx, 0xe09517eb
sub eax, ecx
cmp eax, 0xe178fad2
ja 0x14001d9a5
mov eax, dword [0x14024be10]
mov edx, dword [0x14024be14]
mov ecx, 0xae07aba7
xor ecx, 0xea1dfa39
xor edx, ecx
mov ecx, 0x188dd56a
xor ecx, 0x188dd56a
sub ecx, edx
add eax, ecx
mov ecx, 0x17e786f9
xor ecx, 0xa0f21e07
or eax, ecx
mov ecx, 0x3d601be6
xor ecx, 0xe531f181
xor eax, ecx
mov ecx, 0x17937d1
xor edx, edx
div ecx
mov dword [rsp + 0x2c], eax
call fcn.140008c92
mov eax, dword [rsp + 0x2c]
cmp eax, 0xde67b860
jae 0x14001d86b
jmp 0x14001d997
mov rdx, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x50]
movabs r8, 0xc990105ad527cd3d
movabs rax, 0xc990105ad527cd3c
xor r8, rax
movabs r9, 0xf09bacd153cae5dd
movabs rax, 0xf09bacd153cae5fd
xor r9, rax
movabs rax, 0xd2c909020932077e
movabs r10, 0xd2c9090209320776
xor rax, r10
mov qword [rsp + 0x20], rax
call fcn.140010b50
mov rdx, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x70]
mov qword [rdx], rax
cmp rcx, 0
mov qword [rsp + 0x30], rax
jge 0x14001d952
call fcn.140008c92
jmp 0x14001d997
mov rcx, qword [rsp + 0x40]
mov rdx, qword [rsp + 0x50]
mov r8, qword [rsp + 0x48]
mov r9, qword [rsp + 0x68]
mov rax, qword [rsp + 0x30]
mov qword [r8], r9
add rax, 8
shl rdx, 5
add rax, rdx
mov rdx, qword [rcx]
mov qword [rax], rdx
mov rdx, qword [rcx + 8]
mov qword [rax + 8], rdx
mov rdx, qword [rcx + 0x10]
mov qword [rax + 0x10], rdx
mov rcx, qword [rcx + 0x18]
mov qword [rax + 0x18], rcx
add rsp, 0x78
ret
dec dl
sub eax, dword [rbx]
jmp 0x14001d675
lsl edi, word [rdi + 0x6f]
jmp 0x14001d86b