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

Disassembly:
push edi
mov edi, esi
jmp 0x58b6c6
add edi, 6
movzx ebx, byte [edi]
pop edi
sub esp, 2
add esp, 1
jmp 0x58b793
clc
jmp 0x58b730
movzx ebx, byte [esi + 9]
stc
and edx, ecx
clc
jmp 0x58b6fa
lea edx, [esi + ebp]
jmp 0x58b742
mov edx, dword [edx*4 + reloc.WINMM.dll_midiStreamStop]
and edx, ecx
xor edi, dword [edx*4 + reloc.WINMM.dll_midiStreamStop]
jmp 0x58b71a
mov edx, dword [esi + 8]
push ebx
mov ebx, esi
jmp 0x58b770
mov ebx, dword [ebx*4 + reloc.WINMM.dll_midiStreamStop]
lea edi, [ebx + edi]
jmp 0x58b7e7
and ebx, ecx
lea esp, [esp + 4]
xor edi, dword [ebx*4 + reloc.WINMM.dll_midiStreamStop]
stc
jmp 0x58b710
add ebx, 4
mov dword [ebx], edi
pop ebx
bsf di, ax
bsf edi, esp
jmp 0x58b74a
lea esp, [esp + 1]
mov ebx, dword [ebx*4 + reloc.WINMM.dll_midiStreamStop]
stc
push di
lea esp, [esp + 2]
jmp 0x58b760
mov edi, edx
cmc
shr edi, 0x18
call fcn.0058b7bd
and edi, ecx
clc
cmc
push ebx
jmp 0x58b862
movzx ebx, byte [esi + 0xa]
stc
stc
jmp 0x58b884
lea esp, [esp + 0x14]
xor edi, dword [ebx*4 + reloc.WINMM.dll_midiStreamStop]
dec ebx
jmp 0x58b834
mov edi, dword [edi*4 + reloc.WINMM.dll_midiStreamStop]
and ebx, ecx
push ebx
jmp 0x58b84a
and ebx, ecx
jmp 0x58b895
mov ebx, dword [ebx*4 + reloc.WINMM.dll_midiStreamStop]
push eax
sub esp, 0x1f
lea esp, [esp + 3]
jmp 0x58b86e
lea esp, [esp + 0x20]
xor edi, dword [ebx*4 + reloc.WINMM.dll_midiStreamStop]
bsf ebx, eax
not ebx
inc bh
jmp 0x58bb9a
mov edi, edx
jmp 0x58b8fe
mov dword [esi + 8], edi
dec edi
mov di, 0xc6e3
mov ebx, dword [ebx*4 + reloc.WINMM.dll_midiStreamStop]
jmp 0x58b8c1
mov bx, cx
bsf si, di
mov cl, byte [esp]
mov ch, dh
mov dword [esp + 8], edi
jmp 0x58b91b
shr edi, 0x18
push ebp
pushal
jmp 0x58b8e8
pop ebp
push edi
push word [esp + 3]
lea esp, [esp + 2]
jmp 0x58b92f
clc
popal
lea ebp, [ebp*4]
lea ebp, reloc.WINMM.dll_midiStreamStop
mov edi, dword [ebp]
jmp 0x58b905
and edi, ecx
mov edi, dword [edi*4 + reloc.WINMM.dll_midiStreamStop]
jmp 0x58b967
mov ebx, esi
add ebx, 0xc
mov edx, dword [ebx]
pop ebx
jmp 0x58b8d7
mov ebx, dword [esp]
mov bh, byte [esp]
jmp 0x58b979
and ebx, ecx
lea esp, [esp + 4]
xor edi, dword [ebx*4 + reloc.WINMM.dll_midiStreamStop]
mov bl, byte [esp]
jmp 0x58b951
movzx ebx, byte [esi + 0xe]
sub esp, 0x1c
call 0x58b986
mov esi, 0x5244488
mov ebx, dword [ebx*4 + reloc.WINMM.dll_midiStreamStop]
jmp 0x58baff
lea esp, [esp + 0x38]
xor edi, dword [edx*4 + reloc.WINMM.dll_midiStreamStop]
push ebx
jmp 0x58b947
xor edi, dword [edx*4 + reloc.WINMM.dll_midiStreamStop]
pushfd
push word [esp + 2]
call fcn.0058ba3d
jg 0x58ba09
int1
invalid
lea esp, [esp + 0x20]
xor edi, dword [ebx*4 + reloc.WINMM.dll_midiStreamStop]
and edx, ecx
jmp 0x58b9af
lea esp, [esp + 0x24]
jne 0x557fa7
je 0x557fbe
movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte ss:[esi]
ret
dec ebp
cld
push esp
mov dword [esi + 0xc], edi
pushal
jmp 0x58b9ea
and edx, ecx
mov edx, dword [edx*4 + reloc.WINMM.dll_midiStreamStop]
and ebx, ecx
jmp 0x58b9c5
and edx, ecx
sub esp, 9
sub esp, 0x1c
sub esp, 0x16
lea esp, [esp + 3]
jmp 0x58b9a1
movzx ebx, byte [esi + 0xd]
and edx, ecx
mov edx, dword [edx*4 + reloc.WINMM.dll_midiStreamStop]
jmp 0x58bb52