Function at 0x79eaec
Capabilities:
Encode data using xor

Disassembly:
pushal
sub ecx, ebx
lea esp, [esp + 0x20]
jae 0x796e0d
pushfd
pushal
lea esp, [esp + 0x24]
jne 0x791e09
push 0x5e828250
push dword [esp]
mov word [esp], si
pushfd
lea esp, [esp + 0xc]
call fcn.00790c18
pushal
lea esp, [esp + 0x20]
jmp 0x790a6c
pushfd
pushfd
call fcn.00794f2b
inc ecx
cmp byte [eax], cl
sbb al, 0
push dword [esp + 4]
jmp 0x7a1308
lea esp, [esp + 0x28]
je 0x79406a
lea esi, [ebx*4 - 0x5f5f99d]
rol si, 5
mov esi, edx
movsx dx, cl
mov edx, eax
pushfd
clc
cmc
jmp 0x7a1c75
xor ebx, ebx
bt esp, ebp
shr eax, 0x10
pushfd
lea esp, [esp + 8]
je 0xa49ae8
pushal
jle 0x7a1cb1
add byte [esi + 0xf], ah
mov edx, 0x3e8308e3
add byte [eax + 0x66], dl
mov dword [esp], eax
bt bx, 8
cmp dword [esi], 0
push eax
mov word [esp], ax
call fcn.007a0e37
or esp, dword [eax]
or al, 0x10
xor al, 8
sbb al, 0xc
cmp byte [esp], ch
sub byte [eax], dh
add byte [ecx], dl
adc ebx, dword ds:[ecx + edx]
xor dl, byte [ebx]
adc dword [esi], edx
jne 0x7a1ccf
or byte [ecx], bh
push 0x9e6d6170
sbb al, 0xc
rol dword [ecx + 0x65], cl
jb 0x7a1d30
push ebx
adc ah, ch
add byte [ecx], bh
and al, byte [eax]
jp 0x7a1cd3
dec ebp
push ebx
push es
jne 0x7a1cdb
add byte [ebp + edx*4 + 0x1ab49e21], ah
sahf
mov ah, 0x1a
adc dword [ecx], ebx
jb 0x7a1d1f
inc ebx
push ebx
adc eax, dword [esp + ebp*8]
sbb al, 0x65
push ebx
je 0x7a1c84
adc dword [esi], eax
jne 0x7a1cf6
add byte [eax - 0x6e], cl
les edx, [ebx + 0x34]
push ds
add dh, byte [ebp + 0x38]
in al, dx
cmp dword [esi], eax
push es
push ds
cmp dh, byte [esi]
push ss
sub bh, byte [esi]
adc cl, byte cs:[edx]
push cs
push 0x79eb61
call fcn.00a4a844
ljmp 0x1841
or al, al
xor byte [eax + 0x74], dl
inc edi
push ebx
jne 0x7a1d59
add al, 0xc9
imul esp, dword [esi + 0x6f], 0x8309e72
xor byte [eax], cl
leave
je 0x7a1d88
insb byte es:[edi], dx
insb byte es:[edi], dx
push ebx
adc esi, dword [eax]
or al, 0x39
outsb dx, byte [si]
imul esi, dword [edx - 0x62], 0x3410c941
and byte [eax], ch
or byte [eax + esi], al
sbb al, 0x14
xor al, 0x24
sbb al, byte [eax]
jns 0x7a1d36
rcl dword [ebx + 0xe], 0x9a
add byte [ecx + 0x70], bh
fcom qword [ebx]
sar byte [edx], 0xf8
add byte [eax - 0x6e], cl
fdivr dword [ebx]
xor al, 0x1a
sbb dh, byte [edx]
or dh, byte [ebp - 0x14]
cmp dword [esi], eax
insb byte es:[edi], dx
jbe 0x7a1da7
and bh, byte ds:[edx]
push ss
adc ch, byte [edx]
push ds
add ch, byte [eax - 0x24]
inc edx
jns 0x7a1d7e
call fcn.00a4beb0
or bl, al
xlatb
cmp ch, byte [eax - 0x33]
das
int 0x2f
jp 0x7a1d8c
call fcn.00a4a844
leave
and ecx, dword [ebx]
and al, 0
cmp al, 0x10
sub al, 0xc
sub al, 0x34
and byte [eax], bh
xor byte [esp + eax], bh
add byte es:[edx + 9], bh
dec ebp
push ebx
sbb dh, byte [ebp + 0x11]
push ds
mov ah, 0x16
adc dword [edx], ebp
adc ecx, dword [esp + eax]
cmp dword [ebp + 0x4d], esp
insb byte es:[edi], dx
push ebx
adc ecx, dword [eax]
in al, dx
or al, 0x74
dec ecx
jne 0x7a1e2e
push ebx
mov ebx, 0x6dc90c0c
pop ds
add byte [eax], al
jns 0x7a1dee
invalid
cmp al, byte cs:[edx]
push 0x793d28
call fcn.00a4bd0b
push ebp
cmp byte [eax], al
jns 0x7a1e7c
dec edi
push ebx
mov ah, 2
adc ebx, dword [esp + ecx]
cmp dword [ecx], edx
add dl, byte [ebx]
adc dword [esi], esp
adc eax, dword [ecx + ecx*8]
sbb al, 0x11
sbb al, 0x74
imul esp, dword [ecx + 0x57], 0x6f724d9e
inc esi
jnp 0x7a1e6c
or cl, cl
imul esi, dword [esp + ebp*2 + 0x75], 0x6c654f7b
jo 0x7a1eaf
adc dword [esi], esp
adc edi, dword [eax]
add byte [eax - 0x6e], cl
call 0x16982ee3
adc esi, dword [eax]
call 0x327c2ca8
push cs
add dh, byte [edx]
adc bh, byte [esi]
or ch, byte [edx]
push es
sbb bh, byte cs:[edx]
or esp, dword [eax + edi]
sbb byte [ecx + edx], bh
cmp al, 0x11
sub dh, byte [ebx + 0x2ec0132a]
adc edx, dword [ebx + esi*4]
sub dl, byte [ebx]
adc al, 0x11
adc al, 0x51
push edx
push ebx
add al, 0x39
jns 0x7a1f07
jne 0x7a1e36
or byte [ecx], bh
jne 0x7a1f08
popal
push esi
push ebx
adc al, 0xc
cmp dword [ecx + 0x78], eax
inc ebp
push ebx
lcall 0x34c9, 0x14c910
adc al, 0x34
sbb al, 0
or al, 4
xor al, 0x1c
add byte [esp + eax], cl
adc al, 0xc
add byte es:[edx + 9], bh
dec ebp
push ebx
or dh, byte [ebp + 0x38]
add byte [ecx + 0x56], bh
loopne 0x7a1f3f
rcl byte [edx], 0x75
add byte [eax - 0x70], cl
add byte [ebx + 0x38], dl
push ss
sub dh, byte [ebp + 0x1c]
in al, dx
leave
cmp al, 0x2e
or bl, byte [esi]
xor al, byte ds:[esi]
adc al, byte [edx]
sbb dh, byte [esi]
push cs
cmp al, byte [ebx + 0x4f]
dec ebp
inc ebx
push esp
dec esp
xor esi, dword [edx]
insb byte es:[edi], dx
insb byte es:[edi], dx
add byte [eax + 0x3f], ch
or bl, byte [0x648d9c9a]
and al, 8
call fcn.00790c20
cmc
jmp 0x795e41
sbb al, 0x18
add al, 8
sbb byte [eax + ecx], al
cmp byte [eax + edx], al
sub byte [eax], cl
push cs
add byte [edx + 9], bh
dec ebp
jnp 0x7a1ed7
adc ebx, dword es:[eax]
or bl, dl
add byte [ecx + 0x75], al
outsb dx, byte [esi]
push ebx
adc edi, dword cs:[eax + eax]
movsb byte es:[edi], byte [esi]
lea ebp, [eax + 0x53]
adc dword [edx], esi
jne 0x7a1f45
xor dh, byte [ebp + 0x18]
adc dword [eax], ebx
jo 0x7a1fa2
inc ecx
sahf
add al, 0xc9
dec ebp
outsb dx, byte fs:[esi]
jnp 0x7a1eef
push cs
adc eax, dword [eax]
dec eax
xchg esp, eax
xchg esp, eax
jnp 0x7a1f80
adc al, 0x26
sbb ah, byte [esi]
sbb ah, byte es:[esi]
lcall 0x160a, 0x3208ecf4
add dl, byte [edx]
push cs
cmp dh, byte [esi]
push ds
push es
jns 0x7a1f81
sbb al, 8
sub al, 0x38
cmp al, 0x18
or al, 0x34
add byte [eax], al
and dl, byte [ebx]
sub byte [eax + 0x12], ah
push ss
adc eax, dword ss:[eax]
inc eax
adc byte [eax], al
sahf
sub byte [ebx], dl
sub byte [eax], al
jnp 0x7a1f2a
push edi
sahf
pop es
or bh, bh
inc edi
dec esp
insb byte es:[edi], dx
and ebx, dword [esi]
insb byte es:[edi], dx
mov esi, 0x40716
inc edi
xor al, byte [edx]
adc eax, dword es:[eax]
jnp 0x7a1f41
push edi
push ebx
sub byte [edi], al
push ecx
and esi, dword [eax + eax]
jns 0x7a1ff7
cmpsb byte [esi], byte es:[edi]
jnp 0x7a1fd4
push es
adc ebx, dword [esi]
dec esp
or byte [0xc07021f], dl
or al, 0x32
dec esp
imul edx
inc edi
xor al, byte [edi]
push ecx
jbe 0x7a1fd7
ror dword [esi], 0x4c
insb byte es:[edi], dx
and esp, dword [esi]
jne 0x7a1fc1
pop es
xor dl, byte [ebx]
and ecx, dword [ecx + edi]
xor dh, byte [ebp - 0x72]
or bl, dl
or byte [eax], al
pop ds
or dh, byte [esi + 0x3c]
adc al, 0
adc byte [eax], bh
sbb byte [eax], ah
or bl, byte [esi]
push ss
add ah, byte ds:[edx]
add ah, byte [edx]
sbb bh, byte [edx]
adc cl, byte [esi]
sub ch, byte [eax - 0x27]
dec edi
jns 0x7a1fe3
call fcn.00a4beb0
mov al, byte [0x79f15b68]
add al, ch
mov ebp, 0x7f002a9e
sbb al, 0x64
inc ecx
adc al, 0x24
cmp byte [eax], al
xor al, 0x30
or byte [ecx + edx], ch
push es
adc dword [esi], ebx
jne 0x7a2011
leave
xor byte [ebp + 0x6d], ah
arpl word gs:[ebx + 0x13], dx
xor byte [eax], dl
cmp dword [esi + ebp*2 + 0x4d], esi
outsb dx, byte [esi]
dec ebp
sbb byte [eax], ah
adc byte [eax], ah
xor byte [esi], dl
add byte [edx + 9], bh
dec ebp
push ebx
push ss
clc
and al, 0
jp 0x7a2054
out 0x53, eax
mov bl, 0x16
jne 0x7a2032
leave
xor byte [ecx], dl
push ss
adc eax, dword [ecx + edi]
xor byte [ecx], dl
xor byte [edi + 0x74], dl
inc edi
adc dword [eax], esi
push edi
je 0x7a209c
inc edi
push ebx
outsd dx, dword [esi]
outsb dx, byte fs:[esi]
imul edx, dword [ebx + 0x61], 0x5377506c
sal byte [edx], 0x32
adc ebp, esp
in al, dx
sub al, 0x3e
adc esp, dword [eax + eax]
dec eax
xchg esi, eax
push 0x3e3e009e
add cl, byte cs:[esi]
add cl, byte cs:[esi]
adc ch, byte [edx]
sbb bh, byte [edx]
and ah, byte ss:[esi]
push 0x790e0a
call fcn.00a4beb0
insd dword es:[edi], dx
jnp 0x7a20c8
or esp, dword [eax]
add al, 0x14
and byte [esp + edx], al
sub al, 0x1c
or al, 0x28
or byte [eax + eax], bh
or al, 0x10
add byte es:[edx + 9], bh
dec ebp
sahf
push cs
adc esp, dword [eax]
sal byte [esi], 0x13
sbb al, 0xc
sal dword [ebx - 0x13f7ecf2], cl
sbb al, 0x77
outsd dx, dword [esi]
outsb dx, byte fs:[esi]
push ebx
add cl, cl
add byte [ecx - 0x1a], bh
enter 0x117b, 0x26
adc ebx, dword [esp + eax]
adc ebx, dword es:[esp + eax]
cmp dword [ecx + 0x57], ebp
jo 0x7a2114
push ebx
mov bl, 0x1c
push esp
je 0x7a2110
inc edi
jnp 0x7a206e
adc dl, byte [ebx]
push ds
push ds
adc ebp, dword [eax]
invalid
and cl, byte [ebx]
sub byte [esp], dl
and byte [eax], al
adc byte [eax], al
add al, 0xc0
adc dword cs:[esi], esi
adc edx, dword [eax]
adc byte [ecx], bh
push esp
insb byte es:[edi], dx
imul edx, dword [ebx - 8], 0x391410
insd dword es:[edi], dx
imul edx, dword [ebx + 0x30], 0x202c181c
sub al, byte [eax]
jp 0x7a20fa
dec ebp
push ebx
adc eax, dword cs:[eax]
jp 0x7a212d
mov al, 0x53
adc al, 0x11
cmp dh, byte [ebp + 0xc]
leave
adc byte [esi + 0x6c], al
popal
arpl word [ebx - 0x40], di
cmp dl, byte [ebx]
adc byte [ecx], dl
sub dl, byte [ecx]
adc byte [ebp + 0x6c], ah
imul eax, dword [esi + 0x53], 0xec0410bb
adc byte [esp + ebp*8], al
insd dword es:[edi], dx
imul edx, dword [ebx + edx*2 + 8], 0x6f4c6f39
push esp
sahf
sar byte [edx], 0x13
add byte [eax - 0x6f], cl
mov al, 0x53
adc al, 0x20
sub bh, byte [esi]
adc ch, byte [edx]
adc eax, dword [eax + ebp*8]
rol dword [esi], cl
and cl, byte [edx]
sbb bh, byte [esi]
xor ah, byte [esi]
add bl, byte [esi]
push ss
push 0x791f15
call fcn.00a4b020
arpl word [eax + 0x68], bp
dec edi
sti
jns 0x7a2150
call fcn.00a4a3ef
invalid