Function at 0x4114e0
Capabilities:
Encrypt data using aes

Disassembly:
push r14
push r12
push rbp
push rdi
push rsi
push rbx
movzx r9d, byte [rdx]
movzx eax, byte [rdx + 1]
shl r9d, 0x18
shl eax, 0x10
xor r9d, eax
movzx eax, byte [rdx + 3]
xor r9d, eax
movzx eax, byte [rdx + 2]
shl eax, 8
xor r9d, eax
mov dword [rcx], r9d
movzx r10d, byte [rdx + 4]
movzx eax, byte [rdx + 5]
shl r10d, 0x18
shl eax, 0x10
xor r10d, eax
movzx eax, byte [rdx + 7]
xor r10d, eax
movzx eax, byte [rdx + 6]
shl eax, 8
xor r10d, eax
mov dword [rcx + 4], r10d
movzx r11d, byte [rdx + 8]
movzx eax, byte [rdx + 9]
shl r11d, 0x18
shl eax, 0x10
xor r11d, eax
movzx eax, byte [rdx + 0xb]
xor r11d, eax
movzx eax, byte [rdx + 0xa]
shl eax, 8
xor r11d, eax
mov dword [rcx + 8], r11d
movzx ebx, byte [rdx + 0xc]
movzx eax, byte [rdx + 0xd]
shl ebx, 0x18
shl eax, 0x10
xor ebx, eax
movzx eax, byte [rdx + 0xf]
xor ebx, eax
movzx eax, byte [rdx + 0xe]
shl eax, 8
xor ebx, eax
cmp r8d, 0x80
mov dword [rcx + 0xc], ebx
je 0x411640
movzx eax, byte [rdx + 0x10]
movzx esi, byte [rdx + 0x11]
shl eax, 0x18
shl esi, 0x10
xor eax, esi
movzx esi, byte [rdx + 0x13]
xor eax, esi
movzx esi, byte [rdx + 0x12]
shl esi, 8
xor eax, esi
mov dword [rcx + 0x10], eax
movzx eax, byte [rdx + 0x14]
movzx esi, byte [rdx + 0x15]
shl eax, 0x18
shl esi, 0x10
xor eax, esi
movzx esi, byte [rdx + 0x17]
xor eax, esi
movzx esi, byte [rdx + 0x16]
shl esi, 8
xor eax, esi
cmp r8d, 0xc0
mov dword [rcx + 0x14], eax
je 0x4116d3
movzx eax, byte [rdx + 0x18]
movzx esi, byte [rdx + 0x19]
shl eax, 0x18
shl esi, 0x10
xor eax, esi
movzx esi, byte [rdx + 0x1b]
xor eax, esi
movzx esi, byte [rdx + 0x1a]
shl esi, 8
xor eax, esi
mov dword [rcx + 0x18], eax
movzx esi, byte [rdx + 0x1c]
movzx eax, byte [rdx + 0x1d]
shl esi, 0x18
shl eax, 0x10
xor esi, eax
movzx eax, byte [rdx + 0x1f]
xor esi, eax
movzx eax, byte [rdx + 0x1e]
shl eax, 8
xor esi, eax
xor eax, eax
cmp r8d, 0x100
mov dword [rcx + 0x1c], esi
je 0x411790
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r14
ret
lea r8, [0x0041a0e4]
add rcx, 0x10
mov esi, 0x1000000
lea rdi, [r8 + 0x24]
lea rdx, str.ccccwwww
jmp 0x41166b
mov esi, dword [r8]
add rcx, 0x10
add r8, 4
movzx eax, bl
mov ebp, ebx
shr ebp, 0x18
mov eax, dword [rdx + rax*4]
movzx ebp, byte [rdx + rbp*4]
and eax, 0xff00
or eax, ebp
mov ebp, ebx
shr ebp, 0x10
movzx ebp, bpl
mov ebp, dword [rdx + rbp*4]
and ebp, 0xff000000
xor eax, ebp
movzx ebp, bh
mov ebp, dword [rdx + rbp*4]
and ebp, 0xff0000
xor eax, ebp
xor r9d, eax
xor r9d, esi
xor r10d, r9d
mov dword [rcx], r9d
xor r11d, r10d
mov dword [rcx + 4], r10d
xor ebx, r11d
cmp rdi, r8
mov dword [rcx + 8], r11d
mov dword [rcx + 0xc], ebx
jne 0x411660
mov eax, 0xa
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r14
ret
lea rsi, [0x0041a0e0]
add rcx, 0x18
mov edi, 0x1000000
lea r14, [rsi + 0x20]
lea rdx, str.ccccwwww
jmp 0x411707
mov r8d, dword [rcx - 8]
add rcx, 0x18
xor r8d, ebx
xor eax, r8d
mov dword [rcx - 8], r8d
mov dword [rcx - 4], eax
mov edi, dword [rsi]
movzx r8d, al
mov r12d, eax
movzx ebp, ah
shr r12d, 0x18
mov r8d, dword [rdx + r8*4]
add rsi, 4
movzx r12d, byte [rdx + r12*4]
and r8d, 0xff00
or r8d, r12d
mov r12d, eax
shr r12d, 0x10
movzx r12d, r12b
mov r12d, dword [rdx + r12*4]
and r12d, 0xff000000
xor r8d, r12d
mov r12d, dword [rdx + rbp*4]
and r12d, 0xff0000
xor r8d, r12d
xor r9d, r8d
xor r9d, edi
xor r10d, r9d
mov dword [rcx], r9d
xor r11d, r10d
mov dword [rcx + 4], r10d
xor ebx, r11d
cmp r14, rsi
mov dword [rcx + 8], r11d
mov dword [rcx + 0xc], ebx
jne 0x4116f0
mov eax, 0xc
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r14
ret
lea r8, [0x0041a0e0]
add rcx, 0x20
mov edi, 0x1000000
lea rbp, [r8 + 0x1c]
lea rdx, str.ccccwwww
jmp 0x411808
mov eax, ebx
movzx edi, bh
movzx r12d, bl
shr eax, 0x10
mov edi, dword [rdx + rdi*4]
add rcx, 0x20
movzx eax, al
movzx r12d, byte [rdx + r12*4]
mov eax, dword [rdx + rax*4]
and edi, 0xff00
and eax, 0xff0000
or eax, edi
mov edi, ebx
xor eax, dword [rcx - 0x30]
shr edi, 0x18
mov edi, dword [rdx + rdi*4]
and edi, 0xff000000
or edi, r12d
xor eax, edi
mov dword [rcx - 0x10], eax
xor eax, dword [rcx - 0x2c]
mov dword [rcx - 0xc], eax
xor eax, dword [rcx - 0x28]
xor esi, eax
mov dword [rcx - 8], eax
mov dword [rcx - 4], esi
mov edi, dword [r8]
movzx eax, sil
mov r12d, esi
add r8, 4
shr r12d, 0x18
mov eax, dword [rdx + rax*4]
movzx r12d, byte [rdx + r12*4]
and eax, 0xff00
or eax, r12d
mov r12d, esi
shr r12d, 0x10
movzx r12d, r12b
mov r12d, dword [rdx + r12*4]
and r12d, 0xff000000
xor eax, r12d
mov r14d, eax
mov eax, esi
movzx eax, ah
mov r12d, dword [rdx + rax*4]
mov eax, r14d
and r12d, 0xff0000
xor eax, r12d
xor r9d, eax
xor r9d, edi
xor r10d, r9d
mov dword [rcx], r9d
xor r11d, r10d
mov dword [rcx + 4], r10d
xor ebx, r11d
cmp rbp, r8
mov dword [rcx + 8], r11d
mov dword [rcx + 0xc], ebx
jne 0x4117b0
mov eax, 0xe
jmp 0x411631