Function at 0x63e853
Capabilities:
Encrypt data using aes

Disassembly:
lea esp, [esp + 4]
jmp 0x67caf5
push ebx
pushal
pop dword [esp + 0xe]
mov word [esp + 9], ax
lea esp, [esp + 0x18]
jmp 0x67cc48
lea esp, [esp + 2]
push ebp
push esi
push edi
movzx edx, byte [eax]
pushal
pop dword [esp + 8]
push word [esp + 8]
jmp 0x67cd42
mov dword [esp], ebp
push di
lea esp, [esp + 4]
mov word [esp], sp
jmp 0x67cc27
xor edx, ecx
pushfd
push word [esp + 3]
push dword [esp]
push dword [esp + 3]
jmp 0x67d62c
pop dword [esp + 7]
pop dword [esp + 9]
lea esp, [esp + 1]
and edx, ebp
pushal
mov byte [esp + 0x14], dl
mov word [esp], ax
push dword [esp + 0x12]
lea esp, [esp]
pop word [esp + 0xe]
pop word [esp + 0x12]
lea esp, [esp + 0x34]
xor ecx, edx
xor ecx, dword [ebx]
lea edi, [eax + 0x10]
xor ecx, dword [eax]
add ebx, 4
push esi
mov esi, edi
mov dword [esi], ecx
pop esi
mov edx, dword [eax + 4]
sub esp, 7
push word [esp + 6]
add esp, 1
lea esp, [esp]
add esp, 7
push bx
cmc
push esp
lea esp, [esp + 3]
jmp 0x67ccba
mov byte [esp], al
lea esp, [esp + 0xd]
lea esp, [esp + 0xd]
mov word [esp + 1], dx
shl edx, 8
pushal
mov word [esp + 0x10], bx
pop word [esp + 0xf]
mov byte [esp + 0x18], dl
push esp
lea esp, [esp + 2]
lea esp, [esp + 0x24]
movzx esi, byte [eax + 1]
xor edx, esi
movzx esi, byte [eax + 2]
shl edx, 8
xor edx, esi
movzx esi, byte [eax + 3]
shl edx, 8
xor edx, esi
movzx esi, byte [eax + 5]
mov dword [ecx], edx
movzx edx, byte [eax + 4]
pushal
push dword [esp + 0x1d]
shl edx, 8
pushfd
lea esp, [esp + 0x28]
cmc
sub esp, 4
push word [esp + 1]
lea esp, [esp + 2]
xor edx, esi
pushfd
pushal
pop dword [esp + 0xd]
lea esp, [esp + 0x24]
movzx esi, byte [eax + 6]
shl edx, 8
xor edx, esi
movzx esi, byte [eax + 7]
push esi
pop word [esp]
push word [esp + 1]
mov byte [esp + 1], ch
mov dword [esp], esp
shl edx, 8
pushfd
pop word [esp]
lea esp, [esp + 1]
lea esp, [esp]
pushfd
mov dword [esp], edi
push dword [esp + 3]
mov dword [esp + 2], edx
lea esp, [esp + 1]
lea esp, [esp + 0xc]
clc
sub esp, 6
mov word [esp + 1], ax
sub esp, 4
add esp, 2
mov word [esp + 5], di
xor edx, esi
pushal
push word [esp]
lea esp, [esp + 8]
push dword [esp + 0x10]
lea esp, [esp + 2]
lea esp, [esp + 0x24]
movzx esi, byte [eax + 9]
mov dword [ecx + 4], edx
movzx edx, byte [eax + 8]
push cx
pushfd
mov word [esp + 2], sp
mov word [esp], si
mov byte [esp + 2], dh
mov byte [esp], dl
lea esp, [esp + 2]
shl edx, 8
push edx
pushal
lea esp, [esp + 0x28]
xor edx, esi
movzx esi, byte [eax + 0xa]
shl edx, 8
xor edx, esi
movzx esi, byte [eax + 0xb]
shl edx, 8
xor edx, esi
movzx esi, byte [eax + 0xd]
mov dword [ecx + 8], edx
movzx edx, byte [eax + 0xc]
shl edx, 8
xor edx, esi
movzx esi, byte [eax + 0xe]
movzx eax, byte [eax + 0xf]
shl edx, 8
push di
sub esp, 0x1e
mov word [esp + 0xb], bp
mov dword [esp + 0x15], esi
mov dword [esp + 6], eax
pop dword [esp + 0xb]
xor edx, esi
pushfd
lea esp, [esp + 0x20]
shl edx, 8
xor edx, eax
mov dword [ecx + 0xc], edx
pushal
mov ah, byte [esp]
mov al, dl
mov ecx, ebx
mov ax, 0x59ca
mov ebp, eax
mov dword [esp + 0x1c], edx
pushfd
pushal
lea esp, [esp + 0x24]
popal
shr eax, 0x10
mov esi, 0xff
and eax, esi
mov eax, dword [eax*4 + 0x64957c]
xor eax, 0x1000000
mov edi, edx
shr edi, 8
and edi, esi
mov edi, dword [edi*4 + 0x64957c]
and edi, 0xff0000
mov ebx, dword [ecx + 4]
and eax, 0xff000000
xor eax, edi
pushal
mov bx, 0x4b4c
setl cl
lea ebp, [ebp*4]
not ah
mov dword [esp], edx
pushal
push dword [esp + 0xb]
push word [esp + 0x1b]
mov byte [esp + 0x11], al
lea esp, [esp + 2]
lea esp, [esp + 0x24]
popal
shr edi, 0x18
movzx edi, byte [edi*4 + 0x64957c]
xor eax, edi
mov edi, edx
and edi, esi
mov edi, dword [edi*4 + 0x64957c]
mov ebp, 0xff00
and edi, ebp
sub esp, 7
sub esp, 9
push word [esp + 6]
pushfd
push dx
clc
mov word [esp + 6], ax
push dword [esp + 0x10]
mov byte [esp + 8], cl
xor eax, edi
push ecx
mov dword [esp], eax
lea esp, [esp + 0x20]
xor eax, dword [ecx]
lea edi, [ecx + 0x10]
xor ebx, eax
mov dword [edi], eax
push esi
mov esi, ecx
lea esi, [esi + 8]
mov eax, dword [esi]
pop esi
xor eax, ebx
mov dword [ecx + 0x14], ebx
mov dword [ecx + 0x18], eax
xor edx, eax
mov dword [ecx + 0x1c], edx
call fcn.0065f6cd
pushal
mov dword [esp + 0x1c], edi
pushfd
mov word [esp], bx
pushal
mov dword [esp + 6], eax
push word [esp + 0x12]
mov byte [esp + 5], dh
mov byte [esp + 0x21], al
lea esp, [esp + 2]
lea esp, [esp + 0x24]
popal
mov edx, dword [eax + 0xc]
mov ecx, edx
shr ecx, 8
mov edi, edx
pushal
add esp, 9
push dword [esp + 0x15]
push dword [esp + 0x18]
mov dword [esp + 0xe], esi
pop dword [esp + 0x10]
lea esp, [esp + 3]
and ecx, esi
push bx
lea esp, [esp + 2]
lea esp, [esp + 0x18]
push esi
mov esi, ecx
lea esi, [esi*4]
lea esi, [esi + 0x64957c]
mov ecx, dword [esi]
pop esi
shr edi, 0x10
and edi, esi
mov edi, dword [edi*4 + 0x64957c]
and ecx, 0xff0000
and edi, 0xff000000
xor ecx, edi
mov edi, edx
and edx, esi
mov edx, dword [edx*4 + 0x64957c]
pushfd
shr edi, 0x18
push ebp
pop word [esp]
push ebp
push word [esp + 5]
lea esp, [esp + 3]
lea esp, [esp]
mov byte [esp], cl
push dword [esp + 1]
push ebp
lea esp, [esp + 1]
lea esp, [esp + 0x10]
movzx edi, byte [edi*4 + 0x64957c]
xor ecx, edi
push ecx
mov byte [esp], cl
mov dword [esp], edx
mov byte [esp + 2], bh
pop word [esp]
mov word [esp], bx
push word [esp]
lea esp, [esp + 4]
sub esp, 0x19
mov byte [esp + 1], ah
mov dword [esp + 7], edx
push dword [esp + 8]
jmp 0x67ccd9
mov dword [esp + 7], ecx
lea esp, [esp + 2]
lea esp, [esp + 0x10]
mov dword [eax + 0x14], edx
push ebp
pushal
mov dh, cl
setg bl
not ebx
mov dword [esp + 8], eax
push ebp
lea esp, [esp + 4]
popal
lea ebp, [ebp + 8]
mov ecx, dword [ebp]
pop ebp
xor ecx, edx
mov dword [eax + 0x18], ecx
push esi
pushal
mov ebx, dword [esp]
mov dword [esp + 4], eax
pushal
mov word [esp + 6], dx
pushal
pushal
lea esp, [esp + 0x60]
pushfd
push word [esp + 1]
mov word [esp], di
lea esp, [esp + 2]
lea esp, [esp + 4]
popal
lea esi, [esi + 0xc]
mov edx, dword [esi]
pop esi
xor edx, ecx
mov dword [eax + 0x1c], edx
call fcn.0065f6b0
add byte [edi], cl
test esi, ebp
clc
invalid