Function at 0x1400242f0
Capabilities:
Encode data using xor
Encrypt data using aes via x86 extensions

Disassembly:
push rbp
push rbx
push rsi
push rdi
lea rbp, [rsp - 0x278]
sub rsp, 0x378
mov rax, qword [0x140073040]
xor rax, rsp
mov qword [rbp + 0x250], rax
mov qword [rsp + 0x20], rcx
mov rdi, r8
mov rbx, rdx
mov rsi, rcx
cmp r8, 0x180
jbe 0x140024336
mov eax, 0xffffffc8
jmp 0x140024731
xor edx, edx
lea rcx, [rbp + 0xb0]
mov r8d, 0x1a0
call fcn.140050d90
xor edx, edx
lea rcx, [rsp + 0x30]
mov r8d, 0x120
call fcn.140050d90
mov eax, edi
mov byte [rbp + 0xc7], 0x30
bswap eax
mov r8, rdi
mov dword [rbp + 0xc0], eax
mov rdx, rbx
lea rcx, [rbp + 0xc8]
call fcn.140051150
mov byte [rbp + rdi + 0xc8], 0x80
lea rcx, [rbp + 0x90]
add rdi, 0x19
mov qword [rsp + 0x28], rdi
xor eax, eax
nop dword [rax]
mov byte [rcx], al
lea rcx, [rcx + 1]
inc eax
cmp eax, 0x20
jl 0x1400243a0
mov r8d, pe_nt_image_headers64
lea rdx, [rbp + 0x90]
lea rcx, [rsp + 0x30]
call fcn.14001f8a0
mov edx, eax
mov r8d, 0x10
test eax, eax
jne 0x1400246e3
mov qword [rsp + 0x3b8], r12
xor r12d, r12d
mov qword [rsp + 0x370], r13
movzx r13d, byte [rbp + 0xb3]
mov qword [rsp + 0x368], r14
mov qword [rsp + 0x360], r15
nop
lea r14, [rbp + 0xb0]
xorps xmm0, xmm0
mov rsi, rdi
movups xmmword [rbp + 0x50], xmm0
test rdi, rdi
je 0x14002457a
lea rbx, [rbp + 0xb0]
lea rax, [rbp + 0x50]
sub rbx, rax
lea r15, [rbp + 0xbf]
nop
xor eax, eax
lea rcx, [rbp + 0x50]
cmp rcx, r15
ja 0x140024468
lea rcx, [rbp + 0x5f]
cmp rcx, r14
jb 0x140024468
nop dword [rax]
nop dword [rax + rax]
lea rdx, [rbp + 0x50]
add rdx, rax
inc rax
movzx ecx, byte [rbx + rdx]
xor byte [rdx], cl
cmp rax, 0x10
jb 0x140024450
jmp 0x14002447a
movdqu xmm1, xmmword [rbp + 0x50]
movdqu xmm0, xmmword [r14]
xorps xmm1, xmm0
movdqu xmmword [rbp + 0x50], xmm1
mov rax, rsi
add r14, 0x10
add r15, 0x10
add rbx, 0x10
cmp rsi, 0x10
mov ecx, 0x2000000
cmovae rax, r8
sub rsi, rax
call fcn.140016f70
test eax, eax
je 0x1400244b9
lea rcx, [rsp + 0x40]
shr rcx, 2
and ecx, 3
je 0x1400244b9
mov eax, 4
sub eax, ecx
jmp 0x1400244bb
xor eax, eax
mov rcx, qword [rsp + 0x38]
mov edi, eax
cmp rdi, rcx
je 0x1400244ef
mov eax, dword [rsp + 0x30]
lea rdx, [rsp + 0x40]
lea rdx, [rdx + rcx*4]
inc eax
shl eax, 4
lea rcx, [rsp + 0x40]
movsxd r8, eax
lea rcx, [rcx + rdi*4]
call fcn.140051150
mov qword [rsp + 0x38], rdi
mov ecx, 0x2000000
call fcn.140016f70
test eax, eax
je 0x14002454a
mov rax, qword [rsp + 0x38]
lea rcx, [rsp + 0x40]
movdqu xmm1, xmmword [rcx + rax*4]
lea rcx, [rcx + rax*4]
movdqu xmm0, xmmword [rbp + 0x50]
mov eax, dword [rsp + 0x30]
add rcx, 0x10
xorps xmm1, xmm0
sub eax, 1
je 0x14002453e
nop word [rax + rax]
aesenc xmm1, xmmword [rcx]
add rcx, 0x10
add eax, 0xffffffff
jne 0x140024530
aesenclast xmm1, xmmword [rcx]
movdqu xmmword [rbp + 0x50], xmm1
jmp 0x140024566
lea r8, [rbp + 0x50]
lea rdx, [rbp + 0x50]
lea rcx, [rsp + 0x30]
call fcn.140020590
mov edx, eax
test eax, eax
jne 0x1400246b8
mov r8d, 0x10
test rsi, rsi
jne 0x140024430
mov rdi, qword [rsp + 0x28]
movups xmm0, xmmword [rbp + 0x50]
inc r13b
mov byte [rbp + 0xb3], r13b
movups xmmword [rbp + r12 + 0x60], xmm0
add r12, 0x10
cmp r12, 0x30
jl 0x140024400
mov r8d, pe_nt_image_headers64
lea rdx, [rbp + 0x60]
lea rcx, [rsp + 0x30]
call fcn.14001f8a0
mov edx, eax
test eax, eax
jne 0x1400246b8
mov rbx, qword [rsp + 0x20]
xor esi, esi
mov ecx, 0x2000000
call fcn.140016f70
test eax, eax
je 0x1400245e6
lea rcx, [rsp + 0x40]
shr rcx, 2
and ecx, 3
je 0x1400245e6
mov eax, 4
sub eax, ecx
jmp 0x1400245e8
xor eax, eax
mov rcx, qword [rsp + 0x38]
mov edi, eax
cmp rdi, rcx
je 0x14002461c
mov eax, dword [rsp + 0x30]
lea rdx, [rsp + 0x40]
lea rdx, [rdx + rcx*4]
inc eax
shl eax, 4
lea rcx, [rsp + 0x40]
movsxd r8, eax
lea rcx, [rcx + rdi*4]
call fcn.140051150
mov qword [rsp + 0x38], rdi
mov ecx, 0x2000000
call fcn.140016f70
test eax, eax
je 0x14002467f
mov rax, qword [rsp + 0x38]
lea rcx, [rsp + 0x40]
movdqu xmm1, xmmword [rcx + rax*4]
lea rcx, [rcx + rax*4]
movdqu xmm0, xmmword [rbp + 0x80]
mov eax, dword [rsp + 0x30]
add rcx, 0x10
xorps xmm1, xmm0
sub eax, 1
je 0x14002466e
nop word [rax + rax]
aesenc xmm1, xmmword [rcx]
add rcx, 0x10
add eax, 0xffffffff
jne 0x140024660
aesenclast xmm1, xmmword [rcx]
movdqu xmmword [rbp + 0x80], xmm1
xor edx, edx
jmp 0x1400246a5
lea r8, [rbp + 0x80]
lea rdx, [rbp + 0x80]
lea rcx, [rsp + 0x30]
call fcn.140020590
mov edx, eax
test eax, eax
jne 0x1400246b8
movdqu xmm1, xmmword [rbp + 0x80]
movups xmmword [rbx], xmm1
add rbx, 0x10
add esi, 0x10
cmp esi, 0x30
jl 0x1400245c1
mov rsi, qword [rsp + 0x20]
mov r8d, 0x10
mov r14, qword [rsp + 0x368]
mov r13, qword [rsp + 0x370]
mov r12, qword [rsp + 0x3b8]
mov r15, qword [rsp + 0x360]
xor eax, eax
lea rdi, [rsp + 0x30]
mov ecx, 0x120
rep stosb byte [rdi], al
lea rdi, [rbp + 0xb0]
mov ecx, 0x1a0
rep stosb byte [rdi], al
lea rdi, [rbp + 0x60]
mov ecx, 0x30
rep stosb byte [rdi], al
lea rdi, [rbp + 0x90]
mov ecx, 0x20
rep stosb byte [rdi], al
lea rdi, [rbp + 0x50]
mov rcx, r8
rep stosb byte [rdi], al
test edx, edx
je 0x14002472f
mov rdi, rsi
mov ecx, 0x30
rep stosb byte [rdi], al
mov eax, edx
mov rcx, qword [rbp + 0x250]
xor rcx, rsp
call fcn.14002c2f0
add rsp, 0x378
pop rdi
pop rsi
pop rbx
pop rbp
ret