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

Disassembly:
bsf ebx, ecx
movzx ebx, byte [esi + 0x11]
call 0x89fa4e
movsb byte es:[edi], byte [esi]
push edi
jmp 0x8d26f9
lea esp, [esp + 8]
add esi, 0x10
mov dl, byte [esp]
bswap edx
jmp 0x8d270d
mov edi, ebx
lea edi, [edi*4]
lea edi, reloc.WINMM.dll_waveOutUnprepareHeader
mov ebx, dword [edi]
pop edi
jmp 0x8d26d9
push ebp
mov ebp, esi
mov edx, dword [ebp]
pop ebp
jmp 0x8d271a
mov di, 0x344d
rol edi, cl
jmp 0x8d276a
jmp 0x89fa41
push esi
jmp 0x8d278a
sub esp, 0x18
shr edi, 0x18
jmp 0x8d273a
pushal
dec di
mov dword [esp], edx
popal
stc
jmp 0x8d2750
pop esi
stc
jmp 0x8d279d
mov esi, edi
lea esi, [esi*4]
lea esi, reloc.WINMM.dll_waveOutUnprepareHeader
mov edi, dword [esi]
jmp 0x8d2774
and edi, ecx
pushfd
mov edi, dword [edi*4 + reloc.WINMM.dll_waveOutUnprepareHeader]
jmp 0x8d27f1
lea ebx, [eax + esi]
mov bx, word [esp]
movzx ebx, byte [esi + 2]
mov ebx, dword [ebx*4 + reloc.WINMM.dll_waveOutUnprepareHeader]
jmp 0x8d2817
and ebx, ecx
stc
lea esp, [esp + 0x1c]
xor edi, dword [ebx*4 + reloc.WINMM.dll_waveOutUnprepareHeader]
jmp 0x8d27cd
ror bx, cl
cmc
jmp 0x8d2827
and ebx, ecx
pushal
lea esp, [esp + 0x20]
xor edi, dword [ebx*4 + reloc.WINMM.dll_waveOutUnprepareHeader]
jmp 0x8d2801
movzx ebx, byte [esi + 5]
and edx, ecx
pushal
jmp 0x8d2958
mov edx, dword [eax]
pop eax
stc
and edx, ecx
jmp 0x8d2885
mov dword [esi], edi
bsf edi, esi
rcl edi, 0
jmp 0x8d2868
mov ebx, dword [ebx*4 + reloc.WINMM.dll_waveOutUnprepareHeader]
bts di, cx
mov edi, dword [esp]
mov di, ax
jmp 0x8d2909
lea esp, [esp + 0x20]
xor edi, dword [edx*4 + reloc.WINMM.dll_waveOutUnprepareHeader]
not dx
mov edx, dword [esi + 4]
jmp 0x8d283b
sub esp, 0x1c
call fcn.008d2898
sub esp, 0x19
lea esp, [esp + 1]
jmp 0x8d28ed
movzx ebx, byte [esi + 6]
clc
stc
mov ebx, dword [ebx*4 + reloc.WINMM.dll_waveOutUnprepareHeader]
jmp 0x8d292d
mov edi, edx
shr edi, 0x18
mov edi, dword [edi*4 + reloc.WINMM.dll_waveOutUnprepareHeader]
jmp 0x8d28bf
mov dword [esp + 0x11], ebx
clc
lea esp, [esp + 3]
jmp 0x8d293f
sub esp, 0xf
mov dword [esp + 0xa], ebx
lea esp, [esp + 3]
and ebx, ecx
sub esp, 0x17
jmp 0x8d2917
lea esp, [esp + 0x38]
xor edi, dword [ebx*4 + reloc.WINMM.dll_waveOutUnprepareHeader]
lea ebx, [ecx + esi]
jmp 0x8d296d
push eax
mov eax, edx
lea eax, [eax*4]
lea eax, reloc.WINMM.dll_waveOutUnprepareHeader
jmp 0x8d2833
movzx ebx, byte [esi + 9]
pushfd
jmp 0x8d29d8
and edx, ecx
jmp 0x8d29b7
lea edi, [edi*4]
lea edi, reloc.WINMM.dll_waveOutUnprepareHeader
mov edx, dword [edi]
pop edi
jmp 0x8d298f
lea esp, [esp + 4]
xor edi, dword [edx*4 + reloc.WINMM.dll_waveOutUnprepareHeader]
setb dl
jmp 0x8d2a5a
and edx, ecx
push edi
mov edi, edx
jmp 0x8d29a5
shr edi, 0x18
pushfd
pushal
mov word [esp + 0x1c], si
jmp 0x8d2a1d
mov edi, edx
sub esp, 6
sub esp, 0x14
lea esp, [esp + 2]
jmp 0x8d29df
push esi
jmp 0x8d2a3f
mov edi, dword [edi*4 + reloc.WINMM.dll_waveOutUnprepareHeader]
stc
and edi, ecx
jmp 0x8d2a07
pop esi
pushfd
clc
pushfd
jmp 0x8d2aa2
mov esi, edi
lea esi, [esi*4]
lea esi, reloc.WINMM.dll_waveOutUnprepareHeader
mov edi, dword [esi]
jmp 0x8d2a29
mov edx, dword [esi + 8]
mov dword [esi + 4], edi
mov ebx, dword [ebx*4 + reloc.WINMM.dll_waveOutUnprepareHeader]
jmp 0x8d29f9
clc
stc
sub esp, 0x17
lea esp, [esp + 3]
jmp 0x8d2ad4
inc bh
movzx ebx, byte [esi + 0xa]
pushal
mov ebx, dword [ebx*4 + reloc.WINMM.dll_waveOutUnprepareHeader]
jmp 0x8d2a69
and ebx, ecx
lea esp, [esp + 0x44]
xor edi, dword [ebx*4 + reloc.WINMM.dll_waveOutUnprepareHeader]
lea ebx, [edi + ebp]
jmp 0x8d2a7f
mov bl, dl
push ecx
mov ecx, esi
jmp 0x8d2afb
and ebx, ecx
lea esp, [esp + 0x34]
xor edi, dword [ebx*4 + reloc.WINMM.dll_waveOutUnprepareHeader]
not ebx
jmp 0x8d2ab4
add ecx, 0xd
movzx ebx, byte [ecx]
pop ecx
sub esp, 0x1f
call fcn.008d2abb
push edx
leave
pop ecx
cmp bl, cl
js 0x8d2b05
push 0xfffffffffffffff8
lahf
push 0xffffffffffffffa8
push ss
invalid