Function at 0x1400df780
Capabilities:
Encode data using xor

Disassembly:
test rcx, rcx
je 0x1400df7b4
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov qword [rsp + 8], rcx
push rsi
push r13
push r15
sub rsp, 0x40
mov r15, r9
mov r13, rdx
mov rsi, rcx
test rdx, rdx
jne 0x1400df7b6
add rsp, 0x40
pop r15
pop r13
pop rsi
ret
lea rax, [r8 + rdx]
cmp rax, r15
ja 0x1400df7ab
mov qword [rsp + 0x20], r14
lea ecx, [r8 + rdx]
mov r14, qword [rsp + 0x90]
test r8, r8
jne 0x1400dfc2a
mov rax, qword [rsp + 0x88]
lea r9, [0x140000000]
mov qword [rsp + 0x68], rbx
xor edx, edx
mov qword [rsp + 0x38], rbp
mov ebx, 0xffffffff
mov dword [r14], ebx
lea ebp, [r8 + 4]
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x28], r12
mov r12, qword [rsp + 0x80]
mov dword [rax], ebx
mov dword [r12], ebx
cmp r13, 0x1000
jae 0x1400dfa99
mov r14d, 0x1000
mov r15d, ecx
sub r14d, ecx
mov r11, rsi
mov r10d, ebx
cmp r15, rbp
jae 0x1400dfae6
mov r8, rdx
mov rdi, r15
mov rsi, r15
sub rdi, r8
and rdi, 0xfffffffffffffff8
cmp r15, rbp
cmovb rdi, rdx
sub rsi, rdi
sub rsi, r8
test r8, r8
jne 0x1400dfafd
shr rdi, 3
test rdi, rdi
je 0x1400df925
lea r12, [0x140000000]
nop word [rax + rax]
xor r10d, dword [r11]
mov r9d, dword [r11 + 4]
add r11, 8
mov r8d, r10d
mov eax, r10d
shr rax, 0x10
movzx edx, al
mov eax, r10d
shr rax, 8
movzx ecx, al
mov eax, r9d
mov r10d, dword [r12 + rdx*4 + 0x39d0b0]
shr rax, 0x10
xor r10d, dword [r12 + rcx*4 + 0x39e4b0]
movzx ecx, al
mov eax, r9d
shr rax, 8
xor r10d, dword [r12 + rcx*4 + 0x39dcb0]
movzx ecx, al
mov eax, r8d
shr rax, 0x18
xor r10d, dword [r12 + rcx*4 + 0x39d4b0]
xor r10d, dword [r12 + rax*4 + 0x39d8b0]
mov eax, r9d
shr rax, 0x18
xor r10d, dword [r12 + rax*4 + 0x360c00]
movzx eax, r8b
xor r10d, dword [r12 + rax*4 + 0x39e8b0]
movzx eax, r9b
xor r10d, dword [r12 + rax*4 + 0x39e0b0]
sub rdi, 1
jne 0x1400df880
mov r12, qword [rsp + 0x80]
lea r9, [0x140000000]
test rsi, rsi
jne 0x1400dfb29
mov dword [r12], r10d
mov rsi, r14
cmp r14, 0x400
ja 0x1400dfb56
mov r8, rsi
lea rdx, [0x140361e00]
mov ecx, r10d
call fcn.1400dfc90
mov dword [r12], eax
cmp qword [rsp + 0x78], r13
je 0x1400dfb91
mov rsi, qword [rsp + 0x60]
mov r14, qword [rsp + 0x90]
mov r15, qword [rsp + 0x78]
mov edi, 0x10000
cmp r13, rdi
ja 0x1400dfbc0
mov rdi, r13
cmp r13, rbp
jae 0x1400dfbc0
xor eax, eax
mov ebp, eax
mov r11, rdi
lea r12, [0x140000000]
sub r11, rbp
mov r10, rsi
and r11, 0xfffffffffffffff8
cmp rdi, 4
cmovb r11, rax
sub rdi, r11
sub rdi, rbp
test rbp, rbp
jne 0x1400dfbd6
mov rbp, qword [rsp + 0x38]
shr r11, 3
test r11, r11
je 0x1400dfa64
xor ebx, dword [r10]
mov r9d, dword [r10 + 4]
add r10, 8
mov r8d, ebx
mov eax, ebx
shr rax, 0x10
movzx edx, al
mov eax, ebx
shr rax, 8
movzx ecx, al
mov eax, r9d
mov ebx, dword [r12 + rdx*4 + 0x39d0b0]
shr rax, 0x10
xor ebx, dword [r12 + rcx*4 + 0x39e4b0]
movzx ecx, al
mov eax, r9d
shr rax, 8
xor ebx, dword [r12 + rcx*4 + 0x39dcb0]
movzx ecx, al
mov eax, r8d
shr rax, 0x18
xor ebx, dword [r12 + rcx*4 + 0x39d4b0]
xor ebx, dword [r12 + rax*4 + 0x39d8b0]
mov eax, r9d
shr rax, 0x18
xor ebx, dword [r12 + rax*4 + 0x360c00]
movzx eax, r8b
xor ebx, dword [r12 + rax*4 + 0x39e8b0]
movzx eax, r9b
xor ebx, dword [r12 + rax*4 + 0x39e0b0]
sub r11, 1
jne 0x1400df9d0
test rdi, rdi
jne 0x1400dfbfd
mov rax, qword [rsp + 0x88]
mov r12, qword [rsp + 0x28]
mov rdi, qword [rsp + 0x30]
mov dword [rax], ebx
mov rbx, qword [rsp + 0x68]
cmp r15, r13
jne 0x1400dfc25
mov r14, qword [rsp + 0x20]
jmp 0x1400df7ab
mov r8d, 0x1000
mov rdx, rsi
mov ecx, ebx
call fcn.1400dfc90
mov dword [r12], eax
cmp r15, r13
jne 0x1400df975
cmp r13, 0x1000
jne 0x1400dfac7
mov dword [r14], eax
jmp 0x1400df983
lea rdx, [r13 - 0x1000]
mov r8d, 0x1000
add rdx, rsi
mov ecx, ebx
call fcn.1400dfc90
mov dword [r14], eax
jmp 0x1400df975
mov rax, rsi
and eax, 3
je 0x1400df840
mov r8, rbp
sub r8, rax
jmp 0x1400df843
movzx eax, byte [r11]
mov ecx, r10d
xor rcx, rax
inc r11
mov eax, r10d
movzx edx, cl
shr eax, 8
mov r10d, dword [r9 + rdx*4 + 0x360c00]
xor r10d, eax
sub r8, 1
jne 0x1400dfafd
jmp 0x1400df866
movzx eax, byte [r11]
lea r11, [r11 + 1]
mov ecx, r10d
xor rcx, rax
mov eax, r10d
shr eax, 8
movzx edx, cl
mov r10d, dword [r9 + rdx*4 + 0x360c00]
xor r10d, eax
sub rsi, 1
jne 0x1400dfb29
jmp 0x1400df92e
lea rdi, [r14 - 0x401]
shr rdi, 0xa
inc rdi
imul rsi, rdi, 0xfffffffffffffc00
add rsi, r14
mov r8d, 0x400
lea rdx, [0x140361e00]
mov ecx, r10d
call fcn.1400dfc90
mov r10d, eax
sub rdi, 1
jne 0x1400dfb6e
jmp 0x1400df942
mov rdx, r14
mov ecx, ebx
call fcn.14011cf24
mov r14, qword [rsp + 0x90]
mov r8, r15
mov rsi, qword [rsp + 0x60]
mov ecx, eax
mov rdx, rsi
mov dword [r14], eax
call fcn.1400dfc90
mov dword [r14], eax
jmp 0x1400df970
mov rax, rsi
and eax, 3
je 0x1400df98f
sub rbp, rax
xor eax, eax
jmp 0x1400df993
movzx ecx, byte [r10]
mov eax, ebx
xor rcx, rax
inc r10
shr eax, 8
movzx edx, cl
mov ebx, dword [r12 + rdx*4 + 0x360c00]
xor ebx, eax
sub rbp, 1
jne 0x1400dfbd6
jmp 0x1400df9be
movzx ecx, byte [r10]
lea r10, [r10 + 1]
mov eax, ebx
xor rcx, rax
shr eax, 8
movzx edx, cl
mov ebx, dword [r12 + rdx*4 + 0x360c00]
xor ebx, eax
sub rdi, 1
jne 0x1400dfbfd
jmp 0x1400dfa6d
mov r8, qword [rsp + 0x70]
mov rax, r15
sub rax, r13
sub rax, r8
cmp rax, 0x1000
jae 0x1400dfa8f
mov ecx, dword [r14]
lea edx, [r8 + 0x1000]
mov eax, r13d
sub eax, r15d
add edx, eax
cmp r13, 0x1000
jb 0x1400dfc66
mov r8d, edx
sub rsi, r8
lea rdx, [rsi + r13]
jmp 0x1400dfc73
cmp r13d, edx
cmovae r13d, edx
mov rdx, rsi
mov r8d, r13d
call fcn.1400dfc90
mov dword [r14], eax
jmp 0x1400dfa8f