Function at 0x5ce8a3
Capabilities:
Encrypt data using aes

Disassembly:
mov byte [esp], bh
and edx, ecx
pushal
jmp 0x5ce58c
pop dword [esp]
lea esp, [esp + 0x20]
xor edi, dword [edx*4 + reloc.WINMM.dll_waveOutUnprepareHeader]
btc edx, ebx
mov edx, dword [esp]
jmp 0x5ce5f9
sub esp, 0x14
lea esp, [esp + 2]
push ecx
mov ecx, esi
jmp 0x5ce5e3
mov dword [ecx], edi
pop ecx
pushal
sub esp, 0x18
bswap edi
lea edi, [ebp - 0x2f]
jmp 0x5ce622
setnp dh
mov edx, dword [esi + 4]
sub esp, 4
push dword [esp]
sub esp, 6
jmp 0x5ce5d3
push eax
mov eax, edi
jmp 0x5ce630
mov ebx, dword [ebx*4 + reloc.WINMM.dll_waveOutUnprepareHeader]
mov edi, edx
shr edi, 0x18
jmp 0x5ce60a
lea eax, [eax*4]
lea eax, reloc.WINMM.dll_waveOutUnprepareHeader
mov edi, dword [eax]
pop eax
jmp 0x5ce673
lea esp, [esp + 0x58]
xor edi, dword [ebx*4 + reloc.WINMM.dll_waveOutUnprepareHeader]
lea ebx, [esi*4]
jmp 0x5ce6c3
and edi, ecx
mov edi, dword [edi*4 + reloc.WINMM.dll_waveOutUnprepareHeader]
and ebx, ecx
jmp 0x5ce642
pop dword [esp + 4]
push ebp
pushal
mov cl, byte [esp]
jmp 0x5ce7c0
pop word [esp + 7]
lea esp, [esp + 2]
lea esp, [esp + 0x14]
popal
jmp 0x5ce770
mov bx, 0xc345
xchg bh, bl
movzx ebx, byte [esi + 6]
cmc
pushal
jmp 0x5ce69f
mov word [esp + 4], di
mov dword [esp + 9], ebp
call fcn.005ce6fa
and edx, ecx
sub esp, 0x16
push dword [esp + 0xe]
mov word [esp + 0xe], sp
lea esp, [esp + 2]
jmp 0x5ce759
lea esp, [esp + 0x2c]
xor edi, dword [edx*4 + reloc.WINMM.dll_waveOutUnprepareHeader]
neg edx
setbe dh
jmp 0x5ce79d
lea ebp, [ebp*4]
lea ebp, reloc.WINMM.dll_waveOutUnprepareHeader
mov ebx, dword [ebp]
pop ebp
sub esp, 0x12
jmp 0x5ce72c
mov di, 0x5df1
neg di
jmp 0x5ce7a9
mov edx, dword [esi + 8]
push edx
mov dword [esi + 4], edi
btc edi, edi
jmp 0x5ce786
mov ebx, dword [ebx*4 + reloc.WINMM.dll_waveOutUnprepareHeader]
mov di, 0x4d91
jmp 0x5ce7da
neg cx
bswap ebp
mov dword [esp + 8], ebx
sub esp, 0x16
mov byte [esp + 8], dh
push word [esp + 5]
jmp 0x5ce6ad
mov edi, edx
shr edi, 0x18
mov edi, dword [edi*4 + reloc.WINMM.dll_waveOutUnprepareHeader]
jmp 0x5ce7ec
stc
sub esp, 0xe
push edx
lea esp, [esp + 2]
jmp 0x5ce83c
and edi, ecx
pushal
call fcn.005ce823
movzx ebx, byte [esi + 0xa]
pushal
jmp 0x5ce8ec
xor edi, dword [ebx*4 + reloc.WINMM.dll_waveOutUnprepareHeader]
movzx ebx, byte [esi + 0xd]
call 0x5ce8a3
leave
cmc
mov word [esp], sp
jmp 0x5ce8c9
lea esp, [esp + 1]
and ebx, ecx
cmc
lea esp, [esp + 0x24]
jmp 0x5ce892
and edx, ecx
cmc
cmc
pushal
jmp 0x5cec26
and edx, ecx
lea esp, [esp + 0x5c]
xor edi, dword [edx*4 + reloc.WINMM.dll_waveOutUnprepareHeader]
mov dh, bh
jmp 0x5ce938
mov ebx, dword [ebx*4 + reloc.WINMM.dll_waveOutUnprepareHeader]
sub esp, 0x18
cmc
add esp, 0x15
push word [esp + 2]
jmp 0x5ce8bc
pushal
push edx
mov dword [esp + 4], edx
lea esp, [esp + 4]
popal
jmp 0x5ceac5
mov ebx, dword [ebx*4 + reloc.WINMM.dll_waveOutUnprepareHeader]
mov edi, dword [esp]
jmp 0x5ce901
mov edx, dword [esi + 0xc]
mov dword [esi + 8], edi
sub edi, eax
jmp 0x5ce91f
shr edi, 0x18
call fcn.005ce99d
and edx, ecx
jmp 0x5cea52
lea ecx, reloc.WINMM.dll_waveOutUnprepareHeader
mov edx, dword [ecx]
pop ecx
sub esp, 4
stc
push ecx
mov ecx, edx
lea ecx, [ecx*4]
jmp 0x5cea38
sub esp, 0x1a
mov dword [esp + 0x11], ebp
push edx
sub esp, 0x14
lea esp, [esp + 2]
jmp 0x5ce9b8
mov edx, dword [edx*4 + reloc.WINMM.dll_waveOutUnprepareHeader]
pushal
pop dword [esp + 4]
pushal
pop dword [esp + 0x20]
jmp 0x5ce8d3