Function at 0x8a9f9c
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push esi
btr si, bx
sub esi, esp
jmp 0x8a9fdb
jmp 0x8aa04c
pushal
mov byte [esp + 0x15], bl
jmp 0x8ae511
pop esi
jmp 0x8a7db9
and dword [ebp - 4], 0
jmp 0x8aa033
jmp 0x8ae420
xor esi, esi
jmp 0x8ae3b3
call 0x8ae39f
les ebx, [esi - 0x34]
stosd dword es:[edi], eax
sal word [esi], cl
mov bl, 0x23
inc esi
mov ch, 0x71
and dword ss:[eax - 0x5d], esp
ficom dword [ebp - 0x73]
and al, 4
push ebp
lea esp, [esp + 4]
jmp 0x8ae49b
pushfd
jmp 0x8ae3a7
jmp 0x8ae4da
pop edi
setns bl
jmp 0x8ae50b
pushfd
push word [esp + 3]
mov ax, 0xd7d5
jmp 0x8aa145
mov eax, dword [ebp - 0x10]
neg dl
jmp 0x8ae3ea
add edx, dword [ebp + 8]
mov eax, dword [ebp + 0xc]
call 0x877fcb
call 0x8ae446
add dword [edx], reloc.WINMM.dll_midiStreamOut
test dword [edx], reloc.WINMM.dll_midiStreamOut
xor al, cl
jge 0x8a9f00
invalid
movzx eax, word [edi + esi*2]
neg cx
jmp 0x8ae4ad
cmp dword [ebp - 4], ebx
jmp 0x8ae358
and dword [ebp - 0xc], 0
neg edx
jmp 0x8a9f72
sub esp, 0x18
mov ecx, dword [ebp + 8]
mov ax, word [esp]
mov eax, dword [ecx + 0x3c]
jmp 0x8a9f4d
add eax, ecx
bswap edx
bts edx, esp
mov edx, dword [esp]
jmp 0x8aa007
xor eax, eax
jmp 0x8a7db9
lea edx, [eax + edx]
lea esp, [esp + 4]
jmp 0x8a9f63
mov dword [esi], eax
pop esi
jmp 0x8a9fc3
push esi
mov esi, ebp
lea esi, [esi - 0x18]
jmp 0x8a9fa5
je 0x8a7da3
mov ah, 0xc5
mov ax, cx
jmp 0x8a9fe5
adc eax, 0x690e980b
cwde
jne 0x8aa03c
xchg edi, eax
dec cl
mov esi, dword [eax + 0x78]
add esi, ecx
mov eax, dword [eax + 0x7c]
jmp 0x8a9fbb
jl 0x8a9fcf
salc
mov eax, dword [esi + 0x20]
test eax, eax
jne 0x8a7de5
je 0x8a7da3
jp 0x8a9fe2
js 0x8aa019
ljmp 0x9fa:0x9f0f9855
mov edx, 0x10b
cmp word [eax + 0x18], dx
je 0x8a7d88
not eax
jmp 0x8a9f81
invalid
lea esp, [esp + 0x1c]
push ebx
mov bh, 0x51
jmp 0x8aa07a
add eax, ecx
pushal
lea esp, [esp + 5]
push word [esp + 0x19]
lea esp, [esp + 1]
jmp 0x8aa01d
je 0x8aa062
sbb dword [ebp - 0x14fedb9c], ecx
fdivr dword [eax + ebp*4]
pop ecx
test al, 0x69
inc ebp
push sp
lea esp, [esp + 2]
xor eax, eax
jmp 0x8a7dcf
pushal
push ecx
mov ecx, ebp
jmp 0x8aa0ac
mov eax, dword [esi + 0x1c]
jmp 0x8aa083
mov ebx, dword [esi + 0x18]
push edi
mov edi, dword [esi + 0x24]
jmp 0x8aa059
cmc
sub esp, 7
lea esp, [esp + 3]
add edi, ecx
pushal
jmp 0x8aa094
sub esp, 0x15
mov byte [esp + 0x2a], ah
mov dword [esp + 0xb], ecx
lea esp, [esp + 1]
jmp 0x8aa0d0
add ecx, 0xfffffff0
mov dword [ecx], eax
pop ecx
call 0x8aa05f
jmp 0x8aa171
adc dword [eax - 0x7d], esi
xor al, al
cmp dword [edx], 0x15
test byte [ebx], al
ror dword [ebp + reloc.WINMM.dll_midiStreamOut], 0x55
add eax, ecx
lea esp, [esp + 0x5c]
dec ebx
push ebp
call 0x8aa0ba
sub bh, byte [ebx + 0x78bd4e2b]
add byte [edx + esi + 0x7617a455], bl
jmp 0x5d75b968
push si
lea esp, [esp + 2]
jmp 0x8a9e9c
mov dword [ecx], edi
pop ecx
call fcn.008aa107
lea esp, [esp + 0xc]
js 0x8a8e20
jns 0x8a9eb3
adc al, 0x87
cmp dword cs:[eax], ebx
jnp 0x8aa0c7
fisttp qword [ebp + 0x389ec5b]
pop ebx
jmp 0x8aa125
lea esp, [esp + 2]
mov eax, dword [ebp - 4]
lea edx, reloc.WINMM.dll_midiStreamOut
mov dl, byte [esp]
mov dx, sp
jmp 0x8aa18f
lea esp, [esp + 4]
cdq
bt edi, edi
jmp 0x8aa179
push ecx
mov ecx, ebp
lea ecx, [ecx - 8]
jmp 0x8aa11d
sub eax, edx
lea edx, [edi + 0x61]
xchg dx, di
btc dx, sp
jmp 0x8aa1b4
add eax, ebx
setne dh
neg dh
and edi, 0x1acef30a
jmp 0x8aa15b
mov ebx, ebp
jmp 0x8aa1bc
mov edi, eax
mov ah, byte [esp]
push ebx
jmp 0x8aa19e
add ebx, 0xfffffff0
mov eax, dword [ebx]
pop ebx
mov dx, word [esp]
jmp 0x8ab233
lea ebp, [eax + ebp]
mov edx, dword [ebp]
pop ebp
bsf ax, dx
push dx
jmp 0x8ab213
pushal
mov si, cx
mov dword [esp + 8], edi
popal
lea ebp, [ebp*4]
jmp 0x8ab1e0
lea esp, [esp + 2]
lea esp, [esp + 8]
add edx, dword [ebp + 8]
mov eax, edi
sete al
jmp 0x8ab23f
sar edi, 1
sub esp, 0xa
lea esp, [esp + 2]
push ebp
jmp 0x8ab201
setl ah
mov eax, dword [ebp + 0xc]
call fcn.00877fc6
clc
jmp 0x8ac27b
lea esp, [esp + 2]
jmp 0x8ac2a1
test eax, eax
push bx
push di
mov word [esp], bp
lea esp, [esp + 2]
jmp 0x8ac265
bsf cx, sp
jmp 0x8ad2e7
jne 0x8a8e02
btc ax, si
mov eax, dword [ebp - 8]
bt ecx, ebx
jmp 0x8ac28b
mov edx, ebp
add edx, 0xffffffec
mov ecx, dword [edx]
pop edx
jmp 0x8ad307
movzx eax, word [eax + edi*2]
mov ecx, edx
clc
push edx
jmp 0x8ad2c7
mov eax, dword [ecx + eax*4]
add eax, dword [ebp + 8]
call 0x8ad2f1
cmp eax, esi
jmp 0x8ad334
lea esp, [esp + 4]
jb 0x8a8e4c
bswap ecx
mov ecx, dword [ebp - 0x18]
jmp 0x8ae5ab
jle 0x8a9eb3
jmp 0x8a9e81
mov edi, dword [ebp - 8]
lea esp, [esp + 4]
jmp 0x8a8e20
pushal
lea esp, [esp + 0x20]
test ebx, ebx
push bp
lea esp, [esp + 2]
jmp 0x8ae400
mov edx, dword [eax + esi*4]
mov eax, 0x17bf4d47
jmp 0x8a9ee9
jl 0x8a9e97
jge 0x8a9edf
mov edi, 0x38c9ae38
cli
xchg ebx, eax
adc eax, 0xa31fec85
add eax, dword [esi + reloc.WINMM.dll_midiStreamOut]
mov bh, 0x9e
cmp dword [ebp - 4], ebx
je 0x8a9e81
test eax, eax
call fcn.008a8e07
add esp, 2
lea esp, [esp + 1]
lea esp, [esp + 1]
jmp 0x8ae46d
push word [esp + 0x11]
lea esp, [esp + 1]
jmp 0x8ae485
test eax, eax
call 0x8ae448
lea esp, [esp + 4]
je 0x8a9f06
cmc
inc esi
sub esp, 0x1b
jmp 0x8ae456
cmp esi, ebx
jmp 0x8ae4c3
test eax, eax
pushfd
lea esp, [esp + 4]
jne 0x8aa0f1
jmp 0x8a9f37
lea ecx, [ecx + ebx]
not cl
and cx, 0x9566
jmp 0x8ae4f6
lea esp, [esp + 0x1c]
jle 0x8a9edf
jmp 0x8a9e97
add eax, dword [ebp + 8]
call fcn.008ae4ff
mov eax, dword [ebp - 0xc]
jmp 0x8aa0f1
mov ecx, dword [ebp - 0x14]
stc
mov eax, dword [ecx + eax*4]
jmp 0x8ae4d2
pop ebx
jmp 0x8a7dcf
lea esp, [esp + 0xa]
lea esp, [esp + 2]
jmp 0x8ae571
lea esp, [esp + 1]
jb 0x8a8e36
jae 0x8a8e4c
lea esp, [esp + 0x14]
leave
ret 8
add ecx, esi
cmp eax, ecx
pushfd
lea esp, [esp + 3]
jmp 0x8ae52a