Function at 0x4a77ae
Capabilities:
Encode data using xor

Disassembly:
xor al, 0xa6
sbb eax, 0x7f8cbd1a
mov ebp, 0x7c787f8c
das
jbe 0x4a7756
mov esp, dword [ecx + 8]
or al, 0x7a
popal
jp 0x4a7807
jb 0x4a7801
imul edx, dword [edx], 0x6b
pop esp
adc ch, byte [ebx + 0x5c]
jp 0x4a77ed
and eax, 0x887cf260
aas
retf 0xfb5c
push cs
cdq
std
push ds
pushal
jnp 0x4a77e2
imul ecx, edi, 0x1876dc7a
mov ah, 0xff
sbb al, 0x5d
or edi, dword [ebp - 0x54ad8217]
loop 0x4a778a
stosd dword es:[edi], eax
xor ch, byte [eax - 0x50d32902]
loop 0x4a7794
into
sti
mov ecx, 0x3d285d5b
dec esp
or eax, 0x4d7e2b0e
sub edi, dword [esi + 0x4d]
push edi
mov edx, 0x90ca4e71
jne 0x4a784f
retf 0x7590
mov esi, esp
fst st(5)
mov dl, 0xf4
invalid
mov edx, 0xb1549abf
or eax, 0x2c9e1c3b
mov dl, 0x5c
jle 0x4a7866
pop ss
inc ebp
enter 0xffffffffffff953e, 0x43
jp 0x4a7818
pop eax
mov byte [0x7b7dbc8e], al
jge 0x4a7884
push cs
popfd
xor byte cs:[ecx + 0x7a], bh
sbb byte [ecx - 0x542666e5], ch
salc
jno 0x4a780a
dec edx
sub bl, ch
scasb al, byte es:[edi]
cdq
jp 0x4a7894
mov edx, 0xce9b638a
and byte [eax + 0x7c], bh
leave
imul edi, edx, 0x60d0ebba
pop eax
push 0x46
inc esp
stosd dword es:[edi], eax
nop
and dh, byte [edi]
std
jl 0x4a787a
or dword [ecx + 0x7bcc1986], eax
test eax, 0x9e48eab8
pushal
stc
mov esp, 0xb11bdf0
adc dword [ebx], ecx
jl 0x4a784b
sbb cl, byte [ebx + eax*2 - 0xc]
aas
mov ch, 0x73
push eax
sbb al, 0x2d
sub al, 0xa9
cmp cl, bl
or esi, dword [ebp - 0x26]
dec edx
adc byte [ebx + edi*8], 0xd4
in eax, 0xea
call 0xd489321a
or esi, 0x4c
aad 0xa3
leave
ror bh, 0x4d
push ecx
adc al, 0xfb
aam 0xe5
ljmp 0x83d4
push ecx
shrd dword [edi], eax, cl
jg 0x4a789b
sub eax, 0x818ca2d5
sub al, 0x95
mov cs, word [esi - 0x5f0ba3c3]
ret 0x5af9
sub dword [edx*4 + 0x5c3d8e8e], 0xf9c2a0f4
pop edx
movsd dword es:[edi], dword [esi]
outsb dx, byte [esi]
pop esi
outsd dx, dword [esi]
test dword [ebx + 0x68160ab1], eax
test eax, 0x7d9fe377
ja 0x4a7880
lahf
jge 0x4a7919
jns 0x4a789f
invalid
jmp 0xff880c42
cmpsd dword [esi], dword es:[edi]
push ds
invalid
cmp al, 0x89
test byte [0x6ddbe333], ch
jecxz 0x4a798d
lcall 0xf30a, 0xf5a82a8c
jmp 0x4a78c6
sbb esi, edx
loop 0x4a79aa
mov byte [0x65ab59cc], al
xor al, 0x56
ret 0x595f
mov bh, 0xaf
insd dword es:[edi], dx
push ebp
int 0x67
insd dword es:[edi], dx
push 0xffffffffffffffb8
sbb byte [ebx - 0x644ee0be], bl
and byte [edi + 0x3ea3220b], bl
sbb eax, 0x43ad3641
cmp eax, 0xaef50b2c
sub eax, 0xece89e58
xchg ebp, eax
or dword [edx + 0x6b4b226b], edx
daa
insd dword es:[edi], dx
jnp 0x4a7a36
push esp
pop ebp
cdq
dec ecx
inc ebp
sub dword [0xadda3db4], 0xd5fa3d59
wait
dec eax
xchg ch, bh
test al, 0x3a
cmp esi, dword [ebx - 0x36]
push 0xa69ac15a
call 0x202d854d
and byte [eax + 0x28], bh
xor byte [eax], cl
imul edi, edi, 0xffffff9a
fmul st(2)
sbb al, 0xc5
movsd dword es:[edi], dword [esi]
inc esp
rol byte [eax - 0x79], cl
cmp dword [ebp + 0x12be9ff9], 0x4be9e21a
jnp 0x4a7a75
or al, 0x15
inc ebp
push cs
cmp dword [eax], ebp
mov ebx, 0xca1643a4
cmp bl, byte [edx]
imul edi, dword [edx - 0x12], 0xeba81e1e
dec esi
cld
and al, al
iretd
int1
dec ebp
sub edx, dword [ebp + 0x18]
cwde
sbb eax, 0x9e9dbb61
or al, 0x5a
mov ebp, 0xca7b8ad6
mov ch, byte [ebx - 0x7e]
and edi, ebx
rcr ebp, 1
or cl, byte [ecx + 0x40ff9073]
out dx, eax
insd dword es:[edi], dx
lodsd eax, dword [esi]
sub eax, 0x7c7b192e
stosd dword es:[edi], eax
cli
imul edi, dword [edi - 0x5827b662], 0x8b325fbe
fdivr st(5), st(0)
mov ebx, 0xa33ec3e0
and bl, byte [ebx]
mov eax, dword [0x58cc5b30]
pop eax
pop ebx
int3