Function at 0x140097ae0
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 7]
sub rsp, 0xb8
mov rax, qword [0x1403d4408]
xor rax, rsp
mov qword [rbp - 0x11], rax
mov eax, dword [rbp + 0x77]
mov r13, rcx
mov rcx, qword [rbp + 0x7f]
mov ebx, r9d
mov r9, qword [rbp + 0x6f]
mov r14d, ebx
mov qword [rbp - 0x59], rcx
mov rdi, rdx
mov rcx, qword [rbp + 0x8f]
mov r12, r8
mov qword [rbp - 0x49], rcx
mov rsi, rdx
mov ecx, ebx
shr r14d, 4
and ecx, 0xf
mov dword [rbp - 0x71], ebx
mov qword [rbp - 0x69], r8
mov qword [rbp - 0x51], rdx
mov dword [rbp - 0x61], ecx
cmp eax, 0xc
jne 0x140094ad9
movsd xmm0, qword [r9]
mov eax, dword [r9 + 8]
movsd qword [rbp - 0x41], xmm0
mov dword [rbp - 0x39], eax
mov dword [rbp - 0x35], 0x1000000
jmp 0x140094b17
mov ebx, dword [r13 + 0x150]
lea rcx, [rbp - 0x41]
mov dword [rsp + 0x30], 0x10
xor r8d, r8d
mov qword [rsp + 0x28], rcx
xor edx, edx
mov rcx, r13
mov dword [r13 + 0x150], 0
mov dword [rsp + 0x20], eax
call fcn.1400950d0
mov dword [r13 + 0x150], ebx
mov ebx, dword [rbp - 0x71]
movaps xmm0, xmmword [rbp - 0x41]
mov r15d, 0xf
movdqa xmmword [rbp - 0x21], xmm0
cmp rdi, r12
je 0x140094b99
test r14d, r14d
je 0x140094b99
cmp ebx, 0x10
jb 0x140094b66
nop word [rax + rax]
dec r14d
mov rax, r15
add byte [rbp + rax - 0x41], 1
jne 0x140094b56
dec rax
cmp rax, 0xc
jge 0x140094b46
movaps xmm0, xmmword [rbp - 0x41]
movups xmmword [rsi], xmm0
add rsi, 0x10
test r14d, r14d
jne 0x140094b40
mov eax, ebx
mov r8, rdi
and eax, 0xfffffff0
mov rdx, rdi
mov r9d, eax
mov r12d, eax
mov rcx, r13
call fcn.140096980
mov r14, qword [rbp - 0x69]
mov r8d, r12d
mov rdx, r14
mov rcx, rdi
call fcn.140099240
add r12, r14
jmp 0x140094dc1
cmp ebx, 0x10
jb 0x140094dbe
dec r14d
mov rax, r15
add byte [rbp + rax - 0x41], 1
jne 0x140094bb8
dec rax
cmp rax, 0xc
jge 0x140094ba8
lea r8, [rbp - 0x31]
mov rcx, r13
lea rdx, [rbp - 0x41]
call fcn.1400969a0
test eax, eax
jne 0x140094e6b
lea rdx, [rbp - 0x31]
mov rcx, rsi
and edx, 7
lea r10d, [rax + 0x10]
and ecx, 7
lea r8, [rbp - 0x31]
mov rax, rsi
mov r9, r12
cmp rcx, rdx
jne 0x140094d0f
mov rcx, r12
and ecx, 7
cmp rdx, rcx
jne 0x140094d0f
test rdx, rdx
je 0x140094c28
test r10d, r10d
je 0x140094c28
movzx ecx, byte [r9]
dec r10d
xor cl, byte [r8]
inc r9
mov byte [rax], cl
inc r8
inc rax
test r8b, 7
jne 0x140094c08
mov r11d, r10d
xor ebx, ebx
shr r11d, 3
test r11d, r11d
je 0x140094d0b
cmp r11d, 8
jb 0x140094ce5
lea ecx, [r11 - 1]
mov edx, ecx
lea rdi, [rax + rcx*8]
lea rcx, [r8 + rcx*8]
cmp rax, rcx
ja 0x140094c60
cmp rdi, r8
jae 0x140094ce5
lea rcx, [r9 + rdx*8]
cmp rax, rcx
ja 0x140094c6e
cmp rdi, r9
jae 0x140094ce5
mov ecx, r11d
and ecx, 0xfffffff8
nop dword [rax]
nop dword [rax + rax]
movdqu xmm0, xmmword [r8]
add ebx, 8
movdqu xmm1, xmmword [r9]
xorps xmm1, xmm0
movdqu xmm0, xmmword [r8 + 0x10]
movdqu xmmword [rax], xmm1
movdqu xmm1, xmmword [r9 + 0x10]
xorps xmm1, xmm0
movdqu xmm0, xmmword [r8 + 0x20]
movdqu xmmword [rax + 0x10], xmm1
movdqu xmm1, xmmword [r9 + 0x20]
xorps xmm1, xmm0
movdqu xmm0, xmmword [r8 + 0x30]
add r8, 0x40
movdqu xmmword [rax + 0x20], xmm1
movdqu xmm1, xmmword [r9 + 0x30]
add r9, 0x40
xorps xmm1, xmm0
movdqu xmmword [rax + 0x30], xmm1
add rax, 0x40
cmp ebx, ecx
jb 0x140094c80
cmp ebx, r11d
jae 0x140094d0b
sub r11d, ebx
mov edx, r11d
nop dword [rax + rax]
mov rcx, qword [r9]
add r9, 8
xor rcx, qword [r8]
add r8, 8
mov qword [rax], rcx
add rax, 8
sub rdx, 1
jne 0x140094cf0
and r10d, 7
xor r11d, r11d
test r10d, r10d
je 0x140094da4
cmp r10d, 8
jb 0x140094d73
lea ecx, [r10 - 1]
mov edx, ecx
lea rbx, [rcx + rax]
add rcx, r8
cmp rax, rcx
ja 0x140094d38
cmp rbx, r8
jae 0x140094d73
lea rcx, [rdx + r9]
cmp rax, rcx
ja 0x140094d46
cmp rbx, r9
jae 0x140094d73
mov edx, r10d
and edx, 0xfffffff8
nop dword [rax]
movq xmm1, qword [r11 + r9]
movq xmm0, qword [r11 + r8]
xorps xmm1, xmm0
movq qword [r11 + rax], xmm1
add r11d, 8
cmp r11d, edx
jb 0x140094d50
cmp r11d, r10d
jae 0x140094da4
sub r9, r8
mov edx, r11d
add rdx, r8
sub rax, r8
sub r10d, r11d
mov r8d, r10d
nop word [rax + rax]
movzx ecx, byte [r9 + rdx]
xor cl, byte [rdx]
mov byte [rax + rdx], cl
lea rdx, [rdx + 1]
sub r8, 1
jne 0x140094d90
add r12, 0x10
add rsi, 0x10
test r14d, r14d
jne 0x140094ba2
mov ebx, dword [rbp - 0x71]
mov r14, qword [rbp - 0x69]
jmp 0x140094dc1
mov r14, r12
mov edi, dword [rbp - 0x61]
test edi, edi
je 0x140094dff
add byte [rbp + r15 - 0x41], 1
jne 0x140094dd9
dec r15
cmp r15, 0xc
jge 0x140094dc8
lea r8, [rbp - 0x31]
mov rcx, r13
lea rdx, [rbp - 0x41]
call fcn.1400969a0
test eax, eax
jne 0x140094e6b
mov r9d, edi
lea rdx, [rbp - 0x31]
mov r8, r12
mov rcx, rsi
call fcn.140099460
mov rsi, qword [rbp - 0x59]
test rsi, rsi
je 0x140094e69
mov edi, dword [rbp + 0x87]
mov rcx, r13
mov r9, qword [rbp - 0x51]
mov rdx, qword [rbp - 0x49]
mov dword [rsp + 0x30], edi
mov qword [rsp + 0x28], rsi
mov dword [rsp + 0x20], ebx
mov ebx, dword [rbp + 0x97]
mov r8d, ebx
call fcn.1400950d0
lea r8, [rbp - 0x31]
mov rcx, r13
lea rdx, [rbp - 0x21]
call fcn.1400969a0
test eax, eax
jne 0x140094e6b
mov r8d, edi
lea rdx, [rbp - 0x31]
mov rcx, rsi
call fcn.140099240
test r14, r14
jne 0x140094e69
cmp dword [rbp - 0x71], r14d
jne 0x140094e69
mov dword [r13 + 0x150], ebx
xor eax, eax
mov rcx, qword [rbp - 0x11]
xor rcx, rsp
call fcn.1400b5880
add rsp, 0xb8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
push rbx
sub rsp, 0x60
mov rbx, r8
test rcx, rcx
je 0x140097b90
mov r10d, dword [rsp + 0xa8]
cmp r10d, 0x10
ja 0x140097b90
mov r11d, dword [rsp + 0x98]
test r11d, r11d
je 0x140097b90
cmp r10d, 0xc
jb 0x140097b90
cmp dword [0x140be6b1c], 0
je 0x140097b76
mov eax, dword [rcx + 0xf0]
mov r8, qword [rsp + 0xb0]
mov dword [rsp + 0x50], eax
mov eax, dword [rsp + 0xb8]
mov qword [rsp + 0x48], rcx
mov rcx, rbx
mov dword [rsp + 0x40], r10d
mov dword [rsp + 0x38], r11d
mov dword [rsp + 0x30], eax
mov rax, qword [rsp + 0xa0]
mov dword [rsp + 0x28], r9d
mov r9, qword [rsp + 0x90]
mov qword [rsp + 0x20], rax
call fcn.1400a3030
xor eax, eax
add rsp, 0x60
pop rbx
ret
mov dword [rsp + 0xa8], r10d
mov dword [rsp + 0x98], r11d
add rsp, 0x60
pop rbx
jmp 0x140094a50
mov eax, 0xffffff53
add rsp, 0x60
pop rbx
ret