Function at 0x1400a8300
Capabilities:
Encode data using xor

Disassembly:
test rcx, rcx
je 0x1400a85c5
mov r11, rsp
mov qword [r11 + 0x20], r9
mov qword [r11 + 0x18], r8
mov qword [r11 + 0x10], rdx
mov qword [r11 + 8], rcx
push r15
sub rsp, 0x60
mov r15, rdx
mov r10, rcx
test rdx, rdx
je 0x1400a85bf
lea rax, [rdx + r8]
cmp rax, r9
ja 0x1400a85bf
mov qword [r11 - 0x10], rbx
lea ecx, [rdx + r8]
test r8, r8
jne 0x1400a890a
mov rdx, qword [rsp + 0xa0]
mov ebx, 0xffffffff
mov rax, qword [rsp + 0x98]
mov r9, qword [rsp + 0x90]
mov qword [r11 - 0x18], rbp
mov qword [r11 - 0x20], rsi
mov qword [r11 - 0x28], rdi
lea rdi, [0x140000000]
mov qword [r11 - 0x30], r12
lea r12d, [r8 + 4]
mov qword [r11 - 0x38], r13
mov r13, r10
mov dword [rdx], ebx
and r13d, 3
mov qword [r11 - 0x40], r14
mov r11, r10
mov dword [rax], ebx
mov r10d, ebx
mov dword [r9], ebx
cmp r15, 0x1000
jb 0x1400a85c7
xor r14d, r14d
test r13, r13
jne 0x1400a871e
mov ebp, r14d
mov esi, 0x200
nop dword [rax]
nop dword [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 [rdi + rdx*4 + 0x3e0450]
shr rax, 0x10
xor r10d, dword [rdi + rcx*4 + 0x3e0c50]
movzx ecx, al
mov eax, r9d
shr rax, 8
xor r10d, dword [rdi + rcx*4 + 0x3e0850]
movzx ecx, al
mov eax, r8d
shr rax, 0x18
xor r10d, dword [rdi + rcx*4 + 0x3dfc50]
xor r10d, dword [rdi + rax*4 + 0x3e0050]
mov eax, r9d
shr rax, 0x18
xor r10d, dword [rdi + rax*4 + 0x3ba800]
movzx eax, r8b
xor r10d, dword [rdi + rax*4 + 0x3e1450]
movzx eax, r9b
xor r10d, dword [rdi + rax*4 + 0x3e1050]
sub rsi, 1
jne 0x1400a83d0
mov r9, qword [rsp + 0x90]
mov rdx, qword [rsp + 0xa0]
test rbp, rbp
jne 0x1400a8783
mov rbp, qword [rsp + 0x70]
mov dword [r9], r10d
cmp qword [rsp + 0x88], r15
je 0x1400a87b8
mov esi, 0x10000
cmp r15, rsi
jbe 0x1400a8716
cmp rsi, 4
mov r11, rsi
mov rax, r14
mov r10, rbp
mov rbp, qword [rsp + 0x50]
cmovae rax, r13
mov r13, qword [rsp + 0x30]
sub r12, rax
test rax, rax
cmove r12, r14
sub r11, r12
and r11, 0xfffffffffffffff8
cmp rsi, 4
cmovb r11, r14
mov r14, qword [rsp + 0x28]
sub rsi, r11
sub rsi, r12
test r12, r12
jne 0x1400a88b0
mov r12, qword [rsp + 0x38]
shr r11, 3
test r11, r11
je 0x1400a858c
nop dword [rax]
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 [rdi + rdx*4 + 0x3e0450]
shr rax, 0x10
xor ebx, dword [rdi + rcx*4 + 0x3e0c50]
movzx ecx, al
mov eax, r9d
shr rax, 8
xor ebx, dword [rdi + rcx*4 + 0x3e0850]
movzx ecx, al
mov eax, r8d
shr rax, 0x18
xor ebx, dword [rdi + rcx*4 + 0x3dfc50]
xor ebx, dword [rdi + rax*4 + 0x3e0050]
mov eax, r9d
shr rax, 0x18
xor ebx, dword [rdi + rax*4 + 0x3ba800]
movzx eax, r8b
xor ebx, dword [rdi + rax*4 + 0x3e1450]
movzx eax, r9b
xor ebx, dword [rdi + rax*4 + 0x3e1050]
sub r11, 1
jne 0x1400a8500
test rsi, rsi
jne 0x1400a88d6
mov rax, qword [rsp + 0x98]
mov r9, qword [rsp + 0x88]
mov rdi, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x48]
mov dword [rax], ebx
cmp r9, r15
jne 0x1400a88fd
mov rbx, qword [rsp + 0x58]
add rsp, 0x60
pop r15
ret
mov r15d, ecx
mov r14d, 0x1000
sub r14d, ecx
mov r8, r12
xor ecx, ecx
mov esi, r15d
cmp r15, 4
mov eax, ecx
mov ebp, r15d
cmovae rax, r13
sub r8, rax
test rax, rax
cmove r8, rcx
sub rsi, r8
and rsi, 0xfffffffffffffff8
cmp r15, r12
cmovb rsi, rcx
sub rbp, rsi
sub rbp, r8
test r8, r8
jne 0x1400a87ef
shr rsi, 3
test rsi, rsi
je 0x1400a86be
nop dword [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 [rdi + rdx*4 + 0x3e0450]
shr rax, 0x10
xor r10d, dword [rdi + rcx*4 + 0x3e0c50]
movzx ecx, al
mov eax, r9d
shr rax, 8
xor r10d, dword [rdi + rcx*4 + 0x3e0850]
movzx ecx, al
mov eax, r8d
shr rax, 0x18
xor r10d, dword [rdi + rcx*4 + 0x3dfc50]
xor r10d, dword [rdi + rax*4 + 0x3e0050]
mov eax, r9d
shr rax, 0x18
xor r10d, dword [rdi + rax*4 + 0x3ba800]
movzx eax, r8b
xor r10d, dword [rdi + rax*4 + 0x3e1450]
movzx eax, r9b
xor r10d, dword [rdi + rax*4 + 0x3e1050]
sub rsi, 1
jne 0x1400a8620
mov r9, qword [rsp + 0x90]
test rbp, rbp
jne 0x1400a881b
mov dword [r9], r10d
mov rsi, r14
cmp r14, 0x400
ja 0x1400a8848
mov r8, rsi
lea rdx, [0x1403bb880]
mov ecx, r10d
call fcn.1400a8970
mov rcx, qword [rsp + 0x90]
mov dword [rcx], eax
mov rax, qword [rsp + 0x88]
cmp rax, qword [rsp + 0x78]
je 0x1400a8883
mov rbp, qword [rsp + 0x70]
mov r15, qword [rsp + 0x78]
xor r14d, r14d
mov rsi, r15
jmp 0x1400a84a3
mov r8, r12
mov esi, 0x1000
sub r8, r13
mov ebp, 0x1000
sub rsi, r8
sub rbp, r8
and rsi, 0xfffffffffffffff8
sub rbp, rsi
test r8, r8
jne 0x1400a8752
shr rsi, 3
test rsi, rsi
jne 0x1400a83d0
jmp 0x1400a8476
movzx eax, byte [r11]
mov ecx, r10d
xor rcx, rax
inc r11
mov eax, r10d
movzx edx, cl
shr eax, 8
mov r10d, dword [rdi + rdx*4 + 0x3ba800]
xor r10d, eax
sub r8, 1
jne 0x1400a8752
mov rdx, qword [rsp + 0xa0]
jmp 0x1400a8740
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 [rdi + rdx*4 + 0x3ba800]
xor r10d, eax
sub rbp, 1
jne 0x1400a8783
mov rdx, qword [rsp + 0xa0]
jmp 0x1400a847f
cmp r15, 0x1000
jne 0x1400a87c9
mov dword [rdx], r10d
jmp 0x1400a8716
lea rdx, [rbp - 0x1000]
mov r8d, 0x1000
add rdx, r15
mov ecx, ebx
call fcn.1400a8970
mov rsi, qword [rsp + 0xa0]
mov dword [rsi], eax
jmp 0x1400a8495
movzx eax, byte [r11]
mov ecx, r10d
xor rcx, rax
inc r11
mov eax, r10d
movzx edx, cl
shr eax, 8
mov r10d, dword [rdi + rdx*4 + 0x3ba800]
xor r10d, eax
sub r8, 1
jne 0x1400a87ef
jmp 0x1400a860f
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 [rdi + rdx*4 + 0x3ba800]
xor r10d, eax
sub rbp, 1
jne 0x1400a881b
jmp 0x1400a86c7
lea rbp, [r14 - 0x401]
shr rbp, 0xa
inc rbp
imul rsi, rbp, 0xfffffffffffffc00
add rsi, r14
mov r8d, 0x400
lea rdx, [0x1403bb880]
mov ecx, r10d
call fcn.1400a8970
mov r10d, eax
sub rbp, 1
jne 0x1400a8860
jmp 0x1400a86da
mov rdx, r14
mov ecx, ebx
call fcn.140154778
mov rsi, qword [rsp + 0xa0]
mov r8, r15
mov rbp, qword [rsp + 0x70]
mov ecx, eax
mov rdx, rbp
mov dword [rsi], eax
call fcn.1400a8970
mov dword [rsi], eax
jmp 0x1400a870e
movzx ecx, byte [r10]
mov eax, ebx
xor rcx, rax
inc r10
shr eax, 8
movzx edx, cl
mov ebx, dword [rdi + rdx*4 + 0x3ba800]
xor ebx, eax
sub r12, 1
jne 0x1400a88b0
jmp 0x1400a84eb
movzx ecx, byte [r10]
lea r10, [r10 + 1]
mov eax, ebx
xor rcx, rax
shr eax, 8
movzx edx, cl
mov ebx, dword [rdi + rdx*4 + 0x3ba800]
xor ebx, eax
sub rsi, 1
jne 0x1400a88d6
jmp 0x1400a8595
mov r10, qword [rsp + 0x70]
mov r8, qword [rsp + 0x80]
mov rax, r9
sub rax, r15
sub rax, r8
cmp rax, 0x1000
jae 0x1400a85ba
mov rbx, qword [rsp + 0xa0]
lea edx, [r8 + 0x1000]
mov eax, r15d
sub eax, r9d
add edx, eax
mov ecx, dword [rbx]
cmp r15, 0x1000
jb 0x1400a894d
mov r8d, edx
sub r10, r8
lea rdx, [r15 + r10]
jmp 0x1400a895a
cmp r15d, edx
cmovae r15d, edx
mov rdx, r10
mov r8d, r15d
call fcn.1400a8970
mov dword [rbx], eax
jmp 0x1400a85ba