Function at 0x77b678
Capabilities:
Encrypt data using aes

Disassembly:
lea esp, [esp + 0x20]
cmp dl, 0x3d
push edx
mov dword [esp], esi
pushal
jmp 0x77bb60
and ebx, ecx
call fcn.0077a80b
mov dword [esi + 8], edi
jmp 0x77a877
mov edx, dword [eax]
pop eax
sub esp, 0xa
lea esp, [esp + 2]
jmp 0x77a83b
push eax
mov eax, esi
lea eax, [eax + 0xc]
jmp 0x77a852
mov ebx, dword [ebx*4 + reloc.WINMM.dll_waveOutOpen]
not di
and di, 0x4cf8
lea edi, [edx + ebp]
call fcn.0077a8c8
inc esi
lea esp, [esp + 0x40]
xor edi, dword [edx*4 + reloc.WINMM.dll_waveOutOpen]
mov edx, dword [esp]
mov edx, 0x8e05360
jmp 0x77a86f
fsubr qword [edi]
lcall 0x89d8, 0xf9ee47d4
inc esp
and al, 3
mov ebx, dword [ebx*4 + reloc.WINMM.dll_waveOutOpen]
sbb al, 0x9d
je 0x77abb0
jne 0x77ab4d
jmp 0x77a834
call fcn.0077b715
cli
jb 0x77ab3a
xchg dword [edx - 0x50], esi
clc
ja 0x77ab47
xor byte [ecx - 0x32], 0xea
add eax, 0x9acea7b4
sbb al, 0xb2
aad 0x24
xchg edi, eax
in al, dx
imul edi, ecx, 0x8a86b98
pushal
jmp 0x74c5c9
hlt
call 0x77b869
int 0x40
salc
mov cl, 0x40
sub dword [ebp - 3], 0x6d
hlt
push esp
push word [esp + 3]
push edx
jmp 0x77b8a2
push esp
jmp 0x77ba00
call 0x77b930
arpl di, bp
jg 0x77ac6e
jmp 0x967837a0
push esp
push esp
jmp 0x77ba7c
test al, 0x39
test eax, 0x98fd3bc8
sti
shl byte [ebp + 0x34c5a22c], cl
test dword [ebp + reloc.WINMM.dll_waveOutOpen], esi
call [eax - 0x23b22d05]
pushal
jmp 0x77b9b7
add byte [eax], al
mul dword fs:[edi + 2]
int1
cmp al, 0x72
call 0x2e5fc618
test dword [edi], esi
dec esi
fnstenv [ebx + 0xb54623]
and dword ss:[eax - 0x5d], esp
pop eax
jmp 0xbeced102
xor eax, 0x89be5724
sub byte [ebx - 0x7214b818], al
mov edx, 0x8fb70495
add dword [ecx + reloc.WINMM.dll_waveOutOpen], edx
ret 0x3750
call fcn.0077b9c9
fnstcw word [ecx - 0x17]
mov byte [ebx - 2], bh
fcomp dword [edx - 0x38]
scasd eax, dword es:[edi]
pop edx
lahf
cmp edx, dword [edx]
lea ebx, [edi + ebp*2]
call fcn.0077be95
out 0x72, al
loopne 0x77ac8c
jb 0x77acc7
in al, 0x77
out 0x82, eax
jno 0x77acc9
ljmp 0x60ed:0xcea7b405
push dword [esp + 2]
mov dword [esp + 1], ebp
jmp 0x77b6ce
lea esp, [esp + 2]
lea esp, [esp + 0x1c]
cmp cl, 0x7a
push edx
mov word [esp], bx
jmp 0x77b6af
push word [esp + 3]
lea esp, [esp + 2]
lea esp, [esp + 4]
jbe 0x77ab75
ja 0x77ab52
xor ch, byte [0x1960f3c]
lea esp, [esp + 8]
jb 0x77ab52
sub esp, 0x1e
pop dword [esp + 0x12]
push dword [esp + 2]
jmp 0x77b682
lea esp, [esp + 2]
jmp 0x77b8bc
lea esp, [esp + 8]
cmp al, 0x2b
pushal
pop word [esp + 9]
mov word [esp + 2], dx
jmp 0x77b919
push dword [esp + 0x18]
lea esp, [esp + 2]
lea esp, [esp + 0x20]
jne 0x77ac4b
call fcn.0077b8fe
push edx
lea esp, [esp + 8]
jmp 0x77b93b
cmp al, 0x2f
pushal
push word [esp + 0x11]
push word [esp + 9]
jmp 0x77bace
lea esp, [esp + 4]
mov dword [edi], 1
jmp 0x77abf7
push word [esp + 4]
lea esp, [esp + 3]
jmp 0x77b9e4
lea esp, [esp + 0xf]
lea esp, [esp + 3]
movzx eax, al
sub esp, 0xc
lea esp, [esp + 3]
jmp 0x77b97f
lea esp, [esp + 0x20]
cmp al, 0x39
ja 0x77ace6
clc
sub esp, 0x12
jmp 0x77b997
lea esp, [esp + 8]
add eax, 4
jmp 0x77ac61
mov word [esp], sp
lea esp, [esp + 4]
pop eax
jmp 0x77ac61
mov dword [esp + 1], ecx
lea esp, [esp + 8]
push esi
stc
jmp 0x77baa9
cmp bl, 0x2b
call fcn.0077ba88
lea esp, [esp + 0x24]
jne 0x77ac88
push 0x3f
jmp 0x77ac2d
push word [esp + 7]
lea esp, [esp + 2]
lea esp, [esp + 0x24]
jne 0x77abcb
push edx
jmp 0x77b970