Function at 0x10189bf8
Capabilities:
Encrypt data using aes
Reference aes constants

Disassembly:
bsr ax, bx
mov ah, 0x16
jmp 0x1018951a
cmp eax, 1
jmp 0x101896b7
call 0x10189dcd
jmp 0x10150bad
push ax
lea esp, [esp + 2]
jmp 0x1018991d
into
in al, 0x17
lea esp, [esp + 4]
push ecx
push ecx
jmp 0x10150c4c
push edi
lea esi, [esi*4]
lea esi, [esp - 0x9e]
mov esi, ecx
call fcn.10150be1
btc ebx, ecx
shr bh, 1
jmp 0x10150c7d
push ebx
push esi
mov esi, dword [esp]
jmp 0x10150c00
mov ebx, eax
call fcn.10150c53
mov dword [ebp - 8], eax
lea esp, [esp + 4]
test ebx, ebx
push si
lea esp, [esp + 2]
jmp 0x10189553
mov eax, dword [edx - 8]
stc
pushfd
pushfd
jmp 0x10189591
mov ecx, dword [esp]
mov cx, word [esp]
lea ecx, [esi + 8]
jmp 0x10150b2a
jle 0x10150b40
bswap edi
lea edx, [esi + ebx*4 + 8]
bsr eax, eax
jmp 0x10189530
push ebp
jmp 0x101895a1
lea esp, [esp + 3]
jmp 0x10189564
mov edi, dword [ecx - 8]
lea esp, [esp + 8]
add dword [ebp - 4], 4
sub esp, 0x1f
jmp 0x1018957a
mov ebp, ecx
add ebp, 0xfffffff8
mov dword [ebp], eax
pop ebp
jmp 0x10189ead
lea ecx, [eax - 1]
lea ebx, [edi*4]
sub esp, 2
jmp 0x101896de
jle 0x10150b56
mov ecx, esi
mov dx, 0xe157
sete dh
jmp 0x101896a1
mov ecx, 0xff
jmp 0x10150b9a
lea esp, [esp + 2]
mov dword [ebp - 4], ecx
xchg edx, edi
bsr edx, edi
not cl
jmp 0x101896c8
and edi, ecx
mov edi, dword [edi*4 + 0x1015aef8]
and ebx, ecx
jmp 0x1018973f
mov edi, edx
shr edi, 0x18
mov edi, dword [edi*4 + 0x1015aaf8]
jmp 0x101896fb
sub esp, 0x14
lea esp, [esp + 0x14]
xor edi, dword [ebx*4 + 0x1015b6f8]
mov ebx, 0x57c042ac
btr ebx, eax
call fcn.10189729
sub esp, 0xc
sub esp, 5
lea esp, [esp + 1]
lea esp, [esp + 0x10]
popal
jmp 0x101897b4
and ebx, ecx
push dx
pushfd
lea esp, [esp + 2]
jmp 0x101897c7
lea esi, [esi*4]
lea esi, [esi + 0x1015aaf8]
mov ebx, dword [esi]
pop esi
stc
jmp 0x1018979e
lea esp, [esp + 4]
xor edi, dword [ebx*4 + 0x1015b2f8]
sub esp, 0xd
mov bh, byte [esp + 8]
jmp 0x1018980a
mov dl, ah
mov di, word [esp]
mov dl, ch
mov edx, dword [esi]
bt di, dx
jmp 0x1018971b
mov edx, dword [edx*4 + 0x1015aaf8]
jmp 0x10189833
lea esp, [esp + 1]
lea esp, [esp + 0xc]
movzx ebx, byte [esi + 5]
and edx, ecx
jmp 0x101897f4
mov edx, dword [esi + 4]
mov dword [esi], edi
mov di, word [esp]
mov di, word [esp]
jmp 0x10189843
and edx, ecx
xor edi, dword [edx*4 + 0x1015baf8]
not dx
bswap edx
jmp 0x1018981a
mov ebx, dword [ebx*4 + 0x1015aaf8]
jmp 0x101898c1
mov ebx, dword [ebx*4 + 0x1015aaf8]
mov edi, esp
mov dx, 0xd16b
add esi, 0x10
jmp 0x101897e1
popal
stc
pushfd
shr edi, 0x18
call fcn.10189874
stc
mov edi, dword [edi*4 + 0x1015aaf8]
sub esp, 8
push word [esp + 6]
lea esp, [esp + 2]
jmp 0x101898e5
and ebx, ecx
jmp 0x101898cf
pushal
mov dword [esp], edx
sub esp, 2
stc
lea esp, [esp + 2]
jmp 0x1018988a
lea esp, [esp + 0x14]
xor edi, dword [ebx*4 + 0x1015b6f8]
jmp 0x101898f2
and edi, ecx
mov edi, dword [edi*4 + 0x1015aef8]
pushfd
cmc
jmp 0x101898ab
movzx ebx, byte [esi + 6]
mov ebx, dword [ebx*4 + 0x1015aaf8]
and ebx, ecx
jmp 0x10189905
pushal
mov word [esp + 0x19], dx
jmp 0x1018992d
movzx ebx, byte [esi + 0x11]
xchg edx, edi
seto dh
cmc
clc
jmp 0x1018985f
lea esp, [esp + 0x20]
xor edi, dword [ebx*4 + 0x1015b2f8]
movzx ebx, byte [esi + 9]
jmp 0x101899d2
mov dword [ecx - 4], eax
mov eax, ebx
mov ah, 9
mov eax, dword [edx]
call fcn.101896f9
lea esp, [esp + 8]
xor edi, dword [edx*4 + 0x1015baf8]
bsr edx, ebx
jmp 0x101899a3
fsubr qword [edi]
and dword ss:[ecx], esp
and edx, ecx
jmp 0x10189966
pushal
mov ah, dl
mov dword [esp], edx
popal
push ebp
jmp 0x101899ef
and edi, ecx
jmp 0x101899d9
neg dx
mov edx, dword [esi + 8]
mov dword [esi + 4], edi
lea edi, [ebp*4]
call fcn.10189980
lea esp, [esp]
mov ebx, dword [ebx*4 + 0x1015aaf8]
mov di, word [esp]
cmp di, sp
jmp 0x10189982
and edx, ecx
call fcn.10189941
mov edi, dword [edi*4 + 0x1015aef8]
call fcn.10189a14
mov ebx, 0x44b5d23c
cmc
mov dword [eax], ebp
dec ebx
loop 0x10189978
mov byte [esp], bl
sbb al, 0x24
shr edi, 0x18
mov edi, dword [edi*4 + 0x1015aaf8]
jmp 0x1018998c
mov dword [edx - 8], edi
mov di, word [esp]
mov edi, dword [ecx - 4]
push di
push word [esp + 1]
jmp 0x10189958
jmp 0x10189e57
dec dword [ebp - 4]
mov dword [esi + 0xc], edi
jne 0x10150b9a
je 0x10150b56
mov ax, word [esp]
lea eax, [esi + ebp]
jmp 0x10189e7d
and edx, ecx
pushal
lea esp, [esp + 0x24]
xor edi, dword [edx*4 + 0x1015baf8]
jmp 0x10189e10
mov eax, dword [ebp - 4]
leave
ret
btc eax, esp
sbb ax, bp
not al
mov eax, dword [edx - 4]
jmp 0x10189a2b