Function at 0x716474
Capabilities:
Encode data using xor

Disassembly:
mov dword [esp + 0x24], eax
jmp 0x7160c8
call 0x7155fc
jmp 0x71617c
call 0x7156d5
jmp 0x7162f4
mov dword [esp + 0x24], eax
jmp 0x716307
mov dword [esp + 0x24], eax
jmp 0x716444
call 0x7158c0
jmp 0x7164b1
push 0
pushfd
jmp 0x7160ac
jne 0x7160c2
pushal
jmp 0x7155f7
cmp dword [esp + 4], 0
jmp 0x71608c
inc dword [esp + 8]
jmp 0x716144
popal
inc dword [esp + 8]
jmp 0x7161a7
call 0x71610d
inc ecx
inc esp
push esi
inc ecx
push eax
dec ecx
xor esi, dword [edx]
insb byte es:[edi], dx
insb byte es:[edi], dx
add bl, ch
salc
pop ecx
jmp 0x71615a
popfd
ret
sub ecx, 0x1001ad4e
mov dword [ecx + reloc.WINMM.dll_midiStreamOut], eax
push edi
jmp 0x716191
mov ax, word [esp]
mov eax, dword [esp]
lea esp, [esp + 4]
sub eax, 0xa5695ac5
jmp 0x7160fb
mov edi, eax
movzx ebx, byte [edi]
pop edi
jmp 0x7161bf
popfd
ret
je 0x716229
jne 0x71551a
pop esi
lds edx, [ebp + 0x3c]
iretd
add ebx, 0x44f6563e
cmp ebx, 0x44f6570a
jmp 0x7161a9
add byte [eax], al
add dh, cl
dec esi
fdivr qword [ebx - 0x1ca316aa]
jae 0x71624c
in eax, 0x27
cmpsb byte [esi], byte es:[edi]
rcl dword [eax - 0x2d]
dec edx
pop eax
sub eax, 0x641c33a9
jmp 0x71626f
xchg esi, eax
add al, 0x63
sahf
sub eax, 0xe9602e87
cmp esp, esi
invalid
push eax
jmp 0x7162a0
call 0x716281
inc ecx
inc esp
push esi
inc ecx
push eax
dec ecx
xor esi, dword [edx]
insb byte es:[edi], dx
insb byte es:[edi], dx
add bh, bh
nop
pop esi
or eax, 0x4eb641a
int 0x5c
scasd eax, dword es:[edi]
mov dh, 0xe8
or al, 0
add byte [eax], al
push edx
inc ebx
insb byte es:[edi], dx
outsd dx, dword [esi]
jae 0x7162ff
dec ebx
jns 0x71629e
jmp 0x716259
call fcn.006fe571
jmp 0x7156d0
pop ecx
sub ecx, 0x1001add5
mov dword [ecx + reloc.WINMM.dll_midiStreamOut], eax
add dword [eax], edx
jmp 0x71641a
popal
inc dword [esp + 8]
call 0x716312
jo 0x7162a0
and al, 4
jmp 0x716768
je 0x716487
jne 0x7156e6
invalid
call dword [eax + 0x7fb7d733]
jmp 0x7163e4
mov bl, 0x81
jmp 0x107312cc
call 0x7163fa
push edx
push ecx
jne 0x716454
jb 0x71646a
push esi
popal
insb byte es:[edi], dx
jne 0x71645b
inc ebp
js 0x71643a
add byte [eax - 0x18], dl
jno 0x71637f
invalid
movzx ebx, byte [eax]
add ebx, 0xf44f969f
cmp ebx, 0xf44f976b
jmp 0x716375
popfd
ret
xchg ebx, eax
push edi
mov al, 0x12
and bh, 0x12
xchg ebp, eax
adc ecx, dword [edx + reloc.WINMM.dll_midiStreamOut]
or bl, ch
jecxz 0x7163cd
popal
inc dword [esp + 8]
jmp 0x71642e
sti
push eax
mov al, byte [0x5c74d1c0]
jne 0x715885
test dword [esp + esi*8], ebp
invalid
add byte [eax], al
add bl, ch
sub ah, byte [0xaf5c35a5]
outsb dx, byte [esi]
push ebp
salc
inc esp
and ebx, esi
sbb al, 0xc7
ficomp word [edi + eax*8]
outsb dx, byte [esi]
jns 0x7164c8
mov ebx, 0xe8c39d92
xor dword [eax], eax
add byte [eax], al
jge 0x2b08c89c
lahf
push ds
mov ebx, gs
loop 0x716475
mul cl
and byte [ebx - 0x64], ah
loope 0x7164a9
arpl word [eax - 0x179ece4b], bx
loopne 0x716491
pushal
mov ch, 0x31
popal
call 0x716474
invalid
invalid
push word [esp + 1]
lea esp, [esp + 8]
jmp 0x7164c7
dec ecx
pop word [esp + 1]
jmp 0x716494
pop eax
sub eax, 0xdededb63
jmp 0x7164d4
cmp dword [esp + 4], 0
jl 0x7164ee
add al, 0
jne 0x7164ed
pushal
jmp 0x7158bb
call 0x7164e6
inc ecx
inc esp
push esi
inc ecx
push eax
dec ecx
xor esi, dword [edx]
insb byte es:[edi], dx
insb byte es:[edi], dx
add bl, ch
push 0xb1063f2c
mov al, 0xeb
jmp 0x716558
imul esi, dword [edi + esi - reloc.WINMM.dll_midiStreamOut], 0xd9be28a2
sub byte [ebp - 0x432aba34], bl
dec edi
invalid
inc dword [esp + 8]
jmp 0x716581
popfd
ret
popfd
ret