Function at 0x879af5
Capabilities:
Encode data using xor

Disassembly:
or byte [ecx + ebp*2 + 0x6e], cl
add eax, 0x18080120
inc esi
add byte [eax], al
jne 0x879b77
sub ax, 0xcc41
sbb al, 0x74
js 0x879b80
das
push 0x45016d74
add eax, 0x72750c0c
imul ebp, dword [0x50de11a], 0x6c701810
popal
imul ebp, dword [esi], 0x18f6fd00
das
js 0x879b59
jno 0x879ba2
sub eax, 0x36982969
sbb byte [eax], al
add byte [ebx + 0x25], ah
xchg ecx, eax
and byte [eax + 0xc], cl
and dword [edi - 0x30], esp
dec esi
adc byte [edi - 4], ah
mov eax, dword [0x146b34cc]
jo 0x879bb6
adc al, 0x67
shr byte [ebx + 0x14], 1
mov al, byte [0x1043]
jb 0x879b7a
or al, 0x2c
jo 0x879bb9
pop edi
adc byte [edi - 0x30], ah
pop edi
adc byte [edi - 0x50], ah
pushal
adc byte [edi + 0x4d], ah
in al, dx
add al, 0x3a
cmp ch, byte [ebp + 0x8ee2216]
movsd dword es:[edi], dword [esi]
sub eax, 0x72612008
in eax, dx
xor eax, 0x666f200c
and byte [edi + 0x66], ch
and byte [ebp + 0x280a28f5], dl
dec ebp
popal
imul esp, dword [ebp + 0x20], 0x73
jne 0x879bfa
adc dword gs:[ebx], 0xbdb08127
and dword [eax], eax
jne 0x879bd5
add al, byte [eax]
jno 0x879bda
mov ax, word [0x20f6a133]
push esp
jns 0x879c12
sub byte gs:[ecx], ch
sub dword cs:[eax], eax
sbb ah, byte [esp + ecx]
xor byte [ebp + 0x69], ch
js 0x879bd0
imul ebp, dword [esi + 0x63], 0x61706d6f
popal
je 0x879c22
mov eax, dword [0x74512cc4]
and byte [ecx + ebp*2 + 0x62], ch
jb 0x879c25
jb 0x879c3f
and byte [eax], ch
loope 0x879c23
and byte [ecx + 0x6f], ch
outsb dx, byte [esi]
and byte [eax], dh
js 0x879bf7
js 0x879bfd
test eax, 0x68740ccc
imul esi, dword [ebx + 0x5a], 0x30610021
adc bl, byte [ecx + 0xb]
inc ecx
daa
int3
jae 0x879c36
and dword [eax], eax
popal
xor byte [edx], dl
pop ecx
or eax, dword [ecx + 0x27]
add byte [eax], al
adc eax, edx
push ds
lea ecx, [esi + edx]
mov cl, byte [ebx]
and byte [eax], ah
arpl word [eax + 0x69], bp
insb byte es:[edi], dx
jb 0x879c5d
outsb dx, byte gs:[esi]
outsb dx, byte [esi]
movsd dword es:[edi], dword [esi]
invalid
and byte [eax + 0x61], dh
sbb al, byte [ecx]
or eax, dword [ecx]
je 0x879c08
mov esp, 0x80b1856
or ch, byte [eax]
push eax
or dword [edi], esp
push esi
sbb byte [ebx], cl
or byte [edx], cl
sub byte [eax + 9], dl
daa
add al, 0x69
jae 0x879bc2
imul esi, dword [ebx - 0x53], 0xd2c008e
mov es, word [eax]
sub al, 0xd
cmp dword [edi], eax
jae 0x879c38
jecxz 0x879c29
sbb eax, dword cs:[eax]
add byte [eax], cl
arpl word [ebp + 0x72], si
or byte [ebx + 0x75], ah
jb 0x879c35
jne 0x879c99
or eax, 0xa1720055
push ebp
add byte [edx - 0x5f], dh
not dword [0x19970535]
cwde
or byte [ebx + 0x68], dh
push 0xd45c161
test al, 0x12
xor cl, byte [esp + ecx]
popal
rol dword [ebp + 0xd], 0xa8
adc dh, byte [edx]
or al, 0xc
inc ebp
or eax, 0xc3212a8
or al, 0x64
insb byte es:[edi], dx
insb byte es:[edi], dx
push cs
push ebp
or ah, byte [eax]
imul esi, dword fs:[edx + 0x65], 0x796c7463
adc dh, dh
or bl, byte [eax]
jo 0x879cc8
outsd dx, dword [esi]
jb 0x879cbb
insd dword es:[edi], dx
add dword [ecx + 8], ecx
insd dword es:[edi], dx
popal
or byte [ebp + 0x61], ch
insb byte es:[edi], dx
or dword [esi], 0x20646560
popal
outsb dx, byte [esi]
and byte fs:[ebp + 0x61], ch
and byte [ebp + 0x61], ch
xor eax, 0xdaa0110
cwde
cmp al, 0
add byte [esi], dh
or eax, 0x390d7016
push edi
add dword [eax], esp
add al, 0x2e
or dl, byte [ecx + 0x2c]
add al, 0x6f