Function at 0x818514
Capabilities:
Encrypt data using aes

Disassembly:
cmp al, 0x2b
jmp 0x8182c4
mov word [esp], si
lea esp, [esp + 4]
cmp al, 0x30
jmp 0x81827c
jmp 0x8183a8
mov dl, byte [ecx + 2]
jmp 0x81842f
push ecx
push word [esp + 1]
lea esp, [esp + 2]
jmp 0x8185f5
push ebx
jmp 0x818607
cmp dl, 0x61
call 0x7e5275
push 0xffffffffffffff8d
and al, 4
jb 0x7e52a3
jae 0x818414
jb 0x7e52f0
jl 0x7e52d4
rep stosb byte es:[edi], al
jmp 0x870f37
cmp dl, 0x30
call fcn.00818453
pop ss
retf 0xffe7
jmp 0x818506
xor bl, byte [ecx + 0x7b473d7f]
push edx
int 0x5c
jmp 0x801b14
mov dh, 0xa1
loopne 0x7e52dd
jmp 0x81852a
xor dh, byte [edx]
add eax, dword [eax]
pop es
jmp 0x7e532f
call 0x818567
xor ebx, dword [edx - reloc.WINMM.dll_midiStreamStop]
stosd dword es:[edi], eax
out 0x4e, al
cdq
jg 0x7e536d
cmp eax, 0x9d62cb23
in al, dx
and ecx, ebx
bound ebx, qword [ebp + 0x2bf980ec]
cmp cl, 0x2b
jmp 0x8185b0
cmp dl, 0x3d
jmp 0x818630
and cl, cl
push ebp
mov ebp, dword [esp]
jmp 0x818ed5
cmp al, 0x2b
jne 0x817eb0
je 0x8186c5
neg esi
sub dword [eax - 0x6c], ecx
add dl, byte [eax + 0x43b302f7]
cli
aad 0x44
outsd dx, dword [esi]
or bh, cl
ret 0xd04e
push cx
push word [esp]
jmp 0x81866c
pushal
pop word [esp + 0x14]
mov byte [esp + 4], bl
lea esp, [esp + 2]
jmp 0x8186e3
jmp 0x81876d
mov eax, dword [esp]
jmp 0x8187d5
clc
call fcn.00817ed5
call fcn.0081870e
pop es
add byte [eax], al
mov ebx, dword [reloc.WINMM.dll_midiStreamStop]
sti
outsb dx, byte [esi]
cld
wait
jbe 0x817eef
inc esi
jno 0x817fa3
jae 0x817f20
dec edi
fistp qword [edx - 0x1f9d2fb7]
jbe 0x817f4f
loopne 0x817f95
pushfd
sbb eax, 0x9027d48d
in al, dx
and edx, ecx
mov edx, dword [edx*4 + reloc.WINMM.dll_midiStreamStop]
and ebx, ecx
jmp 0x817f18
add byte [ecx], ah
retf
sub eax, 0x47
jmp 0x817f1e
retf
lahf
ret 0xcb5b
call fcn.0081877e
sahf
push ds
mov ebx, gs
loop 0x817f62
jae 0x817f5b
xchg byte [ebp - 0x49], dh
mul cl
and byte [ebx - 0x66], ah
jmp 0x818726
push eax
call fcn.008187ba
cmpsb byte [esi], byte es:[edi]
das
mov edi, 0xcc8829da
inc eax
salc
mov cl, 0x40
test byte [ebp + 0x4c], bh
fbld tbyte [esi]
push ecx
jb 0x7e51a9
jae 0x8182ad
invalid
jmp 0x7e51c4
cmp al, 0x39
call fcn.00818297
lea esp, [esp + 8]
jbe 0x7e51de
ja 0x7e51a9
je 0x7e51de
stc
jmp 0x8183f5
pushfd
lea esp, [esp + 1]
lea esp, [esp + 3]
push edi
mov edi, dword [esp]
call fcn.0081824c
cmp bl, 0x41
call fcn.0081834e
mov cl, byte [ebx]
wait
dec byte [0x22ac20b4]
inc ebp
mov ah, 0x70
cmp dword [eax], ebx
lea esp, [esp + 8]
mov byte [ebp - 1], bl
pushal
lea esp, [esp + 0x20]
jmp 0x8182f0
mov bl, byte [ecx + 1]
clc
stc
sub esp, 0xa
lea esp, [esp + 2]
jmp 0x818306
cmp al, 0x2f
pushfd
lea esp, [esp + 4]
jne 0x7e5256
je 0x7e51de
jbe 0x7e52b9
ja 0x7e526c
cmp dl, 0x7a
jbe 0x7e52b9
ja 0x7e52a3
add ebx, dword [edi + reloc.WINMM.dll_midiStreamStop]
jb 0x818498
jl 0x81847c
salc
inc ecx
cmp dl, 0x41
jb 0x7e526c
cmp dl, 0x5a
jmp 0x818408
adc dword [eax + reloc.WINMM.dll_midiStreamStop], edx
test edi, ecx
int 0xfc
dec dword [edi]
test byte [edi - 0x33], ah
cld
dec dword [ebp + reloc.WINMM.dll_midiStreamStop]
test byte [edx], ah
into
cld
invalid
cmp bl, 0x2f
jne 0x7e5256
je 0x7e51f4
lea esp, [esp + 4]
je 0x7e52b9
call fcn.008184bb
seta byte [edi]
pop ds
add byte [eax], al
add byte [edi], cl
xchg edi, eax
pop es
bound edx, qword [ecx - 0x171475d2]
je 0x7e52b9
sub esp, 1
lea esp, [esp + 1]
jmp 0x8184c7
cmp dl, 0x3d
push eax
lea esp, [esp + 4]
jne 0x7e5256
je 0x7e52b9
invalid
pushal
jmp 0x818548
mov cl, byte [ecx + 3]
cmp cl, 0x41
jb 0x7e52f3
jae 0x8184f0
push bx
jmp 0x81857d
cmp cl, 0x61
jb 0x7e531f
sub esp, 0xe
call 0x818514
dec ebx
leave
pop ecx
cmp bl, cl
or eax, 0x9ff86aeb
push 0xffffffffffffffae
or ecx, dword [ebp - reloc.WINMM.dll_midiStreamStop]
stc
pop edx
lea esp, [esp + 0x20]
cmp cl, 0x5a
jbe 0x7e534b
ja 0x7e52f3
jbe 0x7e534b
ja 0x7e531f
mov word [esp + 1], si
jmp 0x8185c6
lea esp, [esp + 0x14]
cmp cl, 0x7a
pushal
lea esp, [esp + 0x20]
jmp 0x81855b
jbe 0x7e534b
ja 0x7e5335
mov bh, 0x31
mov eax, dword [reloc.WINMM.dll_midiStreamStop]
mov bl, 0xaa
lds ecx, [ebp + 0xf042464]
or byte [edx - 0x7f000333], 0xf9
cmp ebx, ebp
fisttp dword [edi]
test byte [ebp + 0x75fffccd], dl
and dword [ebx - 0xa], esi
lea esp, [esp + 4]
jb 0x7e5335
cmp cl, 0x39
jmp 0x81858b
je 0x7e534b
jne 0x8185d9
jae 0x8185b0
add edi, esi
inc ecx
outsd dx, dword [esi]
jmp 0x81863c
lea esp, [esp + 4]
cmp cl, 0x30
push esi
push word [esp + 3]
lea esp, [esp + 2]
jmp 0x8185a1
cmp cl, 0x2f
je 0x7e534b
pushfd
jmp 0x81861d
lea esp, [esp + 4]
cmp bl, 0x2b
je 0x7e51f4
jmp 0x81847e
push word [esp + 1]
push dword [esp + 1]
lea esp, [esp + 2]
jmp 0x818646
lea esp, [esp + 4]
cmp cl, 0x3d
je 0x7e534b
jne 0x7e5256
jne 0x817e9a
pushal
jmp 0x81869a
aaa
ret 0xe71
mov eax, 0x403
lea esp, [esp + 8]
jmp 0x7e5361
xor ebx, ebx
call fcn.00818654
lea esp, [esp + 8]
cmp cl, 0x3d
setne bl
jmp 0x8186bf
and al, 4
inc ebx
push eax
jmp 0x8186a9
lea esp, [esp + 0x20]
mov dword [edi], 1
jmp 0x817e6f
mov eax, edi
mov dword [eax], ebx
pop eax
jmp 0x8186db
inc ebx
call fcn.0081867f
push 0x3e
jmp 0x817efd
mov bl, byte [ebp - 1]
jmp 0x817e6f
lea esp, [esp + 0x1c]
cmp al, 0x2f
call fcn.008188dd
pop ds
mov ebx, dword [ebx]
jle 0x818680
dec edi
scasb al, byte es:[edi]
mov ecx, 0x4dd2fb98
jbe 0x7e51f4
ja 0x7e5223
sub eax, 0x41
jmp 0x817f1e
cmp al, 0x5a
movzx eax, al
ja 0x817f54
jbe 0x818706
pushfd
jmp 0x818754
lea esp, [esp + 4]
jne 0x817f6a
push bx
lea esp, [esp + 2]
jmp fcn.00818794
ja 0x817f80
movzx eax, al
add eax, 4
jmp 0x817f1e
lea esp, [esp + 4]
jmp 0x817f1e
lea esp, [esp + 0xc]
push ecx
stc
push ebx
jmp 0x8182de
mov ebp, esp
sub esp, 0x13
lea esp, [esp + 3]
mov dword [esp + 0xc], ecx
jmp 0x818957
push edi
inc eax
in al, 0xad
adc edi, dword [edi + reloc.WINMM.dll_midiStreamStop]
or edx, edi
xor ebx, dword [esp + esi*2]
invalid
add edi, edx
test al, 0x33
xchg ebp, eax
cmc
js 0x870ea6
outsb dx, byte [esi]
adc byte [edi - 0x77bd6ead], al
add edi, edx
pop dword [eax - 0x40]
push 0xffffffffffffff8b
and eax, 0xda81d65f
mov al, byte [0x1db3129]
cli
cwde
mov ah, 0x6e
popfd
inc esp
sbb dword [eax], edi
outsd dx, dword [esi]
mov ebx, 0x2a5bc7e6
pop es
cli
pop ss
int1
rcl dword [eax]
adc al, 0xb7
sti
sub eax, 0xd20448f7
stc
test eax, 0xdc93fa09
leave
jns 0x870fa0
push 0x51db28
call fcn.007f468f
mov eax, 0x31edf29b
cmp al, 0x82
sti
dec ecx
dec edi
dec eax
xor edx, edx
aam 0xec
daa
pushfd
jge 0x870fcd
sub bl, bl
push ecx
add al, ch
dec esi
aaa
clc
invalid
mov fs, ebp
loop 0x870ef1
aam 0x2d
cmp eax, 0xf85ea8f4
mov dl, 0xe9
push esi
cld
iretd
loope 0x870f58
invalid
jmp 0x870fd1
mov bh, 0x81
adc esi, esp
cmpsd dword [esi], dword es:[edi]
and al, 0x16
or byte [edi + 0x29da5d5a], ch
loopne 0x870fef
push cs
wait
mov cl, 0x63
invalid
ret
pop eax
add al, ch
cdq
clc
call [eax - 0x31]
cld
mov word [eax], ss
mov eax, 0x88531f15
dec ecx
inc esp
mov eax, dword [reloc.WINMM.dll_midiStreamStop]
frstor dword [esi]
mov bh, 0x77
xor al, 0x11
xchg ecx, eax
adc byte [ebx + 0x1814e50a], dl
cmp bh, bh
jno 0x870fe6
add al, 0x3a
lodsb al, byte [esi]
and eax, 0xee2fdcb5
aam 0x47
out dx, al
inc ecx
xlatb
mov esp, 0xf6373b10
fnstcw word [esi - 0x5e]
fisubr word [ebx + 0x39]
mov dword [edi + edx*8 - reloc.WINMM.dll_midiStreamStop], edi
inc edi
mov ah, 0xa0
mov dh, 0xad
cmp ebp, ebp
dec esp
push eax
mov ah, 0x85
and byte [edi + 0x7f], ah
inc esp
not byte [ebp - 0xe]
mov byte [edx], bl
jns 0x871077
invalid
int3
sbb al, 0x87
or eax, 0xa617e49d
sbb al, 0x6f
jbe 0x8710f1
push cs
mov byte [esi], dh
insd dword es:[edi], dx
jnp 0x8710a2
push esi
cmp byte [ecx], al
pushal
and dword [esi + reloc.WINMM.dll_midiStreamStop], ebp
jnp 0x87105d
lodsb al, byte [esi]
add eax, 0xc97b5f49
lodsd eax, dword [esi]
adc al, 0x70
call 0x72ff6da0
adc eax, 0x61a73d91
mov al, byte [0xa5e91ae3]
add byte [eax], al
add byte [ebp + 0x64], dh
xchg edi, eax
invalid
jecxz 0x8710be
jmp 0x87114e
xchg dword cs:[ecx + 0x91f878], ebx
loopne 0x87108e
ret 0xd949
retf
cdq
out dx, al
jl 0x8710eb
movsb byte es:[edi], byte [esi]
fstp xword [ebp + 0x24dd1432]
pop ebp
invalid
pushfd
mov dword [esp], reloc.WINMM.dll_midiStreamStop
call fcn.007f6bab
sub eax, 0xd3960f3c
ror byte [edx], cl
jp 0x871197
cmpsd dword [esi], dword es:[edi]
adc al, 0x87
fisttp dword [edi]
adc dword [ecx], reloc.WINMM.dll_midiStreamStop
cmp dword [edx], 0x68
ja 0x8711e6
jb 0x8711b4
call fcn.007f956f
adc eax, 0xe1e3784
push ds
push cs
adc eax, 0xcb8bbbf3
pop eax
sbb byte [ecx + ebp*2], ch
mov byte [ebx], ch
frstor dword [eax + reloc.WINMM.dll_midiStreamStop]
lodsb al, byte [esi]
pop ss
scasd eax, dword es:[edi]
inc edx
std
push 0x61377623
and esi, dword [esi + 0x37]
popal
call fcn.007f24f0
int3
dec edx
in eax, 0xd4
adc byte [ebx], ah
ficom dword [ebx]
mov eax, dword [reloc.WINMM.dll_midiStreamStop]
cmp dword cs:[ebx - reloc.WINMM.dll_midiStreamStop], eax
xchg ebx, eax
dec eax
xchg esi, eax
or byte [edx + 0x249a6f08], bl
jnp 0x871225
int 0x5c
scasd eax, dword es:[edi]
mov dh, 0x7a
popfd
mov dl, 0xf9
push edi
or dl, dh
and byte ss:[esi - 0x665bfe93], cl
int3
stosd dword es:[edi], eax
rcl ch, cl
fiadd dword [eax - 0x76a51cd2]
xor ch, byte [ebx + 0x7298938b]
jae 0x87117e
dec ecx
jne 0x8711a0
jnp 0x871215
invalid
popal
call fcn.007f24f0
mov ch, 0xa4
xlatb
movsb byte es:[edi], byte ds:[esi]
test dl, dh
pop es
pushal
pop ss
retf 0x857e