Function at 0x1401d8040
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0xc8
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x40], 0xfffffffffffffffe
mov rbx, r8
mov rdi, rdx
mov rsi, rcx
mov eax, dword [0x140491510]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
mov eax, 0xa1ba8bd8
add eax, dword [0x1404558d8]
cmp ecx, eax
jne 0x1401d8104
mov r14d, 0x2a7a
mov eax, dword [0x1404558fc]
add eax, r14d
cdqe
add rax, qword [0x140455918]
lea rdx, [rbp - 0x40]
mov rcx, rdi
call qword [case.0x1400eabdd.0]
mov qword [rbp + 0x30], 0
mov qword [rbp + 0x38], 0xf
add r14d, dword [0x1404558f0]
mov byte [rbp + 0x20], 0
movsxd rax, r14d
add rax, qword [0x140455930]
mov rcx, rbx
mov edx, 0x405ee07f
mov r8d, 0x4048d533
call qword [case.0x1400eabdd.0]
mov r14, rax
mov eax, dword [0x140491514]
mov ecx, 0xa1ba8c18
add ecx, dword [0x1404558d8]
cmp eax, ecx
jl 0x1401d819f
lea r14, [rbp - 0x40]
mov r15d, 0x2a7a
nop
mov eax, dword [0x1404558fc]
mov ecx, dword [0x1404558d8]
mov edx, ecx
xor edx, 0xa1ba8bd8
sub eax, ecx
and ecx, 0x21ba8bd8
lea ecx, [rdx + rcx*2]
add eax, ecx
add eax, 0x5e459ea2
cdqe
add rax, qword [0x140455918]
mov rcx, rdi
mov rdx, r14
call qword [case.0x1400eabdd.0]
mov qword [rbp + 0x30], 0
mov qword [rbp + 0x38], 0xf
mov byte [rbp + 0x20], 0
mov eax, dword [0x1404558f0]
add eax, r15d
cdqe
add rax, qword [0x140455930]
mov rcx, rbx
mov edx, 0x405ee07f
mov r8d, 0x4048d533
call qword [case.0x1400eabdd.0]
mov eax, dword [0x140491510]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x1401d8110
jmp 0x1401d808a
cmp r14, 0xf
jbe 0x1401d81b6
lea rcx, [rbp + 0x20]
mov rdx, r14
mov r9, rbx
call fcn.1400733f0
jmp 0x1401d81cf
mov qword [rbp + 0x30], r14
lea rcx, [rbp + 0x20]
mov rdx, rbx
mov r8, r14
call fcn.1403414a0
mov byte [rbp + r14 + 0x20], 0
mov rcx, qword [rbp + 0x30]
mov rdx, qword [rbp + 0x38]
mov rax, rdx
sub rax, rcx
cmp rax, 2
jae 0x1401d8226
mov eax, 0x2a7a
add eax, dword [0x140455900]
cdqe
add rax, qword [0x140455910]
xor ecx, ecx
mov edx, 1
mov r8d, 0x6a2179d1
call qword [case.0x1400eabdd.0]
mov qword [rsp + 0x20], 2
lea rcx, [rbp + 0x20]
mov edx, 2
mov r9, rax
call fcn.140073b40
jmp 0x1401d824c
lea rax, [rcx + 2]
mov qword [rbp + 0x30], rax
lea rax, [rbp + 0x20]
mov r8, rax
cmp rdx, 0x10
jb 0x1401d823f
mov r8, qword [rbp + 0x20]
mov word [r8 + rcx], 0x203a
mov byte [r8 + rcx + 2], 0
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
movaps xmmword [rbp + 0x10], xmm1
movaps xmmword [rbp], xmm0
mov qword [rax + 0x10], 0
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
lea rbx, [rbp - 0x20]
mov r8, rbp
lea r9, [rbp - 0x40]
mov rcx, rbx
call fcn.1401c3960
cmp qword [rbp - 8], 0x10
jb 0x1401d828c
mov rbx, qword [rbp - 0x20]
lea rax, [0x14035c638]
mov qword [rsi], rax
lea rdx, [rsi + 8]
xorps xmm0, xmm0
movups xmmword [rsi + 8], xmm0
mov qword [rbp - 0x50], rbx
mov byte [rbp - 0x48], 1
lea rcx, [rbp - 0x50]
call fcn.140341f8c
lea rax, [0x14035ccd8]
mov qword [rsi], rax
mov rax, qword [rbp - 8]
cmp rax, 0x10
jb 0x1401d83c9
mov rbx, qword [rbp - 0x20]
mov rcx, rax
xor rcx, 1
mov edx, eax
and edx, 1
lea r14, [rcx + rdx*2]
cmp r14, 0x1000
jb 0x1401d8316
mov rcx, qword [rbx - 8]
add rbx, qword [0x1404558d0]
sub rbx, rcx
movabs rdx, 0x98f1f5000136f3c
add rdx, rbx
cmp rdx, 0x20
jae 0x1401d83f1
add rax, 0x28
mov r14, rax
mov rbx, rcx
mov r15d, 0x2a7a
mov r12d, 0xa1ba8c1a
mov r13b, 1
nop word cs:[rax + rax]
mov eax, dword [0x1404558f4]
add eax, r15d
cdqe
add rax, qword [0x140455920]
mov dword [rsp + 0x28], 0x5e472376
mov dword [rsp + 0x20], 0x254c09a8
xor ecx, ecx
mov edx, 1
mov r8, rbx
mov r9, r14
call qword [case.0x1400eabdd.0]
mov eax, dword [0x140491514]
mov ecx, dword [0x1404558d8]
add ecx, r12d
cmp eax, ecx
jl 0x1401d83c9
nop dword [rax + rax]
mov eax, dword [0x1404558f4]
mov ecx, dword [0x1404558d8]
add eax, ecx
add eax, 0xa1bab652
cdqe
add rax, qword [0x140455920]
mov dword [rsp + 0x28], 0x5e472376
mov dword [rsp + 0x20], 0x254c09a8
xor ecx, ecx
mov edx, 1
mov r8, rbx
mov r9, r14
call qword [case.0x1400eabdd.0]
test r13b, r13b
je 0x1401d8380
jmp 0x1401d8330
mov eax, dword [0x140491514]
cmp eax, 0x42
jle 0x1401d840c
jmp 0x1401d8426
mov eax, dword [0x140491510]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
je 0x1401d83fc
mov eax, dword [0x140491514]
cmp eax, 0x2e
jg 0x1401d83e0
mov eax, dword [0x140491514]
cmp eax, 0x32
jg 0x1401d83e0
call fcn.1402f9bec
mov qword [rbp - 0x10], 0
mov qword [rbp - 8], 0xf
mov byte [rbp - 0x20], 0
xor eax, eax
test al, al
je 0x1401d843c
mov qword [rbp - 0x10], 0
mov qword [rbp - 8], 0xf
mov byte [rbp - 0x20], 0
jmp 0x1401d840c
mov rax, qword [rbp + 0x18]
cmp rax, 0x10
jb 0x1401d84a7
mov r8, qword [rbp]
lea r9, [rax + 1]
cmp r9, 0x1000
jb 0x1401d8476
mov rcx, qword [r8 - 8]
add r8, 0xfffffffffffffff8
sub r8, rcx
cmp r8, 0x20
jae 0x1401d85a0
add rax, 0x28
mov r9, rax
mov r8, rcx
mov eax, 0x2a7a
add eax, dword [0x1404558f4]
cdqe
add rax, qword [0x140455920]
mov dword [rsp + 0x28], 0x5e472376
mov dword [rsp + 0x20], 0x254c09a8
xor ecx, ecx
mov edx, 1
call qword [case.0x1400eabdd.0]
lea rbx, [0x1401dccf0]
lea rax, [fcn.1401d8040]
lea r14d, [rax + rax]
add r14d, 0x2d60
mov r15d, r14d
not r15d
nop word cs:[rax + rax]
mov eax, dword [0x140491514]
cmp eax, 0x2a
jg 0x1401d84fe
mov qword [rbp + 0x10], 0
mov qword [rbp + 0x18], 0xf
mov byte [rbp], 0
mov rax, qword [rbp + 0x38]
mov ecx, dword [0x140491514]
cmp ecx, 0x1d
jle 0x1401d8532
mov qword [rbp + 0x10], 0
mov qword [rbp + 0x18], 0xf
mov byte [rbp], 0
mov ecx, 0x24
call fcn.1402f9c64
mov qword [0x140491508], rax
mov rcx, rbx
call fcn.140319880
test r15d, r14d
jne 0x1401d84d0
jmp 0x1401d84db
cmp rax, 0x10
jb 0x1401d8682
mov rbx, qword [rbp + 0x20]
mov rcx, rax
xor rcx, 1
mov edx, eax
and edx, 1
lea r14, [rcx + rdx*2]
cmp r14, 0x1000
jb 0x1401d8581
mov rcx, qword [rbx - 8]
add rbx, 0xfffffffffffffff8
sub rbx, rcx
cmp rbx, 0x20
jae 0x1401d85b0
add rax, qword [0x1404558d0]
movabs r14, 0x98f1f5000136f6c
add r14, rax
mov rbx, rcx
mov eax, dword [0x140491510]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x1401d8616
jmp 0x1401d85b5
mov eax, dword [0x140491514]
cmp eax, 0x59
jg 0x1401d85a0
call fcn.1402f9bec
call fcn.1402f9bec
mov eax, dword [0x1404558f4]
mov ecx, dword [0x1404558d8]
mov edx, ecx
xor edx, 0xa1ba8bd8
and ecx, 0x21ba8bd8
lea ecx, [rdx + rcx*2]
add eax, ecx
add eax, 0x2a7a
cdqe
add rax, qword [0x140455920]
mov dword [rsp + 0x28], 0x5e472376
mov dword [rsp + 0x20], 0x254c09a8
xor ecx, ecx
mov edx, 1
mov r8, rbx
mov r9, r14
call qword [case.0x1400eabdd.0]
mov eax, dword [0x140491510]
lea ecx, [rax + 1]
imul ecx, eax
test cl, 1
je 0x1401d8682
mov r15d, 0xa1ba8bd9
lea rax, [fcn.1401d8040]
lea r12d, [rax + rax]
add r12d, 0x2480
nop
mov eax, dword [0x1404558f4]
mov ecx, dword [0x1404558d8]
add eax, ecx
add eax, 0xa1bab652
cdqe
add rax, qword [0x140455920]
mov dword [rsp + 0x28], 0x5e472376
mov dword [rsp + 0x20], 0x254c09a8
xor ecx, ecx
mov edx, 1
mov r8, rbx
mov r9, r14
call qword [case.0x1400eabdd.0]
mov eax, dword [0x1404558d8]
add eax, r15d
test r12d, eax
jne 0x1401d8630
jmp 0x1401d85b5
mov rax, qword [rbp - 0x28]
cmp rax, 0x10
jb 0x1401d875c
mov r8, qword [rbp - 0x40]
lea r9, [rax + 1]
cmp r9, 0x1000
jb 0x1401d8705
mov rcx, qword [r8 - 8]
mov rdx, r8
xor rdx, 0xfffffffffffffff8
movabs r9, 0x7ffffffffffffff8
and r9, r8
lea rdx, [rdx + r9*2]
sub rdx, rcx
cmp rdx, 0x20
jae 0x1401d878c
mov edx, dword [0x140491510]
lea r8d, [rdx - 1]
imul r8d, edx
and r8d, 1
mov edx, 0xa1ba8bd8
add edx, dword [0x1404558d8]
cmp r8d, edx
nop word [rax + rax]
mov edx, dword [0x140491514]
cmp edx, 0x2d
jge 0x1401d86f0
add rax, 0x28
mov r9, rax
mov r8, rcx
mov eax, 0x2a7a
add eax, dword [0x1404558f4]
cdqe
add rax, qword [0x140455920]
mov r10d, dword [0x1404558d8]
lea ecx, [r10 - 0x5e457428]
mov edx, r10d
xor edx, 0xa1ba8bd9
mov r11d, r10d
and r11d, 0x21ba8bd9
lea edx, [rdx + r11*2]
lea r11d, [r10 - 0x38f96a80]
add r10d, 0x1af4e
mov dword [rsp + 0x28], r10d
mov dword [rsp + 0x20], r11d
call qword [case.0x1400eabdd.0]
lea rax, [0x1403698d8]
mov qword [rsi], rax
movups xmm0, xmmword [rdi]
movups xmmword [rsi + 0x18], xmm0
mov rax, qword [rdi + 0x10]
mov qword [rsi + 0x28], rax
mov rax, rsi
add rsp, 0xc8
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
call fcn.1402f9bec
int3