Function at 0xefc29c
Capabilities:
Encode data using xor

Disassembly:
jmp 0xefc2a6
pushal
call 0xefc2ac
pop ebp
sub ebp, 0x10
sub ebp, 0xafc29c
jmp 0xefc2c2
push eax
pop ebx
mov byte [0xafc29cb8], al
add byte [ebx], al
lds eax, [ecx + 0x4cc0]
add byte [ecx + 0x5d4], bh
mov eax, 0xafc29c
add eax, ebp
add eax, 0x4c
mov ecx, 0x5d4
mov edx, 0x49a3e855
xor byte [eax], dl
inc eax
dec ecx
jne 0xefc2d9
jmp 0xefc2ec
ficomp word [eax + 0x5569dcde]
push ebp
push ebp
aam 0x94
lodsd eax, dword [esi]
push ebp
push ebp
push ebp
push esi
cwde
in eax, dx
push ebx
push ebp
push ebp
push ebp
out dx, eax
jge 0xefc359
push ebp
push ebp
mov byte [0xde9d56b7], al
aam 0x59
push ebp
push ebp
push ebp
push esi
nop
fdiv dword [ecx]
jno 0xefc2bf
fcom qword [ecx + 0x71]
add eax, 0x74e8fd3d
push ebp
cmp eax, 0x55db51a6
push esp
jns 0xefc398
cmp eax, 0xdf11f850
mov ebp, 0x55555550
mov esp, 0x55555563
fdiv dword [ecx]
jno 0xefc2e3
fdivr qword [ecx + 0x71]
fdivr dword [ecx]
jno 0xefc396
invalid
xchg edi, eax
push ecx
sbb al, 0x5a
shl byte [ecx - 0x21555556], 1
jns 0xefc3d6
fdiv dword [ecx]
jno 0xefc3ba
xchg edi, eax
pop ecx
push ebp
fcompp
jno 0xefc3c1
push ebp
push ebp
push ebp
cmp eax, 0x5574e8fd
cmp eax, 0x55db51a6
push esp
jns 0xefc3f1
add al, 0xbd
push eax
push ebp
push ebp
push ebp
mov esp, 0x55555710
add dh, bl
mov ecx, 0xaa5920aa
and byte [ebp - 0x43], bl
sub eax, 0xde555555
call 0x564518fc
push ebp
push ebp
push ebp
fsubp st(0)
pop ebp
push ebp
push ebp
push ebp
pushf
aam 0xa7
mov cl, 0x6c
aas
outsb dx, byte [esi]
aam 0xa7
mov cl, 0x6c
aas
outsb dx, byte [esi]
xchg si, dx
mov ebp, 0xd15a1d50
sbb edx, dword [ebp + 0x55]
push ebp
pop edx
fstp qword [0x33555555]
fimul word [ecx + 0x6c]
dec ecx
insb byte es:[edi], dx
aad 0xae
mov ebp, 0x554fd15a
push ebp
push ebp
aad 0xae
mov esp, 0x5544d15a
push ebp
push ebp
xor edx, esp
scasb al, byte es:[edi]
aam 0xae
stosb byte es:[edi], al
jo 0xefc435
rol dword [eax + 0x55], 1
push ebp
push ebp
adc al, 0xbc
cdq
stosb byte es:[edi], al
stosb byte es:[edi], al
stosb byte es:[edi], al
jl 0xefc401
insb byte es:[edi], dx
push esp
salc
xchg esp, eax
push eax
salc
mov ebp, 0xaae8bc51
stosb byte es:[edi], al
stosb byte es:[edi], al
jl 0xefc3f8
call 0x7d9a6ea0
add dword [edi + edx*2 - 0x2a], ebp
insb byte es:[edi], dx
push edi
salc
xchg esp, eax
push ebx
salc
mov edi, 0x50bdd651
push eax
mov esp, 0xaaaaaafe
fidivr word [ecx + 0x71]
fdiv dword [ecx]
jno 0xefc45f
xchg edi, eax
pop ecx
push ebp
add dh, bl
mov ecx, 0xde000203
and byte [ecx - 0x22], bl
sub byte [ebp - 0x57], bl
out 0xd5, eax
fist word [ebx - 0x2c]
xchg ebx, eax
push esp
push ebp
push ebp
push ebp
fst qword [edx - 0x2c]
xchg edx, eax
push esp
push ebp
push ebp
push ebp
out dx, al
push edi
push ebp
push ebp
push ebp
push edi
xchg dword [edx - 0x30], ebx
push eax
push ebp
push ebp
push ebp
fild word [ebx + 0x13]
inc edi
xchg dword [edx - 0x2a], ebx
lea ebp, [edx - 0x78a85556]
pop edx
rcl byte [eax + 0x55]
push ebp
push ebp
fild word [ebx + 0x13]
inc edi
xchg dword [edx - 0x2a], ebx
aas
push ebp
push ebp
push ebp
xchg bp, ax
push edi
xchg dword [edx - 0x30], ebx
push eax
push ebp
pop edx
rcl byte [eax + 0x55]
push ebp
push ebp
fild word [ebx + 0x13]
inc edi
xchg dword [edx - 0x2a], ebx
jg 0xefc4c2
push ebp
push ebp
push edi
xchg dword [edx - 0x30], ebx
push eax
push ebp
push ebp
push ebp
fild word [ebx + 0x13]
inc edi
xchg dword [esi - 0x6b], eax
push edi
xchg dword [edx - 0x30], ebx
push eax
push ebp
push ebp
push ebp
fild word [ebx + 0x13]
inc edi
xchg dword [esi - 0x6b], eax
push edi
xchg dword [edx - 0x30], ebx
push eax
push ebp
push ebp
push ebp
fild word [ebx + 0x13]
inc edi
xchg dword [esi - 0x6b], eax
push edi
xchg dword [edx - 0x30], ebx
push eax
push ebp
push ebp
push ebp
fild word [ebx + 0x13]
inc edi
xchg dword [esi - 0x6b], eax
pop edx
rcl dword [ebx + 0x55]
push ebp
push ebp
fimul word [edx + 0x56df8d7e]
fst qword [edx + 0x12]
out dx, al
push edi
push ebp
push ebp
push ebp
mov esp, 0xaaaaaa25
stosb byte es:[edi], al
stosb byte es:[edi], al
stosb byte es:[edi], al
in eax, dx
push esp
push ebp
push ebp
push ebp
push edi
xchg dword [edx - 0x30], ebx
push eax
push ebp
push ebp
push ebp
fild word [ebx + 0x13]
inc edi
xchg dword [esi - 0x6b], eax
push edi
xchg dword [edx - 0x30], ebx
push eax
push ebp
push ebp
push ebp
fild word [ebx + 0x13]
inc edi
xchg dword [edx - 0x29], ebx
mov ebp, dword [edx - 0x69815556]
out dx, al
push esp
push ebp
push ebp
push ebp
pop edx
shl byte [ecx + 0x55], 1
push ebp
push ebp
in al, dx
push esp
push ebp
push ebp
push ebp
push edi
xchg dword [edx - 0x30], ebx
push eax
push ebp
push ebp
push ebp
fild word [ebx + 0x13]
inc edi
xchg dword [esi - 0x64], eax
push edi
xchg dword [edx - 0x30], ebx
push eax
push ebp
push ebp
push ebp
fild word [ebx + 0x13]
inc edi
xchg dword [edx - 0x29], ebx
mov ebp, dword [edx - 0x21fc5556]
mov byte [0xf1a6a07e], al
or edi, dword [ebp + ebx*2 + 0x1daaaaaa]
xchg esp, eax
mov ch, 0x5d
fist word [ebx + 0x13]
fidivr word [ebp + 0x555554ec]
push ebp
push edi
xchg dword [edx - 0x30], ebx
push eax
push ebp
push ebp
push ebp
fild word [ebx + 0x13]
inc edi
xchg dword [esi - 0x64], eax
push edi
xchg dword [edx - 0x30], ebx
push eax
push ebp
push ebp
push ebp
fild word [ebx + 0x13]
inc edi
xchg dword [edx - 0x29], ebx
mov ebp, dword [edx - 0x522b5556]
push ebp
sub byte [ebp + 0x55], dl
aam 0x8c
stosb byte es:[edi], al
stosb byte es:[edi], al
stosb byte es:[edi], al
stosb byte es:[edi], al
aam 0xad
push ebp
push eax
push ebp
push ebp
aam 0x8c
stosb byte es:[edi], al
stosb byte es:[edi], al
stosb byte es:[edi], al
stosb byte es:[edi], al
aam 0xad
aad 0x55
push ebp
push ebp
aam 0x84
push ebp
push ebp
push ebp
push ebp
aam 0xad
aad 0x55
push ebp
push ebp
aam 0x84
push ebp
push ebp
push ebp
push ebp
add ebx, esi
mov byte [0xf1a6a57e], al
or edi, dword [esi + ecx*8 - 0x20555555]
push ebx
adc esp, dword [esi - 0x64]
xchg ebp, eax
mov ebp, 0x4fd15a54
push ebp
push ebp
push ebp
aam 0x84
push edi
push ebp
push ebp
push ebp
fidivr word [ebp + 0x7ea2de03]
movsd dword es:[edi], dword [esi]
cmpsb byte [esi], byte es:[edi]
int1
or ebp, esi
push esp
push ebp
push ebp
push ebp
mov esp, 0xaaaaab26
or byte [esi + 0x28], bh
pop ebp
ficom word [edx - 0x4f21f4f6]
or byte [edi + 0x69de555d], dl
jno 0xefc5ac
xor dword [ecx + 0x51], esi
fisub word [ecx + 0x71]
fdiv dword [ecx]
jno 0xefc62f
mov esp, 0x55555551
adc dword [esi], esp
hlt
in al, dx
cli
push edi
push ebp
push ebp
out dx, eax
xchg edi, eax
fcomp dword [ebp + 2]
inc ebp
adc eax, 0xa3d05a1c
stosb byte es:[edi], al
stosb byte es:[edi], al
stosb byte es:[edi], al
mov esp, 0x55555551
into
inc ebx
sub eax, ebp
adc byte [ecx + 0x1c], ch
jmp 0xa11ae2c4
dec edi
adc byte [ebp + 0x1c], ch
in eax, dx
xchg edi, eax
adc byte [ebp + 0x10], ch
outsb dx, byte [esi]
sbb al, 0xee
xchg ebx, eax
adc byte [esi + 0x16], ch
insd dword es:[edi], dx
xchg edi, eax
xchg edi, eax
xchg edi, eax
xchg edi, eax
cwde
adc edx, ecx
xchg edi, eax
xchg edi, eax
xchg edi, eax
xchg esp, eax
inc ecx
push ss
push eax
lahf
xchg edi, eax
xchg edi, eax
xchg edi, eax
push ss
jle 0xefc5f4
xchg edi, eax
xchg edi, eax
xchg edi, eax
push ss
outsb dx, byte [esi]
xchg edi, eax
xchg edi, eax
xchg edi, eax
xchg edi, eax
cwde
adc ebx, dword [ebx + 0x68]
push 0x901cf168
push esi
jg 0xefc605
adc al, 0x77
cwde
push ss
outsd dx, dword [esi]
xchg esp, eax
xchg edi, eax
xchg edi, eax
xchg edi, eax
cwde
adc bl, byte [edx - 0xe686869]
sbb al, 0x90
push ss
ja 0xefc6e7
cwde
xchg edi, eax
xchg edi, eax
xchg esp, eax
push ebp
xchg esi, eax
invalid
sbb al, 0xe4
in al, 0xe4
in al, 0xeb
popal
invalid