Function at 0x140146850
Capabilities:
Encrypt data using aes
Inspect section memory permissions
Resolve function by parsing pe exports

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
mov rax, rcx
mov ebx, edx
test rcx, rcx
je 0x1401472a1
test r8, r8
je 0x1401472a1
and edx, 0xffffffbf
cmp edx, 0x80
jne 0x140146a30
mov edx, 0xc
cmp ebx, 0x80
je 0x140146e60
mov dword [r8 + 0xf0], edx
mov r11d, dword [rax]
bswap r11d
mov dword [r8], r11d
mov r9d, dword [rax + 4]
bswap r9d
mov dword [r8 + 4], r9d
mov r10d, dword [rax + 8]
bswap r10d
mov dword [r8 + 8], r10d
mov edx, dword [rax + 0xc]
bswap edx
mov dword [r8 + 0xc], edx
mov ecx, dword [rax + 0x10]
bswap ecx
mov dword [r8 + 0x10], ecx
mov ebp, dword [rax + 0x14]
mov ecx, ebp
bswap ecx
mov dword [r8 + 0x14], ecx
cmp ebx, 0xc0
je 0x140146a50
mov ecx, dword [rax + 0x18]
lea rsi, [0x1402b62a0]
add r8, 0x20
lea r14, [0x1402b7fe0]
lea r15, [rsi + 0x1c]
lea r13, [0x1402b7be0]
bswap ecx
mov dword [r8 - 8], ecx
mov eax, dword [rax + 0x1c]
lea r12, [0x1402b73e0]
lea rbp, [0x1402b77e0]
bswap eax
mov dword [r8 - 4], eax
jmp 0x140146997
mov eax, edx
movzx ebx, dh
movzx edi, dl
shr eax, 0x10
mov ebx, dword [r14 + rbx*4]
movzx edi, byte [r13 + rdi*4]
movzx eax, al
mov eax, dword [r12 + rax*4]
and ebx, 0xff00
and eax, 0xff0000
or eax, ebx
mov ebx, edx
xor eax, dword [r8 - 0x30]
shr ebx, 0x18
mov ebx, dword [rbp + rbx*4]
and ebx, 0xff000000
or ebx, edi
mov edi, dword [r8 - 0x2c]
xor eax, ebx
mov ebx, dword [r8 - 0x28]
xor edi, eax
movd xmm0, eax
xor ebx, edi
movd xmm5, edi
xor ecx, ebx
movd xmm1, ebx
punpckldq xmm0, xmm5
movd xmm4, ecx
punpckldq xmm1, xmm4
punpcklqdq xmm0, xmm1
movups xmmword [r8 - 0x10], xmm0
mov ecx, dword [r8 - 4]
add rsi, 4
add r8, 0x20
movzx eax, cl
mov ebx, dword [r14 + rax*4]
mov eax, ecx
shr eax, 0x18
movzx eax, byte [r13 + rax*4]
and ebx, 0xff00
or ebx, eax
mov eax, ecx
xor ebx, dword [rsi - 4]
shr eax, 0x10
movzx eax, al
mov eax, dword [rbp + rax*4]
and eax, 0xff000000
xor eax, ebx
movzx ebx, ch
mov ebx, dword [r12 + rbx*4]
and ebx, 0xff0000
xor eax, ebx
xor r11d, eax
xor r9d, r11d
movd xmm0, r11d
xor r10d, r9d
movd xmm3, r9d
xor edx, r10d
movd xmm1, r10d
punpckldq xmm0, xmm3
movd xmm2, edx
punpckldq xmm1, xmm2
punpcklqdq xmm0, xmm1
movups xmmword [r8 - 0x20], xmm0
cmp rsi, r15
jne 0x140146928
xor eax, eax
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
cmp ebx, 0x100
jne 0x1401472ab
mov edx, 0xe
jmp 0x140146893
mov eax, ebp
lea rsi, [0x1402b7fe0]
lea r15, [0x1402b7be0]
shr eax, 0x18
lea rdi, [0x1402b73e0]
lea r11, [0x1402b77e0]
mov r12d, dword [rsi + rax*4]
movzx eax, bpl
movzx eax, byte [r15 + rax*4]
and r12d, 0xff00
or r12d, eax
mov eax, ebp
shr eax, 0x10
movzx eax, al
mov eax, dword [rdi + rax*4]
and eax, 0xff0000
xor r12d, eax
mov eax, ebp
xor r12d, dword [r8]
movzx ebp, ah
mov eax, dword [r11 + rbp*4]
mov ebp, dword [r8 + 0x10]
and eax, 0xff000000
xor r12d, eax
mov eax, r10d
xor r12d, 0x1000000
xor r9d, r12d
mov dword [r8 + 0x18], r12d
xor eax, r9d
mov dword [r8 + 0x1c], r9d
xor edx, eax
mov dword [r8 + 0x20], eax
xor ebp, edx
mov r13d, edx
mov dword [r8 + 0x24], edx
xor ecx, ebp
mov dword [r8 + 0x28], ebp
movzx eax, ch
mov dword [r8 + 0x2c], ecx
mov eax, dword [rdi + rax*4]
and eax, 0xff0000
xor eax, r12d
movzx r12d, cl
mov r12d, dword [rsi + r12*4]
and r12d, 0xff00
xor eax, r12d
mov r12d, ecx
shr r12d, 0x18
movzx r12d, byte [r15 + r12*4]
xor eax, r12d
mov r12d, ecx
shr r12d, 0x10
movzx r12d, r12b
mov r12d, dword [r11 + r12*4]
and r12d, 0xff000000
xor eax, r12d
xor eax, 0x2000000
xor r10d, eax
xor r9d, eax
mov dword [r8 + 0x30], eax
xor r13d, r10d
mov dword [r8 + 0x34], r9d
mov dword [r8 + 0x3c], r13d
xor r13d, ebp
mov ebp, ecx
xor ebp, r13d
mov dword [r8 + 0x38], r10d
mov ebx, ebp
mov dword [r8 + 0x44], ebp
movzx ebx, bh
mov dword [r8 + 0x40], r13d
mov r14d, dword [rdi + rbx*4]
and r14d, 0xff0000
xor r14d, eax
movzx eax, bpl
mov eax, dword [rsi + rax*4]
and eax, 0xff00
xor r14d, eax
mov eax, ebp
shr ebp, 0x10
shr eax, 0x18
movzx ebp, bpl
movzx eax, byte [r15 + rax*4]
xor r14d, eax
mov eax, dword [r11 + rbp*4]
mov ebp, ecx
and eax, 0xff000000
xor r14d, eax
mov eax, r9d
mov r9d, r10d
xor r14d, 0x4000000
xor eax, r14d
mov dword [r8 + 0x48], r14d
xor edx, eax
xor r9d, eax
mov dword [r8 + 0x4c], eax
xor ebp, edx
mov dword [r8 + 0x50], r9d
mov r9d, r13d
mov ebx, ebp
xor r9d, edx
mov dword [r8 + 0x54], edx
movzx ebx, bh
mov dword [r8 + 0x58], r9d
movzx r9d, bpl
mov dword [r8 + 0x5c], ebp
mov r12d, dword [rdi + rbx*4]
mov r9d, dword [rsi + r9*4]
and r12d, 0xff0000
xor r12d, r14d
and r9d, 0xff00
mov r14d, r13d
xor r12d, r9d
mov r9d, ebp
shr r9d, 0x18
movzx r9d, byte [r15 + r9*4]
xor r12d, r9d
mov r9d, ebp
shr r9d, 0x10
movzx r9d, r9b
mov r9d, dword [r11 + r9*4]
and r9d, 0xff000000
xor r12d, r9d
mov r9d, edx
xor r12d, 0x8000000
xor r10d, r12d
xor eax, r12d
mov dword [r8 + 0x60], r12d
xor r14d, r10d
xor r9d, r10d
mov dword [r8 + 0x64], eax
xor ebp, r14d
mov dword [r8 + 0x6c], r9d
mov ebx, ebp
mov dword [r8 + 0x74], ebp
movzx ebx, bh
mov dword [r8 + 0x68], r10d
mov r9d, dword [rdi + rbx*4]
mov dword [r8 + 0x70], r14d
and r9d, 0xff0000
xor r9d, r12d
movzx r12d, bpl
mov r12d, dword [rsi + r12*4]
and r12d, 0xff00
xor r9d, r12d
mov r12d, ebp
shr r12d, 0x18
shr ebp, 0x10
movzx ebp, bpl
movzx r12d, byte [r15 + r12*4]
mov ebp, dword [r11 + rbp*4]
xor r9d, r12d
and ebp, 0xff000000
xor ebp, r9d
mov r9d, r10d
xor ebp, 0x10000000
xor eax, ebp
mov dword [r8 + 0x78], ebp
xor ecx, eax
xor r9d, eax
xor edx, eax
mov dword [r8 + 0x7c], eax
movzx ebx, ch
mov dword [r8 + 0x80], r9d
mov r12d, ecx
xor r14d, edx
mov r9d, dword [rdi + rbx*4]
mov dword [r8 + 0x84], edx
mov dword [r8 + 0x8c], ecx
and r9d, 0xff0000
mov dword [r8 + 0x88], r14d
xor r9d, ebp
movzx ebp, cl
mov ebp, dword [rsi + rbp*4]
and ebp, 0xff00
xor r9d, ebp
mov ebp, ecx
shr ebp, 0x18
movzx ebp, byte [r15 + rbp*4]
xor r9d, ebp
mov ebp, ecx
shr ebp, 0x10
movzx ebp, bpl
mov ebp, dword [r11 + rbp*4]
and ebp, 0xff000000
xor r9d, ebp
mov ebp, edx
xor r9d, 0x20000000
xor r13d, r9d
xor r10d, r9d
xor eax, r9d
mov dword [r8 + 0x90], r9d
xor r12d, r13d
xor ebp, r10d
mov dword [r8 + 0x94], eax
mov ebx, r12d
mov dword [r8 + 0x9c], ebp
movzx ebp, bh
mov dword [r8 + 0xa0], r13d
mov ebp, dword [rdi + rbp*4]
mov dword [r8 + 0x98], r10d
mov dword [r8 + 0xa4], r12d
and ebp, 0xff0000
xor ebp, r9d
movzx r9d, r12b
mov r9d, dword [rsi + r9*4]
and r9d, 0xff00
xor ebp, r9d
mov r9d, r12d
shr r9d, 0x18
movzx r9d, byte [r15 + r9*4]
xor ebp, r9d
mov r9d, r12d
shr r9d, 0x10
movzx r9d, r9b
mov r9d, dword [r11 + r9*4]
and r9d, 0xff000000
xor ebp, r9d
mov r9d, r10d
xor ebp, 0x40000000
xor eax, ebp
mov dword [r8 + 0xa8], ebp
xor edx, eax
xor r9d, eax
mov dword [r8 + 0xac], eax
xor ecx, edx
mov dword [r8 + 0xb0], r9d
xor r13d, edx
mov r9d, ecx
mov dword [r8 + 0xbc], ecx
movzx ecx, ch
mov ecx, dword [rdi + rcx*4]
movzx edi, r9b
mov dword [r8 + 0xb4], edx
mov esi, dword [rsi + rdi*4]
mov dword [r8 + 0xb8], r13d
and ecx, 0xff0000
and esi, 0xff00
xor ecx, ebp
xor ecx, esi
mov esi, r9d
shr r9d, 0x10
shr esi, 0x18
movzx r9d, r9b
movzx ebx, byte [r15 + rsi*4]
mov r9d, dword [r11 + r9*4]
xor ecx, ebx
and r9d, 0xff000000
xor ecx, r9d
add ecx, 0x80000000
xor eax, ecx
mov dword [r8 + 0xc0], ecx
xor ecx, r10d
mov dword [r8 + 0xc8], ecx
xor ecx, edx
mov dword [r8 + 0xc4], eax
mov dword [r8 + 0xcc], ecx
jmp 0x140146a1b
lea rbx, [0x1402b7fe0]
lea r11, [0x1402b7be0]
mov dword [r8 + 0xf0], 0xa
mov edx, dword [rcx]
lea rsi, [0x1402b73e0]
bswap edx
mov dword [r8], edx
mov edx, dword [rcx + 4]
bswap edx
mov dword [r8 + 4], edx
mov r9d, dword [rcx + 8]
bswap r9d
mov dword [r8 + 8], r9d
mov eax, dword [rcx + 0xc]
mov r10d, eax
mov ecx, eax
shr r10d, 0x18
bswap ecx
mov dword [r8 + 0xc], ecx
mov edi, dword [rbx + r10*4]
movzx r10d, al
movzx r10d, byte [r11 + r10*4]
and edi, 0xff00
or edi, r10d
mov r10d, eax
movzx eax, ah
shr r10d, 0x10
movzx r10d, r10b
mov r10d, dword [rsi + r10*4]
and r10d, 0xff0000
xor edi, r10d
lea r10, [0x1402b77e0]
xor edi, dword [r8]
mov eax, dword [r10 + rax*4]
and eax, 0xff000000
xor edi, eax
mov eax, edx
mov edx, r9d
xor edi, 0x1000000
xor eax, edi
mov dword [r8 + 0x10], edi
xor edx, eax
mov dword [r8 + 0x14], eax
mov dword [r8 + 0x18], edx
xor edx, ecx
movzx ecx, dh
mov ebp, edx
mov dword [r8 + 0x1c], edx
mov ecx, dword [rsi + rcx*4]
and ecx, 0xff0000
xor ecx, edi
movzx edi, dl
mov edi, dword [rbx + rdi*4]
and edi, 0xff00
xor ecx, edi
mov edi, edx
shr edi, 0x18
movzx edi, byte [r11 + rdi*4]
xor ecx, edi
mov edi, edx
shr edi, 0x10
movzx edi, dil
mov edi, dword [r10 + rdi*4]
and edi, 0xff000000
xor ecx, edi
xor ecx, 0x2000000
xor r9d, ecx
xor eax, ecx
mov dword [r8 + 0x20], ecx
xor ebp, r9d
mov r15d, eax
mov dword [r8 + 0x24], eax
mov eax, ebp
mov dword [r8 + 0x28], r9d
movzx edi, ah
mov eax, r15d
mov dword [r8 + 0x2c], ebp
mov edi, dword [rsi + rdi*4]
and edi, 0xff0000
xor edi, ecx
movzx ecx, bpl
mov ecx, dword [rbx + rcx*4]
and ecx, 0xff00
xor edi, ecx
mov ecx, ebp
shr ecx, 0x18
movzx ecx, byte [r11 + rcx*4]
xor edi, ecx
mov ecx, ebp
shr ecx, 0x10
movzx ecx, cl
mov ecx, dword [r10 + rcx*4]
and ecx, 0xff000000
xor edi, ecx
xor edi, 0x4000000
xor eax, edi
mov dword [r8 + 0x30], edi
mov ecx, eax
xor edx, eax
mov dword [r8 + 0x34], eax
xor ecx, r9d
mov dword [r8 + 0x38], ecx
movzx ecx, dh
mov ecx, dword [rsi + rcx*4]
mov dword [r8 + 0x3c], edx
and ecx, 0xff0000
xor ecx, edi
movzx edi, dl
mov edi, dword [rbx + rdi*4]
and edi, 0xff00
xor ecx, edi
mov edi, edx
shr edi, 0x18
movzx edi, byte [r11 + rdi*4]
xor ecx, edi
mov edi, edx
shr edi, 0x10
movzx edi, dil
mov edi, dword [r10 + rdi*4]
and edi, 0xff000000
xor ecx, edi
xor ecx, 0x8000000
xor r9d, ecx
xor eax, ecx
mov dword [r8 + 0x40], ecx
mov ebp, r9d
mov r15d, eax
mov dword [r8 + 0x44], eax
xor ebp, edx
mov dword [r8 + 0x48], r9d
mov eax, ebp
mov dword [r8 + 0x4c], ebp
movzx edi, ah
mov eax, r15d
mov edi, dword [rsi + rdi*4]
and edi, 0xff0000
xor edi, ecx
movzx ecx, bpl
mov ecx, dword [rbx + rcx*4]
and ecx, 0xff00
xor edi, ecx
mov ecx, ebp
shr ecx, 0x18
movzx ecx, byte [r11 + rcx*4]
xor edi, ecx
mov ecx, ebp
shr ecx, 0x10
movzx ecx, cl
mov ecx, dword [r10 + rcx*4]
and ecx, 0xff000000
xor edi, ecx
xor edi, 0x10000000
xor eax, edi
mov dword [r8 + 0x50], edi
mov ecx, eax
mov dword [r8 + 0x54], eax
xor ecx, r9d
xor edx, eax
mov dword [r8 + 0x58], ecx
movzx ecx, dh
mov ecx, dword [rsi + rcx*4]
mov dword [r8 + 0x5c], edx
and ecx, 0xff0000
xor ecx, edi
movzx edi, dl
mov edi, dword [rbx + rdi*4]
and edi, 0xff00
xor ecx, edi
mov edi, edx
shr edi, 0x18
movzx edi, byte [r11 + rdi*4]
xor ecx, edi
mov edi, edx
shr edi, 0x10
movzx edi, dil
mov edi, dword [r10 + rdi*4]
and edi, 0xff000000
xor ecx, edi
xor ecx, 0x20000000
xor r9d, ecx
xor eax, ecx
mov dword [r8 + 0x60], ecx
mov ebp, r9d
mov r15d, eax
mov dword [r8 + 0x64], eax
xor ebp, edx
mov dword [r8 + 0x68], r9d
mov eax, ebp
mov dword [r8 + 0x6c], ebp
movzx edi, ah
mov eax, r15d
mov edi, dword [rsi + rdi*4]
and edi, 0xff0000
xor edi, ecx
movzx ecx, bpl
mov ecx, dword [rbx + rcx*4]
and ecx, 0xff00
xor edi, ecx
mov ecx, ebp
shr ecx, 0x18
movzx ecx, byte [r11 + rcx*4]
xor edi, ecx
mov ecx, ebp
shr ecx, 0x10
movzx ecx, cl
mov ecx, dword [r10 + rcx*4]
and ecx, 0xff000000
xor edi, ecx
xor edi, 0x40000000
xor eax, edi
mov dword [r8 + 0x70], edi
mov ecx, eax
xor edx, eax
mov dword [r8 + 0x74], eax
xor ecx, r9d
mov ebp, edx
mov dword [r8 + 0x78], ecx
movzx ecx, dh
mov dword [r8 + 0x7c], edx
mov ecx, dword [rsi + rcx*4]
and ecx, 0xff0000
xor ecx, edi
movzx edi, dl
mov edi, dword [rbx + rdi*4]
and edi, 0xff00
xor ecx, edi
mov edi, edx
shr edi, 0x18
movzx edi, byte [r11 + rdi*4]
xor ecx, edi
mov edi, edx
shr edi, 0x10
movzx edi, dil
mov edi, dword [r10 + rdi*4]
and edi, 0xff000000
xor ecx, edi
add ecx, 0x80000000
xor r9d, ecx
xor eax, ecx
mov dword [r8 + 0x80], ecx
xor ebp, r9d
mov r15d, eax
mov dword [r8 + 0x84], eax
mov eax, ebp
mov dword [r8 + 0x88], r9d
movzx edi, ah
mov eax, r15d
mov dword [r8 + 0x8c], ebp
mov edi, dword [rsi + rdi*4]
and edi, 0xff0000
xor edi, ecx
movzx ecx, bpl
mov ecx, dword [rbx + rcx*4]
and ecx, 0xff00
xor edi, ecx
mov ecx, ebp
shr ecx, 0x18
movzx ecx, byte [r11 + rcx*4]
xor edi, ecx
mov ecx, ebp
shr ecx, 0x10
movzx ecx, cl
mov ecx, dword [r10 + rcx*4]
and ecx, 0xff000000
xor edi, ecx
xor edi, 0x1b000000
xor eax, edi
mov dword [r8 + 0x90], edi
mov ecx, eax
xor edx, eax
mov dword [r8 + 0x94], eax
xor ecx, r9d
mov dword [r8 + 0x9c], edx
mov dword [r8 + 0x98], ecx
movzx ecx, dh
mov ecx, dword [rsi + rcx*4]
movzx esi, dl
mov ebx, dword [rbx + rsi*4]
and ecx, 0xff0000
and ebx, 0xff00
xor ecx, edi
xor ecx, ebx
mov ebx, edx
shr ebx, 0x18
movzx r11d, byte [r11 + rbx*4]
xor ecx, r11d
mov r11d, edx
shr r11d, 0x10
movzx r11d, r11b
mov r10d, dword [r10 + r11*4]
and r10d, 0xff000000
xor ecx, r10d
xor ecx, 0x36000000
xor eax, ecx
mov dword [r8 + 0xa0], ecx
xor ecx, r9d
mov dword [r8 + 0xa8], ecx
xor ecx, edx
mov dword [r8 + 0xa4], eax
mov dword [r8 + 0xac], ecx
jmp 0x140146a1b
mov eax, 0xffffffff
jmp 0x140146a1d
mov eax, 0xfffffffe
jmp 0x140146a1d