Function at 0x881c4c
Capabilities:
Encode data using xor

Disassembly:
sub dword [0xc66524], esp
add bl, ch
jmp 0x881c56
add byte [eax + 0xa], al
add byte [eax], al
add byte [eax], al
invalid
jmp 0x881c56
pushal
call 0x881c5c
pop ebp
sub ebp, 0x10
sub ebp, 0x481c4c
jmp 0x881c72
mov eax, 0x481c4c
add eax, ebp
add eax, 0x4c
mov ecx, 0x5f9
dec eax
add byte [ebx], al
lds eax, [ecx + 0x4cc0]
add byte [ecx + 0x5f9], bh
add byte [edx + 0x2438e06a], bh
mov edx, 0x2438e06a
xor byte [eax], dl
inc eax
dec ecx
jne 0x881c89
jmp 0x881c9c
loope 0x881c45
loope 0x881c83
push esi
push 0x6a
push 0xffffffffffffffeb
stosd dword es:[edi], eax
xchg edx, eax
push 0x6a
push 0x69
cmpsd dword [esi], dword es:[edi]
shr byte [esi + 0x6a], cl
push 0x6a
rol byte [edx + 0x6a], 1
push 0x6a
popfd
mov byte [ecx - 0x5e], ch
loope 0x881ca7
push 0x6a
push 0x69
scasd eax, dword es:[edi]
cmp ah, bh
push cs
dec esi
xchg esi, eax
jecxz 0x881d37
dec esi
add cl, byte [esi + 0x26a64e3]
or al, 0xf8
push ebx
push 0x6b
inc esi
dec esi
add dh, byte [eax - 0x7d53f0d2]
outsd dx, dword [esi]
push 0x6a
push 0xffffffffffffff83
pop esi
push 0x6a
push 0xffffffffffffffe7
push cs
dec esi
xchg esi, eax
jecxz 0x881d32
dec esi
loope 0x881c75
loope 0x881ce0
bound ebp, qword [edx + 0x6a]
push 0xffffffffffffffe1
jmp dword [esi + 0x6a]
jp 0x881d69
push 0x6a
stosd dword es:[edi], eax
sub dword [eax + 0x5b], 0x68
jmp 0x65ab8bb3
out 0xe, eax
dec esi
xchg esi, eax
jecxz 0x881d9a
dec esi
sub byte [edi + 0x6a], 0x6a
push 0x6a
push 0xffffffffffffff83
sub eax, 0xe76a6a68
push cs
dec esi
xchg esi, eax
jecxz 0x881d8b
dec esi
out 6, eax
dec esi
push 0xffffffffffffff95
pop ds
xchg bp, ax
pop ds
bound eax, qword [edx + 0x6a6a6a18]
sbb byte [eax], 0x6a
push 0x6a
loope 0x881d2e
bound ebp, qword [edx + 0x6a]
push 0x59
mov dword [0x44af98eb], eax
push ebp
pop es
jmp 0x881cfd
pop ecx
mov eax, 0x226f82e9
out dx, al
and al, 0x6a
push 0x6a
loop 0x881d9a
push 0x6a
push 0xc
loope 0x881df4
push ebx
ljmp 0x6a70
push 0x6a
ljmp 0x6a7b
out dx, al
jnp 0x881df9
push 0x6a
or al, 0xeb
xchg ecx, eax
xchg ebp, eax
dec edi
out dx, al
jg 0x881e04
push 0x6a
sub eax, dword [ebx - 0x6a6a6a5a]
inc ebx
push ebx
imul ebp, ecx, 0xffffffab
outsd dx, dword [esi]
jmp 0xd80b8c30
xchg ebp, eax
inc ebx
push ebx
push 0xe96cabe9
sub byte [esi - 0x17], 0x82
outsd dx, dword [esi]
add ecx, 0xffffff95
xchg ebp, eax
xchg ebp, eax
aaa
test al, 0x66
push 0x3f
loope 0x881d50
cmp al, 0x3d
aas
loope 0x881dee
loope 0x881de9
bound edx, qword [esi + 0x6ce0ead8]
jmp 0x881d86
insd dword es:[edi], dx
jmp 0x881d8f
push 0x6a
push 0x6fef65b8
out dx, eax
outsd dx, dword [esi]
push 0x6a
push 0xffffffffffffffe0
jl 0x881e22
js 0x881db0
jmp 0x961db3b0
jmp 0x961db3b0
mov dl, 0x95
xchg ebp, eax
xchg ebp, eax
push 0x6fef65b8
push 0x6a
push 0xffffffffffffffe0
jl 0x881e35
push 0x6a
loopne 0x881e84
sub al, 0x78
mov eax, 0x6a00e965
push 0x6a
pop ecx
stosb byte es:[edi], al
push 0x6fef65b8
js 0x881dc3
jmp 0x6af28811
jmp 0x6af28811
push 0x6a
push 0xffffffffffffffe0
jl 0x881e4a
js 0x881dd8
mov eax, 0x6b40e965
push 0x6a
push 0x6fef65b8
push 0x6a
push 0xffffffffffffffe0
jl 0x881e5d
jmp 0x6af28966
inc eax
imul ebp, dword [edx + 0x6a], 0x68
mov eax, 0x6a6fef65
push 0x6a
loopne 0x881eac
sub al, 0x78
mov eax, 0xb868aa79
out dx, eax
js 0x881deb
jns 0x881ddf
push 0x6fef65b8
outsd dx, dword [esi]
push 0x6a
push 0xffffffffffffffe0
jl 0x881e6c
js 0x881dfa
jns 0x881dee
push 0x6fef65b8
push 0x6a
push 0xffffffffffffffe0
jl 0x881e7b
mov eax, 0x6a6fef65
push 0x6a
loopne 0x881eca
sub al, 0x78
mov eax, 0xb868aa79
out dx, eax
outsd dx, dword [esi]
js 0x881e09
jns 0x881dfd
push 0x6fef65b8
mov eax, 0x6a6fef65
push 0x6a
loopne 0x881ed9
push 0x6a
push 0xffffffffffffffe0
jl 0x881e8a
sub al, 0x78
mov eax, 0xee65aa79
js 0x881e18
jns 0x881e0c
out dx, al
insb byte es:[edi], dx
push 0x6a
push 0xffffffffffffffe1
mov ch, 0x41
push 0x6a
loope 0x881e1f
inc ecx
mov dl, 0xe0
imul esp, edx, 0x68d12d6d
push 0x6a
loopne 0x881ed7
loop 0x881edd
sub eax, 0x6a6a68d1
push 0xffffffffffffff83
sbb dl, byte [ebp + 0x6bd29595]
push 0x6a
push 0x68
mov eax, 0x6a6fef65
push 0x6a
sbb dword [edx], 0xffffff95
xchg ebp, eax
xchg ebp, eax
shr byte [ebx + 0x6a], cl
push 0x6a
push 0x6fef65b8
outsd dx, dword [esi]
push 0x6a
push 0xffffffffffffffe0
jl 0x881eb7
loopne 0x881f06
sub al, 0x78
mov eax, 0xb868aa79
out dx, eax
outsd dx, dword [esi]
js 0x881e45
jns 0x881e39
push 0x6fef65b8
push 0x6a
push 0xffffffffffffffe0
jl 0x881ec6
js 0x881e54
call 0x961db456
inc ecx
test eax, 0x6a6a6bd1
push 0x65
out dx, eax
push 0x6a
out dx, eax
pop esi
push 0x6a
push 0xffffffffffffffd3
imul ebp, dword [edx + 0x6a], 0x6a
push 0x6fef65b8
push 0x68
mov eax, 0x6a6fef65
push 0x6a
loopne 0x881f3a
out dx, eax
out dx, eax
outsd dx, dword [esi]
push 0x6a
push 0xffffffffffffffe0
jl 0x881eeb
sub al, 0x78
mov eax, 0xb868a379
js 0x881e79
jns 0x881e66
push 0x6fef65b8
out dx, eax
out dx, eax
outsd dx, dword [esi]
push 0x6a
push 0xffffffffffffffe0
jl 0x881efa
loopne 0x881f49
sub al, 0x78
mov eax, 0x95b4e865
xchg ebp, eax
xchg ebp, eax
js 0x881e88
call 0x961db48a
cmp al, 0xe1
popfd
loope 0x881e76
inc ecx
lahf
cdq
into
xor al, 0x83
bound edx, qword [ebp - 0x54dd6a6b]
mov ah, byte [edx - 0x20]
insb byte es:[edi], dx
sub al, 0xe1
adc bl, 0x6b
push 0x6a
push 0x68
mov eax, 0x6a6fef65
push 0x6a
loopne 0x881f77
jl 0x881f28
sub al, 0x78
mov eax, 0xb868a379
out dx, eax
outsd dx, dword [esi]
js 0x881eb6
jns 0x881ea3
push 0x6fef65b8
push 0x6a
push 0xffffffffffffffe0
jl 0x881f37
push 0x6a
loopne 0x881f86
sub al, 0x78
mov eax, 0x95b4e865
xchg ebp, eax
xchg ebp, eax
js 0x881ec5
call 0x961db4c7
jmp 0x881ea7
xchg ebp, eax
xchg ebp, eax
xchg ebp, eax
xchg ebp, eax
jmp 0x881eb3
xchg ebp, eax
xchg ebp, eax
xchg ebp, eax
jmp 0x881ebf
jmp 0x881ecb
push 0x6a
push 0xffffffffffffffeb
mov ebx, 0x6a6a6a6a
cmp al, 0xe1
popfd
inc ecx
lcall 0x94f1, 0x8334ce99
into
xor al, 0x83
int1
xchg esp, eax
xchg ebp, eax
xchg ebp, eax
loopne 0x881fbe
sub al, 0x59
mov dword [0x656b82aa], eax
out dx, al
jo 0x881fc6
push 0x6a
jmp 0x881f1b
xor al, 0xd1
imul ebp, dword [edx + 0x6a], 0x6a
sbb dword [ecx], 0xffffff94
xchg ebp, eax
xchg ebp, eax
aaa
inc ecx
pop ss
invalid
loope 0x881fde
dec esi
out 0xe, eax
dec esi
outsb dx, byte [esi]
xor al, 0x83
outsb dx, byte [esi]
push 0x6a
push 0xffffffffffffffcf
or eax, 0x26d21c0b
jbe 0x881fbd
push 0x69
scasd eax, dword es:[edi]
jmp 0x881f4a
outsd dx, dword [esi]
iretd
insd dword es:[edi], dx
salc
cmpsb byte [esi], byte es:[edi]
invalid
push ecx
push ecx
push ecx
jp 0x881f6d
salc
stosd dword es:[edi], eax
fisubr dword [ebx]
push ecx
salc
stosd dword es:[edi], eax
ficomp dword [esi]
push ebp
shr byte [ebx + 0x51515151], 1
pop esi
aad 0x17
push ecx
push ecx
push ecx
push edx
xchg eax, edx
xchg esi, eax
pop ecx
push ecx
push ecx
push ecx
sar byte [eax + 0x51515159], 1
shr byte [eax + 0x51515151], 1
pop esi
aad 0x81
scasb al, byte es:[edi]
scasb al, byte es:[edi]
scasb al, byte es:[edi]
aaa
ficom dword [esi - 0x70]
mov ecx, 0x5eb1d25d
shr byte [ecx + 0x51515152], 1
pop esi
aam 0x5c
push ecx
push ecx
push ecx
aaa
ficom dword [esi - 0x30]
mov cl, 0xae
pop esi
push ecx
push ecx
push edx
xchg ebx, eax
push eax
dec ecx
sbb byte [eax], bl
rcl byte [esi - 0x516647ad], cl
scasb al, byte es:[edi]
scasb al, byte es:[edi]
mov eax, 0x51515155
add ebp, dword [edx + 0x34]
dec ebx
jmp 0x51a16d6b