Function at 0x4ac5cb
Capabilities:
Encode data using xor

Disassembly:
loope 0x4ac575
mov ebx, 0xc001d759
mov word [edx - 0x10bb3db8], ss
jmp 0x73b786f5
mov dword [edi + 0x68], ebp
cmpsd dword [esi], dword es:[edi]
jns 0x4ac639
outsd dx, dword [esi]
push 0xd56979a7
std
aad 0xfd
test al, 0x2f
xchg ecx, eax
xchg ecx, eax
jae 0x4ac5f5
cmpsd dword [esi], dword es:[edi]
imul ebp, dword [edi + ecx*4], 0x4de8d954
invalid
or byte [eax + 0x18], bh
mov bl, 0x40
xchg ebp, eax
movsb byte es:[edi], byte [esi]
movsd dword es:[edi], dword [esi]
and dword [edx - 0x459f2b99], esi
inc edx
push ds
sub dword [ecx + 0x4b04b76d], 0xffffffae
cmp al, 0
sub dl, byte [eax]
lahf
jg 0x4ac5ca
jle 0x4ac5ab
mov dh, 0x52
cmp byte [edx - 0x31bd6b26], 0xe8
rol byte [eax], 1
mov ah, 0x74
mov dword [0x2a74ab0e], eax
into
mov edi, 0xfa5a9a42
add esi, ecx
dec edx
stosb byte es:[edi], al
ror dword [esi + 0x42], 0xba
and ecx, dword [edx + ebx*2 + 0x3a]
pop esi
not dword [ecx - 0x54]
mov al, byte [0x95bab571]
jp 0x4ac686
jno 0x4ac5f0
mov edx, 0xac477a95
lodsb al, byte [esi]
mov cl, 0x4c
jecxz 0x4ac6a0
inc edx
xchg esi, eax
or bl, byte [ebp - 0x40df21f4]
mov edi, 0xd266af88
pop esi
mov ds, ebp
push ss
invalid
jne 0x4ac656
xor eax, 0x16b8f1d6
pop esp
inc ecx
cmp ebx, esi
push ds
or byte [edx], ch
lds ebx, [edx + 0x5702bac4]
xchg edi, eax
dec edi
inc ebx
jmp 0x4ac685
sbb al, byte [eax]
into
add dh, cl
push esi
sbb dh, byte [eax + 8]
adc byte [edi], 0x51
out 0x96, eax
fisttp word [ecx + 0x3e]
adc ecx, dword [edi]
xchg dword [edi - 0x3aaebd29], ecx
sbb byte [esi - 0x32], bl
lcall 0x88cc, 0xaf886a7f
push edx
mov ah, 0x34
lahf
jg 0x4ac70c
mov byte [edi - 0x4bad7734], ch
xor al, 0x9f
jmp 0x4ac6ee
inc eax
jb 0x4ac73a
fisttp word [eax + 0x7d9e54ba]
mov ebx, 0xd8100aa0
xchg ebx, eax
ficom dword [eax + 0x2a]
xchg ebp, eax
inc edx
outsd dx, dword [esi]
inc esi
or eax, 0x5e9bc6bb
jecxz 0x4ac743
push es
inc esp
pop ecx
inc ecx
mov esi, 0x7a7f1a80
rol bh, 1
lodsb al, byte [esi]
inc dword [ebp + 0x8420c57]
push 0xfffffffffffffff5
cld
invalid
cmp dword [esi - 0x79], 0x1a
pushal
out 0xf4, al
lea edx, [eax + 0x3e]
and edx, esi
inc edi
aam 0x20
dec edi
ret 0x8a2
mov byte [0xbb078408], al
das
das
or byte [edi + eax + 0xc2f2fbb], al
mov ah, 0x70
in al, 0xac
or al, 0xb4
jo 0x4ac722
lodsb al, byte [esi]
cli
cdq
cmp al, 1
scasd eax, dword es:[edi]
sub dword [ecx - 0x157e4a90], ebx
push edi
out 0x62, eax
push ss
dec esi
mov dword [ecx], esp
sub byte [0x2782e13b], dh
and dword [eax], ebp
xor eax, 0x2782e13b
outsd dx, dword [esi]
inc edi
mov edi, edi
sti
je 0x4ac733
push eax
salc
scasb al, byte es:[edi]
jecxz 0x4ac6f7
stosb byte es:[edi], al
push cs
daa
cld
loop 0x4ac750
cmpsd dword [esi], dword es:[edi]
mov esp, eax
inc edx
xchg esi, eax
jo 0x4ac734
aam 0x27
lds edx, [edx + 0x7ca89e14]
mov ch, 0xdb
jne 0x4ac765
insb byte es:[edi], dx
scasd eax, dword es:[edi]
sbb al, 0xe2
push edi
loop 0x4ac7e8
push edi
mov edx, 0xca74afac
enter 0xffffffffffff9e12, 0xffffffffffffffff
inc eax
lcall 0xb840, 0x462dabd4
pop ebx
push 0x8716b49
add esi, eax
dec eax
push edx
sti
lodsd eax, dword [esi]
test al, 0x73
aad 0xec
jnp 0x4ac77f
loope 0x4ac7b1
out dx, eax
shl byte [edi], cl
insd dword es:[edi], dx
cmp esp, dword [ebp - 0x72]
rol dword [edx + 0x1306e622], 0x5a
dec esi
and ah, dh
push es
adc ebx, dword [edx + 0x4e]
rcr byte [ebp + 0x69fefb9e], 1
sub bl, bl
mov esi, 0x1f1e31f9
cmp ebx, edi
add eax, 0xf8bf0dbe
les edx, [ebp - 0x22983ad5]
dec ebx
dec eax
pop ss
mov esi, 0xf54a4de0
sub eax, dword [edx + ebx*8 - 0x7b]
inc edi
ror edi, 0x17
lea edx, [esi + 0x1b]
pop ebx
into
test byte [0x4fbd7ad9], dl
inc esp
inc edx
xor al, 0xe
mov dword [edi], ebp
jno 0x4ac7d5
xchg ecx, eax
or eax, 0x41980685
xor ecx, dword [ebp - 0x26eab58f]
push edx
je 0x4ac84d
dec esi
xchg ebp, eax
retf
invalid