Function at 0x4ac013
Capabilities:
Encrypt data using aes

Disassembly:
clc
bsr dx, bp
jmp 0x47e92c
pushal
lea esp, [esp + 0x20]
push ebx
shl ebx, 1
jmp 0x47e8e6
push ebp
mov edx, esp
jmp 0x47e970
lea esp, [esp + 4]
jmp 0x47e91d
xchg dh, bl
mov edi, eax
jmp 0x47e983
push esi
push edi
lea ebx, [edx*4]
bsr bx, cx
jmp 0x47e958
movzx edx, byte [eax]
mov bl, bh
lea edi, [ebp - 0x57]
xchg bp, di
shr bx, cl
jmp 0x47e9e9
jmp 0x47e942
shl edx, 8
mov di, 0x20fd
bsf bp, ax
mov bl, bh
jmp 0x47ea15
movzx esi, byte [eax + 2]
sub bl, bh
mov ebp, 0x7a7b3a3c
jmp 0x47e99b
xor edx, esi
xchg di, bx
lea edi, [edx + edx]
jmp 0x47e9b4
shl edx, 8
mov bl, byte [esp]
movzx esi, byte [eax + 1]
lea ebx, [ebp - 0x1f]
jmp 0x47e9cc
lea esp, [esp + 2]
jmp 0x4abc33
xor edx, esi
sub esp, 8
cmc
pop dword [esp]
push word [esp + 3]
jmp 0x47e9fc
mov bl, bh
shl edx, 8
call 0x4abc12
jge 0x4abc79
mov dword [esp], ebx
mov ebp, edi
jmp 0x4abc98
lea esp, [esp + 0x20]
movzx esi, byte [eax + 5]
jmp 0x4abc6d
lea esp, [esp + 4]
movzx esi, byte [eax + 3]
rol di, cl
lea ebp, [esp + edi]
mov bx, dx
jmp 0x4abc07
shl edx, 8
btr edi, edi
mov bl, byte [esp]
xchg bx, di
jmp 0x4abc7c
shl edx, 8
mov edi, 0x32799064
setne bl
mov bx, bp
setbe bl
jmp 0x4abcac
mov dword [ecx], edx
mov dh, byte [esp]
bsr dx, bp
movzx edx, byte [eax + 4]
jmp 0x4abc46
add al, 0xeb
retf 0xd633
xor edx, esi
movzx esi, byte [eax + 6]
mov bx, dx
jmp 0x4abc54
xor edx, esi
mov esi, 0xdb565078
pushal
clc
pop bp
lea esp, [esp + 2]
jmp 0x4abc1a
xor edx, esi
lea edi, [edx + ebp]
movzx esi, byte [eax + 7]
seto bl
jmp 0x4abcbe
shl edx, 8
mov bl, 0xb6
sub bl, ch
jmp 0x4abd70
lea ebp, [edx*4]
jmp 0x4abd23
shl edx, 8
lea edi, [edx*4]
btr edi, esp
jmp 0x4abcdb
lea esp, [esp + 0x20]
movzx edx, byte [eax + 8]
shl bl, 7
ror bp, cl
mov di, 0xcd03
jmp 0x4abcf6
xor edx, esi
movzx esi, byte [eax + 0xa]
shr ebx, 1
inc edi
call fcn.004abd4d
test eax, 0x2ddebb2b
out dx, al
ror dword [edx + eax*8 - 0x5b], 0x54
jmp 0x4abd97
movzx esi, byte [eax + 9]
pushal
mov di, word [esp + 0x1c]
mov dword [ecx + 4], edx
jmp 0x4abd0f
lea esp, [esp + 4]
movzx esi, byte [eax + 0xb]
shr di, cl
xchg bh, bl
jmp 0x4abd7e
xor edx, esi
setb bl
xchg bl, bh
lea edi, [esp + ebp]
neg bh
jmp 0x4abd3e
shl edx, 8
clc
xor edx, esi
neg bx
jmp 0x4abecc
invalid
jl 0x4abd93
aad 0xc1
loop 0x4abda5
xor edx, esi
xchg ebx, esi
jmp 0x4abd4f
push esp
xor ecx, esi
or dl, ah
jnp 0x4abd97
invalid
bsf si, si
movzx esi, byte [eax + 0xd]
setnp bh
mov dword [ecx + 8], edx
call fcn.004abe3b
mov esi, 0xff
and eax, esi
sub esp, 8
mov byte [esp + 4], bh
jmp 0x4abfd1
popal
mov bp, word [esp]
sub bl, bh
xchg ebp, ebx
inc bl
jmp 0x4abf94
pushal
mov dword [esp], edx
pushal
mov word [esp + 0x16], sp
lea esp, [esp + 0x20]
jmp 0x4abf1a
clc
lea esp, [esp + 2]
lea esp, [esp + 0x10]
xor eax, 0x1000000
inc bl
jmp 0x4abf35
mov edi, dword [edi*4 + 0x489268]
setb bl
push esp
lea ebp, [ebx*4]
jmp 0x4abfb9
and edi, esi
jmp 0x4abf64
shr edi, 8
lea ebp, [edx + edx]
mov ebp, 0xffee8ffc
xchg ebx, ebp
jmp 0x4abf7d
lea esp, [esp + 4]
and edi, 0xff0000
push esp
jmp 0x4ac00c
btc ebp, edi
jmp 0x4abfa3
mov bl, bh
bswap ebx
mov eax, dword [eax*4 + 0x489268]
btr ebx, edi
sub esp, 0xa
jmp 0x4abf52
lea esi, [esi + 4]
mov ebx, dword [esi]
pop esi
push edx
bts ebp, esp
mov ebp, 0xb0d2ec7c
jmp 0x4ac018
lea ebp, [edx*4]
push esi
mov esi, ecx
jmp 0x4abfe7
neg ebp
lea esp, [esp + 8]
and eax, 0xff000000
pushal
pop word [esp + 0x13]
jmp 0x4accd0
lea eax, [eax*4]
lea eax, [eax + 0x489268]
mov edi, dword [eax]
pop eax
jmp 0x4ac0b7
mov eax, edi
jmp 0x4ac02f
mov ebp, 0x699d743a
and edi, esi
push eax
jmp 0x4ac045
bsf bp, si
btr edi, esp
mov edi, edx
bsf bp, ax
bswap ebp
jmp 0x4ac05c
and edi, ebp
call fcn.004ac0db
xor eax, edi
lea esp, [esp + 0x20]
xor eax, dword [ecx]
mov di, word [esp]
call fcn.004ac0c4
mov byte [0x37c4bd2d], al
mov ch, byte [esi + edi - 0xbb93454]
sahf
adc eax, dword [ebx + 0x16d215e6]
mov ebp, 0xff00
cmc
pushal
pop dword [esp + 0xc]
jmp 0x4ac08c
lea esp, [esp + 0x2c]
movzx edi, byte [edi*4 + 0x489268]
inc bp
lea ebp, [ecx + 0xeb]
xor eax, edi
jmp 0x4ac07b
shr edi, 0x18
mov bp, 0xa94d
mov ebp, 0x488dda
bts ebp, edi
dec ebp
jmp 0x4ac0f3
popal
mov bp, 0x54b1
mov ebp, dword [esp]
lea ebp, [esi - 0x6389ac53]
add ebp, ebp
jmp 0x4ac16f
mov dword [esp + 4], edx
stc
sub esp, 0x16
lea esp, [esp + 3]
lea esp, [esp + 3]
lea esp, [esp + 0x14]
jmp 0x4ac253
mov dword [esp + 5], ecx
mov edi, dword [esp + 9]
pushal
mov bp, 0x3977
push edx
jmp 0x4ac2ad
pop word [esp + 3]
mov ebp, dword [esp + 9]
xor eax, edi
clc
sub esp, 0x10
jmp 0x4ac3cd