Function at 0x140025b80
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 rsi
push rdi
push rbp
push rbx
sub rsp, 0x68
mov word [rsp + 0x26], r8w
movzx ebx, r8w
cmp ebx, 0x80
je 0x140025bba
cmp ebx, 0xc0
je 0x140025bbe
cmp ebx, 0x100
jne 0x1400265e7
mov al, 0xe
jmp 0x140025bc0
mov al, 0xa
jmp 0x140025bc0
mov al, 0xc
mov byte [r9 + 0xf0], al
mov edi, dword [rcx]
bswap edi
mov dword [r9], edi
mov r8d, dword [rcx + 4]
bswap r8d
mov dword [r9 + 4], r8d
mov eax, dword [rcx + 8]
bswap eax
mov dword [r9 + 8], eax
mov esi, dword [rcx + 0xc]
bswap esi
mov dword [r9 + 0xc], esi
cmp ebx, 0x80
jne 0x140025ffb
mov ebx, esi
mov rcx, rbx
shr rcx, 0xe
and ecx, 0x3fc
lea r10, [0x14004d828]
movzx ecx, byte [rcx + r10 + 3]
shl ecx, 0x18
xor ecx, edi
movzx edx, bh
lea r14, [0x14004dc28]
movzx edx, byte [r14 + rdx*4 + 2]
shl edx, 0x10
movzx edi, bl
lea r11, [0x14004e028]
movzx ebp, byte [r11 + rdi*4 + 1]
shl ebp, 8
xor ebp, edx
shr rbx, 0x18
lea r15, [0x14004e428]
movzx edi, byte [r15 + rbx*4]
xor edi, ebp
xor edi, ecx
xor edi, 0x1000000
mov dword [r9 + 0x10], edi
xor r8d, edi
mov dword [r9 + 0x14], r8d
mov edx, eax
xor edx, r8d
mov dword [r9 + 0x18], edx
xor edx, esi
mov dword [r9 + 0x1c], edx
mov rcx, rdx
shr rcx, 0xe
and ecx, 0x3fc
movzx ecx, byte [rcx + r10 + 3]
shl ecx, 0x18
movzx esi, dh
movzx ebp, byte [r14 + rsi*4 + 2]
shl ebp, 0x10
xor ebp, edi
xor ebp, ecx
movzx ecx, dl
movzx ecx, byte [r11 + rcx*4 + 1]
shl ecx, 8
mov rbx, rdx
shr rbx, 0x18
movzx esi, byte [r15 + rbx*4]
xor esi, ecx
xor esi, ebp
xor esi, 0x2000000
mov dword [r9 + 0x20], esi
xor r8d, esi
mov dword [r9 + 0x24], r8d
xor eax, esi
mov dword [r9 + 0x28], eax
mov ecx, eax
xor ecx, edx
mov dword [r9 + 0x2c], ecx
mov rdi, rcx
shr rdi, 0xe
and edi, 0x3fc
movzx edi, byte [rdi + r10 + 3]
shl edi, 0x18
movzx ebx, ch
movzx ebx, byte [r14 + rbx*4 + 2]
shl ebx, 0x10
xor ebx, esi
xor ebx, edi
movzx esi, cl
movzx edi, byte [r11 + rsi*4 + 1]
shl edi, 8
shr rcx, 0x18
movzx esi, byte [r15 + rcx*4]
xor esi, edi
xor esi, ebx
xor esi, 0x4000000
mov dword [r9 + 0x30], esi
xor r8d, esi
mov dword [r9 + 0x34], r8d
xor eax, r8d
mov dword [r9 + 0x38], eax
xor edx, r8d
mov dword [r9 + 0x3c], edx
mov rcx, rdx
shr rcx, 0xe
and ecx, 0x3fc
movzx ecx, byte [rcx + r10 + 3]
shl ecx, 0x18
movzx edi, dh
movzx edi, byte [r14 + rdi*4 + 2]
shl edi, 0x10
xor edi, esi
xor edi, ecx
movzx ecx, dl
movzx ecx, byte [r11 + rcx*4 + 1]
shl ecx, 8
mov rbx, rdx
shr rbx, 0x18
movzx esi, byte [r15 + rbx*4]
xor esi, ecx
xor esi, edi
xor esi, 0x8000000
mov dword [r9 + 0x40], esi
xor r8d, esi
mov dword [r9 + 0x44], r8d
xor eax, r8d
mov dword [r9 + 0x48], eax
xor edx, eax
mov dword [r9 + 0x4c], edx
mov rcx, rdx
shr rcx, 0xe
and ecx, 0x3fc
movzx ecx, byte [rcx + r10 + 3]
shl ecx, 0x18
movzx edi, dh
movzx edi, byte [r14 + rdi*4 + 2]
shl edi, 0x10
xor edi, esi
xor edi, ecx
movzx ecx, dl
movzx ecx, byte [r11 + rcx*4 + 1]
shl ecx, 8
mov rbx, rdx
shr rbx, 0x18
movzx esi, byte [r15 + rbx*4]
xor esi, ecx
xor esi, edi
xor esi, 0x10000000
mov dword [r9 + 0x50], esi
xor r8d, esi
mov dword [r9 + 0x54], r8d
xor eax, r8d
mov dword [r9 + 0x58], eax
xor edx, eax
mov dword [r9 + 0x5c], edx
mov rcx, rdx
shr rcx, 0xe
and ecx, 0x3fc
movzx ecx, byte [rcx + r10 + 3]
shl ecx, 0x18
movzx edi, dh
movzx edi, byte [r14 + rdi*4 + 2]
shl edi, 0x10
xor edi, esi
xor edi, ecx
movzx ecx, dl
movzx ecx, byte [r11 + rcx*4 + 1]
shl ecx, 8
mov rbx, rdx
shr rbx, 0x18
movzx esi, byte [r15 + rbx*4]
xor esi, ecx
xor esi, edi
xor esi, 0x20000000
mov dword [r9 + 0x60], esi
xor r8d, esi
mov dword [r9 + 0x64], r8d
xor eax, r8d
mov dword [r9 + 0x68], eax
xor edx, eax
mov dword [r9 + 0x6c], edx
mov rcx, rdx
shr rcx, 0xe
and ecx, 0x3fc
movzx ecx, byte [rcx + r10 + 3]
shl ecx, 0x18
movzx edi, dh
movzx edi, byte [r14 + rdi*4 + 2]
shl edi, 0x10
xor edi, esi
xor edi, ecx
movzx ecx, dl
movzx ecx, byte [r11 + rcx*4 + 1]
shl ecx, 8
mov rbx, rdx
shr rbx, 0x18
movzx esi, byte [r15 + rbx*4]
xor esi, ecx
xor esi, edi
xor esi, 0x40000000
mov dword [r9 + 0x70], esi
xor r8d, esi
mov dword [r9 + 0x74], r8d
xor eax, r8d
mov dword [r9 + 0x78], eax
xor edx, eax
mov dword [r9 + 0x7c], edx
mov rcx, rdx
shr rcx, 0xe
and ecx, 0x3fc
movzx ecx, byte [rcx + r10 + 3]
shl ecx, 0x18
movzx edi, dh
movzx edi, byte [r14 + rdi*4 + 2]
shl edi, 0x10
xor edi, esi
xor edi, ecx
movzx ecx, dl
movzx ecx, byte [r11 + rcx*4 + 1]
shl ecx, 8
mov rbx, rdx
shr rbx, 0x18
movzx esi, byte [r15 + rbx*4]
xor esi, ecx
xor esi, edi
xor esi, 0x80000000
mov dword [r9 + 0x80], esi
xor r8d, esi
mov dword [r9 + 0x84], r8d
xor eax, r8d
mov dword [r9 + 0x88], eax
xor edx, eax
mov dword [r9 + 0x8c], edx
mov rcx, rdx
shr rcx, 0xe
and ecx, 0x3fc
movzx ecx, byte [rcx + r10 + 3]
shl ecx, 0x18
movzx edi, dh
movzx edi, byte [r14 + rdi*4 + 2]
shl edi, 0x10
xor edi, esi
xor edi, ecx
movzx ecx, dl
movzx ecx, byte [r11 + rcx*4 + 1]
shl ecx, 8
mov rbx, rdx
shr rbx, 0x18
movzx esi, byte [r15 + rbx*4]
xor esi, ecx
xor esi, edi
xor esi, 0x1b000000
mov dword [r9 + 0x90], esi
xor r8d, esi
mov dword [r9 + 0x94], r8d
xor eax, r8d
mov dword [r9 + 0x98], eax
xor edx, eax
mov dword [r9 + 0x9c], edx
mov rcx, rdx
shr rcx, 0xe
and ecx, 0x3fc
movzx ecx, byte [rcx + r10 + 3]
shl ecx, 0x18
movzx edi, dh
movzx ebp, byte [r14 + rdi*4 + 2]
shl ebp, 0x10
xor ebp, esi
xor ebp, ecx
movzx ecx, dl
movzx ecx, byte [r11 + rcx*4 + 1]
shl ecx, 8
mov rbx, rdx
shr rbx, 0x18
movzx ebx, byte [r15 + rbx*4]
xor ebx, ecx
xor ebx, ebp
xor ebx, 0x36000000
mov dword [r9 + 0xa0], ebx
xor ebx, r8d
mov dword [r9 + 0xa4], ebx
xor ebx, eax
mov dword [r9 + 0xa8], ebx
xor ebx, edx
mov dword [r9 + 0xac], ebx
jmp 0x1400265b0
cmp rdx, 0x13
jbe 0x1400265c1
mov r15d, dword [rcx + 0x10]
bswap r15d
mov dword [r9 + 0x10], r15d
cmp rdx, 0x17
jbe 0x1400265d4
mov ebp, dword [rcx + 0x14]
bswap ebp
mov dword [r9 + 0x14], ebp
cmp ebx, 0xc0
jne 0x140026468
mov ecx, ebp
mov rdx, rcx
movzx ebx, ch
movzx r11d, cl
shr rcx, 0x18
shr rdx, 0xe
and edx, 0x3fc
lea r14, [0x14004d828]
movzx r13d, byte [rdx + r14 + 3]
shl r13d, 0x18
lea rdx, [0x14004dc28]
movzx ebx, byte [rdx + rbx*4 + 2]
shl ebx, 0x10
lea r12, [0x14004e028]
movzx edx, byte [r12 + r11*4 + 1]
shl edx, 8
xor edx, ebx
lea r11, [0x14004e428]
movzx ecx, byte [r11 + rcx*4]
xor ecx, edx
xor edi, r13d
xor edi, ecx
mov r13d, edi
xor r13d, 0x1000000
mov dword [r9 + 0x18], r13d
xor r13d, r8d
mov dword [r9 + 0x1c], r13d
mov r10d, r13d
xor r10d, eax
mov dword [r9 + 0x20], r10d
xor r10d, esi
mov dword [r9 + 0x24], r10d
mov edx, r10d
xor edx, r15d
mov dword [r9 + 0x28], edx
xor edx, ebp
mov dword [r9 + 0x2c], edx
mov rcx, rdx
shr rcx, 0x18
mov rsi, rdx
shr rsi, 0xe
and esi, 0x3fc
movzx ebx, byte [rsi + r14 + 3]
shl ebx, 0x18
movzx esi, dh
lea r8, [0x14004dc28]
movzx esi, byte [r8 + rsi*4 + 2]
shl esi, 0x10
movzx ebp, dl
movzx ebp, byte [r12 + rbp*4 + 1]
mov r14, r12
shl ebp, 8
movzx ecx, byte [r11 + rcx*4]
xor ecx, ebp
xor esi, edi
xor esi, ebx
xor esi, ecx
mov edi, esi
xor edi, 0x3000000
mov dword [r9 + 0x30], edi
xor r13d, edi
mov dword [r9 + 0x34], r13d
xor edi, eax
mov dword [r9 + 0x38], edi
mov eax, edi
xor eax, r10d
mov dword [r9 + 0x3c], eax
mov eax, edi
xor eax, r15d
mov ecx, eax
xor ecx, edx
movzx ebp, cl
mov rbx, rcx
shr rbx, 0x18
movzx ebp, byte [r12 + rbp*4 + 1]
shl ebp, 8
movzx r12d, byte [r11 + rbx*4]
xor r12d, ebp
movzx ebx, ch
movzx ebx, byte [r8 + rbx*4 + 2]
shl ebx, 0x10
xor ebx, esi
mov dword [r9 + 0x40], eax
mov dword [r9 + 0x44], ecx
shr rcx, 0xe
and ecx, 0x3fc
lea r11, [0x14004d828]
movzx ecx, byte [rcx + r11 + 3]
shl ecx, 0x18
xor ebx, ecx
xor ebx, r12d
mov r12d, ebx
xor r12d, 0x7000000
mov dword [r9 + 0x48], r12d
xor r12d, r13d
mov dword [r9 + 0x4c], r12d
mov ecx, r12d
xor ecx, edi
mov dword [r9 + 0x50], ecx
xor r10d, r12d
mov dword [r9 + 0x54], r10d
xor eax, r10d
mov dword [r9 + 0x58], eax
mov ecx, r10d
xor ecx, edx
mov dword [r9 + 0x5c], ecx
mov rax, rcx
shr rax, 0x18
movzx ebp, cl
movzx ebp, byte [r14 + rbp*4 + 1]
shl ebp, 8
lea r14, [0x14004e428]
movzx esi, byte [r14 + rax*4]
xor esi, ebp
movzx eax, ch
movzx eax, byte [r8 + rax*4 + 2]
shl eax, 0x10
xor eax, ebx
mov rbx, rcx
shr rbx, 0xe
and ebx, 0x3fc
movzx ebx, byte [rbx + r11 + 3]
mov r8, r11
shl ebx, 0x18
xor eax, ebx
xor eax, esi
mov r13d, eax
xor r13d, 0xf000000
mov dword [r9 + 0x60], r13d
xor r12d, r13d
mov dword [r9 + 0x64], r12d
xor edi, r13d
mov dword [r9 + 0x68], edi
mov esi, edi
xor esi, r10d
mov dword [r9 + 0x6c], esi
xor r13d, r15d
mov dword [r9 + 0x70], r13d
xor ecx, r13d
mov dword [r9 + 0x74], ecx
movzx ebp, cl
mov rbx, rcx
shr rbx, 0x18
lea r11, [0x14004e028]
movzx ebp, byte [r11 + rbp*4 + 1]
shl ebp, 8
movzx ebx, byte [r14 + rbx*4]
xor ebx, ebp
mov rbp, rcx
movzx ecx, ch
shr rbp, 0xe
and ebp, 0x3fc
mov r15, r8
movzx esi, byte [rbp + r8 + 3]
shl esi, 0x18
lea rbp, [0x14004dc28]
movzx ebp, byte [rbp + rcx*4 + 2]
shl ebp, 0x10
xor ebp, eax
xor ebp, esi
xor ebp, ebx
mov r8d, ebp
xor r8d, 0x1f000000
mov dword [r9 + 0x78], r8d
xor r8d, r12d
mov dword [r9 + 0x7c], r8d
mov eax, r8d
xor eax, edi
mov dword [r9 + 0x80], eax
xor r10d, r8d
mov dword [r9 + 0x84], r10d
mov eax, r10d
xor eax, r13d
mov dword [r9 + 0x88], eax
mov rcx, rdx
xor ecx, r8d
mov dword [r9 + 0x8c], ecx
mov rax, rcx
shr rax, 0x18
mov rdx, rcx
shr rdx, 0xe
and edx, 0x3fc
movzx edx, byte [rdx + r15 + 3]
shl edx, 0x18
movzx ebx, cl
movzx ebx, byte [r11 + rbx*4 + 1]
shl ebx, 8
mov r11, r14
movzx esi, byte [r14 + rax*4]
xor esi, ebx
movzx eax, ch
mov r12, rcx
lea r14, [0x14004dc28]
movzx eax, byte [r14 + rax*4 + 2]
shl eax, 0x10
xor eax, ebp
xor eax, edx
xor eax, esi
mov ebp, eax
xor ebp, 0x3f000000
mov dword [r9 + 0x90], ebp
xor r8d, ebp
mov dword [r9 + 0x94], r8d
xor ebp, edi
mov dword [r9 + 0x98], ebp
mov edx, ebp
xor edx, r10d
mov dword [r9 + 0x9c], edx
xor r13d, ebp
mov ebx, r13d
xor ebx, r12d
movzx edi, bl
mov rdx, rbx
shr rdx, 0x18
lea rcx, [0x14004e028]
movzx edi, byte [rcx + rdi*4 + 1]
shl edi, 8
movzx edx, byte [r11 + rdx*4]
xor edx, edi
movzx esi, bh
movzx esi, byte [r14 + rsi*4 + 2]
shl esi, 0x10
xor esi, eax
mov dword [r9 + 0xa0], r13d
mov dword [r9 + 0xa4], ebx
shr rbx, 0xe
and ebx, 0x3fc
movzx eax, byte [rbx + r15 + 3]
shl eax, 0x18
xor esi, eax
xor esi, edx
mov edi, esi
xor edi, 0x7f000000
mov dword [r9 + 0xa8], edi
xor edi, r8d
mov dword [r9 + 0xac], edi
mov eax, edi
xor eax, ebp
mov dword [r9 + 0xb0], eax
xor r10d, edi
mov dword [r9 + 0xb4], r10d
xor r13d, r10d
mov dword [r9 + 0xb8], r13d
mov rbx, r12
xor ebx, r10d
mov rax, rbx
shr rax, 0xe
and eax, 0x3fc
movzx r8d, byte [rax + r15 + 3]
movzx ecx, bh
movzx ecx, byte [r14 + rcx*4 + 2]
movzx edx, bl
lea rax, [0x14004e028]
movzx edx, byte [rax + rdx*4 + 1]
mov dword [r9 + 0xbc], ebx
shr rbx, 0x18
movzx ebx, byte [r11 + rbx*4]
shl edx, 8
xor ebx, edx
shl ecx, 0x10
xor ecx, esi
shl r8d, 0x18
xor ecx, r8d
xor ecx, ebx
xor ecx, 0xff000000
mov dword [r9 + 0xc0], ecx
xor edi, ecx
mov dword [r9 + 0xc4], edi
xor ecx, ebp
mov dword [r9 + 0xc8], ecx
xor ecx, r10d
mov dword [r9 + 0xcc], ecx
jmp 0x1400265b0
cmp rdx, 0x1b
jbe 0x140026641
mov ebp, dword [rcx + 0x18]
bswap ebp
mov dword [r9 + 0x18], ebp
cmp rdx, 0x1f
jbe 0x140026654
mov r12d, dword [rcx + 0x1c]
bswap r12d
mov dword [r9 + 0x1c], r12d
cmp ebx, 0x100
jne 0x1400265b0
xor edx, edx
lea r8, [0x14004d828]
lea r11, [0x14004dc28]
lea r14, [0x14004e028]
lea r15, [0x14004e428]
lea r10, [0x14004e828]
nop word cs:[rax + rax]
nop dword [rax + rax]
mov ebx, eax
mov eax, r12d
mov rsi, rax
movzx ebp, ah
movzx ecx, al
shr rax, 0x18
shr rsi, 0xe
and esi, 0x3fc
movzx esi, byte [rsi + r8 + 3]
shl esi, 0x18
movzx ebp, byte [r11 + rbp*4 + 2]
shl ebp, 0x10
xor ebp, edi
xor ebp, esi
movzx ecx, byte [r14 + rcx*4 + 1]
shl ecx, 8
movzx edi, byte [r15 + rax*4]
xor edi, ecx
xor edi, ebp
xor edi, dword [rdx + r10]
mov dword [r9 + rdx*8 + 0x20], edi
mov eax, dword [r9 + rdx*8 + 4]
xor eax, edi
mov dword [r9 + rdx*8 + 0x24], eax
xor eax, ebx
mov dword [r9 + rdx*8 + 0x28], eax
mov ebx, dword [r9 + rdx*8 + 0xc]
xor ebx, eax
mov dword [r9 + rdx*8 + 0x2c], ebx
cmp rdx, 0x18
je 0x1400265b0
mov ebx, ebx
mov rcx, rbx
movzx esi, bh
movzx ebp, bl
shr rbx, 0x18
movzx ebx, byte [r8 + rbx*4 + 3]
shl ebx, 0x18
xor ebx, dword [r9 + rdx*8 + 0x10]
shr rcx, 0xe
and ecx, 0x3fc
movzx ecx, byte [rcx + r11 + 2]
shl ecx, 0x10
movzx esi, byte [r14 + rsi*4 + 1]
shl esi, 8
xor esi, ecx
movzx ecx, byte [r15 + rbp*4]
xor ecx, esi
xor ecx, ebx
mov dword [r9 + rdx*8 + 0x30], ecx
xor ecx, dword [r9 + rdx*8 + 0x14]
mov dword [r9 + rdx*8 + 0x34], ecx
xor ecx, dword [r9 + rdx*8 + 0x18]
mov dword [r9 + rdx*8 + 0x38], ecx
xor r12d, ecx
mov dword [r9 + rdx*8 + 0x3c], r12d
add rdx, 4
jmp 0x1400264d0
add rsp, 0x68
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea r8, str.C:UsersEmran.cargo_registry_srcmirrors.ustc.edu.cn_61ef6e0cd06fb9b8libaes_0.6.2_srclib.rs
mov ecx, 0x14
call fcn.140049bc0
ud2
lea r8, str.C:UsersEmran.cargo_registry_srcmirrors.ustc.edu.cn_61ef6e0cd06fb9b8libaes_0.6.2_srclib.rs
mov ecx, 0x18
call fcn.140049bc0
ud2
lea rax, [rsp + 0x26]
mov qword [rsp + 0x28], rax
lea rax, [0x1400434d0]
mov qword [rsp + 0x30], rax
lea rax, str.wrong_value_for_bits
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x40], 1
mov qword [rsp + 0x48], 0
lea rax, [rsp + 0x28]
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x60], 1
lea rdx, str.C:UsersEmran.cargo_registry_srcmirrors.ustc.edu.cn_61ef6e0cd06fb9b8libaes_0.6.2_srclib.rs
lea rcx, [rsp + 0x38]
call fcn.140049ad0
ud2
lea r8, str.C:UsersEmran.cargo_registry_srcmirrors.ustc.edu.cn_61ef6e0cd06fb9b8libaes_0.6.2_srclib.rs
mov ecx, 0x1c
call fcn.140049bc0
ud2
lea r8, str.C:UsersEmran.cargo_registry_srcmirrors.ustc.edu.cn_61ef6e0cd06fb9b8libaes_0.6.2_srclib.rs
mov ecx, 0x20
call fcn.140049bc0
ud2