Function at 0x7f3b8d
Capabilities:
Encrypt data using aes

Disassembly:
call fcn.007c0bd8
push esi
mov ebp, 0x43096362
push edi
sub esp, 0xe
jmp 0x7c0c12
btr esi, edx
lea esp, [esp + 2]
jmp 0x7c0c41
lea esp, [esp + 0xc]
movzx edx, byte [eax]
mov bl, bh
jmp 0x7c0c6a
shl edx, 8
pushal
jmp 0x7c0c96
lea esp, [esp + 0x20]
movzx esi, byte [eax + 1]
mov bl, 0x74
cmc
sub esp, 0x16
jmp 0x7c0cd5
lea esp, [esp + 2]
lea esp, [esp + 0x24]
movzx esi, byte [eax + 2]
mov bp, word [esp]
pushal
jmp 0x7c0d32
lea esp, [esp + 2]
xor edx, esi
xchg bl, bh
sub esp, 0x14
pop bp
jmp 0x7c0cba
xor edx, esi
lea esp, [esp + 0x40]
movzx esi, byte [eax + 3]
call 0x7c0d17
xchg ecx, eax
mov ebx, dword [esp + 3]
jmp 0x7f3879
shl edx, 8
rol di, cl
pushal
neg bh
jmp 0x7c0d07
jmp 0x7dffda
lea esp, [esp + 4]
jmp 0x7c0bfd
xor edx, esi
clc
xchg esi, ebx
btr ebx, esp
mov bl, bh
jmp 0x7f38b9
setae dh
jmp 0x7f38a2
xchg byte [esp], bl
mov di, word [esp + 2]
shl edx, 8
sub esp, 0xa
lea esp, [esp + 2]
jmp 0x7f3855
movzx edx, byte [eax + 4]
cmc
mov bh, 0xc3
jmp 0x7f390c
lea esp, [esp + 0xc]
movzx esi, byte [eax + 5]
mov dword [ecx], edx
mov dx, cx
jmp 0x7f3861
xchg bl, bh
movzx esi, byte [eax + 6]
xchg ebp, ebx
shl edx, 8
jmp 0x7f398a
xor edx, esi
mov bl, bh
jmp 0x7f395b
shl edx, 8
mov bx, di
xor edx, esi
mov esi, 0xfffd269c
jmp 0x7f38e6
xor edx, esi
sub esp, 0xa
lea ebp, [ecx + edi]
lea ebp, [ebx + ebp]
lea esp, [esp + 2]
jmp 0x7f3941
lea esp, [esp + 2]
shl edx, 8
stc
push edx
jmp 0x7f391b
lea esp, [esp + 0x10]
movzx esi, byte [eax + 9]
lea ebx, [ebp*4]
jmp 0x7f3971
movzx esi, byte [eax + 7]
mov di, si
sub esp, 6
lea ebp, [ecx - 0xf3]
xchg byte [esp + 3], bl
jmp 0x7f3936
mov edi, 0xdf31af2a
neg bh
jmp 0x7f4079
cmc
lea edi, [edi + ebp]
jmp 0x7f38f6
movzx esi, byte [eax + 0xd]
mov edi, 0x822a2dde
mov bl, byte [esp]
neg edi
jmp 0x7f39ee
mov si, di
mov si, word [esp]
mov bl, byte [esp]
mov ebx, 0x5eb9f5ce
lea esp, [esp + 4]
jmp 0x7f39bb
push ebx
mov ebx, ecx
lea ebx, [ebx + 8]
jmp 0x7f3a3f
push esp
lea edi, reloc.WINMM.dll_midiStreamOut
shl edx, 8
xor edx, esi
jmp 0x7f39d9
movzx edx, byte [eax + 0xc]
lea ebp, [ebp*4]
mov di, sp
mov bx, word [esp]
bswap ebp
jmp 0x7f3b3b
mov dword [ebx], edx
pop ebx
xchg ebx, edx
mov di, 0xcee7
jmp 0x7f3a19
xor edx, esi
mov bl, byte [esp]
movzx esi, byte [eax + 0xb]
mov bl, byte [esp]
mov bl, bh
jmp 0x7f3a0b
shl edx, 8
mov bl, bh
lea edi, reloc.WINMM.dll_midiStreamOut
xor edx, esi
jmp 0x7f3add
xchg bl, bh
movzx eax, byte [eax + 0xf]
mov edi, ecx
jmp 0x7f3a6d
dec esi
movzx esi, byte [eax + 0xe]
mov edi, esi
xchg bl, bh
inc di
jmp 0x7f3a90
xor edx, eax
and ebx, ecx
not esi
mov bl, 0x28
bsf di, si
jmp 0x7f3b19
bsr bp, bp
shl edx, 8
bswap ebx
not bx
jmp 0x7f3aba
mov eax, edx
mov bl, byte [esp]
jmp 0x7f3b23
pop esi
mov edi, dword [esp]
btc edi, ebx
mov ebp, 0x80ff9dd4
jmp 0x7f3aeb
push esi
mov esi, ecx
lea esi, [esi + 0xc]
mov dword [esi], edx
jmp 0x7f3b01
shr eax, 0x10
sub esp, 0x14
xchg bl, bh
sub esp, 0x1c
lea esi, [ebx + esi]
jmp 0x7f3b70
shl edx, 8
mov bl, 0xe0
not bx
xor edx, esi
jmp 0x7f3aad
mov eax, dword [eax*4 + reloc.WINMM.dll_midiStreamOut]
mov bp, word [esp]
mov di, bp
xor eax, 0x1000000
jmp 0x7f3b82
lea esp, [esp + 0x30]
mov esi, 0xff
add byte [eax], al
and eax, esi
add di, 0x732e
jmp 0x7f3b4a
btc ebx, ebx
mov edi, edx
call 0x7f3b8d
and dword [ebx - 0x17], ebx
mov al, byte [eax]
add byte [eax], al
jnp 0x7f3b77
jo 0x7f3bae
loop 0x7f3bbd
mov edi, 0x21d2b727
jmp 0x57a3717d
xchg edi, ebp
lea edi, [eax*4]
shl edx, 8
mov bl, bh
jmp 0x7f3a5d
or byte [edx - 0x1581621], cl
invalid
mov ebx, dword [ebp]
pop ebp
mov bp, word [esp]
sub esp, 2
lea ebp, [ebp - 0x7f]
clc
jmp 0x7f3be0
and al, 0x83
in al, dx
add cl, byte [ebp - 0x14077e93]
sbb dword [ebx + 0x44b5d23c], esp
int1
xchg edi, eax
or dword [ecx + reloc.WINMM.dll_midiStreamOut], ebx
dec ebx
loop 0x7f3bf4
insb byte es:[edi], dx
push ebp
mov ebp, ecx
lea ebp, [ebp + 4]
jmp 0x7f3bb6
lea esp, [esp + 2]
jmp 0x7f3d41
dec ebx
int1
invalid
pushal
mov bx, 0xcf71
setae ch
lea esi, [edx + edi]
pushal
jmp 0x7f3cf6
xor eax, edi
btr edi, edx
neg di
mov di, sp
mov edi, 0xc0259e0
jmp 0x7f3c2d
mov bp, 0x62c9
bsf bp, ax
bswap ebp
bsr bp, cx
movzx edi, byte [edi*4 + 0x7cb584]
jmp 0x7f3c45
mov edi, dword [esp]
mov edi, edx
mov bp, word [esp]
shr edi, 0x18
jmp 0x7f3c5e
pushal
mov ebp, 0x67aa77d0
pop ebp
lea esp, [esp + 0x1c]
mov ebp, 0xff00
jmp 0x7f3d2a
and edi, esi
lea ebp, [edx + edi]
mov edi, dword [edi*4 + reloc.WINMM.dll_midiStreamOut]
lea ebp, [ecx*4]
jmp 0x7f3c97
popal
and bp, 0xaf92
bsf bp, si
cmc
jmp 0x7f3cbd
mov dword [esp + 0x20], edx
sub esp, 4
mov dword [esp], ecx
push word [esp + 3]
lea esp, [esp + 2]
lea esp, [esp + 0x24]
jmp 0x7f3cda
and edi, ebp
sub esp, 0xe
push word [esp + 9]
jmp 0x7f3d9e
cmc
sub esp, 0x1c
mov byte [esp + 6], ah
jmp 0x7f3d0f
and eax, 0xff000000
lea ebp, [edi + ebp]
lea ebp, reloc.WINMM.dll_midiStreamOut
xor eax, edi
jmp 0x7f3c89
lea esp, [esp + 0xc]
lea edi, [ecx + 0x10]
pushal
call fcn.007f3dc9
sbb eax, 0x90610690
push esp
popfd
or eax, 0xd317e49d
or eax, 0xa66b0c9e
push ss
outsd dx, dword [esi]
jbe 0x7f3dd9
lea esp, [esp + 0x2c]
xor eax, dword [ecx]
lea edi, [esi*4]
mov edi, dword [esp]
sub esp, 0xc
jmp 0x7f3d56
xor eax, edi
lea edi, [esp + esi]
bsr di, bp
mov edi, dword [esp]
jmp 0x7f3d78
cmc
mov dword [ecx + 0x18], eax
sub esp, 0x12
lea esp, [esp + 2]
jmp 0x7f3dfb
xor edx, eax
push esp
lea esp, [esp + 1]
call fcn.007f3e29
and al, 0xb7
daa
inc edx
mov cl, 0xf
xor ch, byte [eax + 0x1ba8593e]
pop esp
lds edx, [ebp + 0x3c]
iretd
xor edx, esi
xchg bp, si
bswap edi
movzx esi, byte [eax + 0xa]
jmp 0x7f3ba3
movzx edx, byte [eax + 8]
shl edx, 8
mov bl, bh
mov di, word [esp]
setne bl
jmp 0x7f3e42
mov dword [ecx + 4], edx
mov bp, dx
neg ebx
bswap edx
jmp 0x7f3f19