Function at 0x8890cd
Capabilities:
Encode data using xor

Disassembly:
jb 0x8890d5
bound esi, qword [ebp + 0x74]
jae 0x8890b7
js 0x8890cb
add byte [eax], al
sub dword [0x69442034], 0x74636572
outsd dx, dword [esi]
jb 0x8890fc
popal
push 0x65520414
insd dword es:[edi], dx
outsd dx, dword [esi]
jbe 0x8890bf
adc al, 0
add dl, ch
inc esi
inc eax
add byte [edi + edx*2], cl
add byte [eax], al
test dword [ecx], eax
fimul word [esp + edx*2]
insd dword es:[edi], dx
jo 0x8890a2
cwde
or al, 0x57
add byte [eax], al
dec ebp
add dword [ecx + ecx*2 + 0x2e7400f8], edx
push edx
add byte [eax], al
mov edi, 0x184a3e01
add byte [esi*2 + 0x706f4300], dl
jns 0x8890c0
adc al, 0x75
add byte [ebx + 0x6f], al
jo 0x889137
add dword [ebp + 0x63005718], esi
add ecx, dword [ebp + 0x6f]
mov ch, 0x18
push edi
add byte [ebx + 3], ah
sbb byte [edi], dl
arpl word [ebx], ax
dec ebp
outsd dx, dword [esi]
jbe 0x8890ee
mov esp, 0xd600571c
push edi
add dh, dl
salc
add byte [ebp + 0x6c], al
dec ecx
inc edi
or al, 0x57
add byte [0x61220101], ah
jecxz 0x8890e3
push esp
outsd dx, dword [esi]
jge 0x8890d2
or byte [eax], al
mov esi, 0x1c0e1904
push esp
outsd dx, dword [esi]
push esp
jp 0x889142
push ebx
jo 0x889156
arpl word [ecx], sp
mov eax, 0x2f013585
add al, 0
xor al, 0x25
inc esp
and eax, 0x54301da
add byte [ebp + 5], al
adc al, 0x21
mov al, 1
adc edi, dword [eax]
push edi
add byte [esi], bh
add ecx, dword [edi + ebp*2 + 0x61]
dec esp
imul esp, dword [edx + 0x72], 0x5797261
and al, byte [eax]
bound esp, qword [ebp + 0x1c]
or eax, 0x3f000412
and byte cs:[eax], al
or al, 0x57
add byte [eax], al
adc al, 1
hlt
lodsd eax, dword [esi]
sub eax, 0x170008e
push ss
or dword [edi - 0x78ff06e3], ecx
add eax, 0x6d6f30f8
add byte [edi + 0x6f30f805], al
insd dword es:[edi], dx
insd dword es:[edi], dx
popal
outsb dx, byte [esi]
dec esp
imul ebp, dword [esi + 0x65], 0x5c10057
adc ch, byte [ecx + 0xc156dd2]
test eax, 0xc156dd2
dec ecx
add dl, bh
mov cl, 0x88
add byte [ebx - 0x23], dl
cmp al, 0xc
inc ebp
js 0x889169
sbb byte [ecx], al
push esi
or dword [ecx + ebp - 0x37], ebp
or al, 0x57
add byte [eax], al
arpl word [ecx], ax
adc al, 0x18
push ebx
je 0x8891dc
jb 0x8891f1
jne 0x8891ef
test eax, 0x2e25819
dec ecx
outsb dx, byte [esi]
imul esi, dword [ecx + ebp*2 + 0x61], 0x657a696c
inc ebx
jb 0x8891fa
je 0x8891fc
arpl word [ecx + 0x6c], sp
push ebx
arpl word gs:[ecx + 1], ax
add al, 0
shr dword [0x183e4a], 1
or dh, ch
add byte [ebp - 0x7f], al
and edi, dword [esi]
pop ss
add byte [eax], bl
add byte [ecx], bh
add ecx, dword [ebp + 0x61]
jbe 0x8891f7
das
add byte [eax + eax], dh
mov al, byte [ebx]
dec edi
jne 0x889232
jo 0x889235
je 0x889206
bound esi, qword gs:[ebp + 0x67]
mov dword [edi + 0x20], eax
push edi
add byte [eax], al
jns 0x8891d1
dec edi
jo 0x889236
outsb dx, byte [esi]
and dword [eax + 0x79], ecx
jo 0x8891f7
int1
add al, 0x56
imul esi, dword [edx + 0x74], 0xe56c6175
test dword [eax + eax], ecx
je 0x889253
popal
insb byte es:[edi], dx
in eax, 0x85
or al, 0
add byte [edi + 3], ah
lds ebx, [ebp + 0x20]
inc edx
jns 0x889261
push esp
outsd dx, dword [esi]
push edi
imul esp, dword [ecx + 0x44], 0x1100720c
add byte [ecx], dl
add eax, 0x54040b11
adc dword [ebx], ecx
add al, 0x54
outsd dx, dword [esi]
adc eax, 0x4b003c20
inc ebp
push edx
dec esi
inc ebp
dec esp
xor esi, dword [edx]
insb byte es:[edi], dx
insb byte es:[edi], dx
add byte [eax], al
movsb byte es:[edi], byte [esi]
and dword [esp + edx], ebp
push edi
imul ebp, dword [esi + 0x64], 0x60d1776f
invalid
or byte [ebx], dh
cmp dword [0xf935091e], eax
add eax, 0xf935091e
int3
je 0x8892ba
jb 0x88929a
insb byte es:[edi], dx
popal
jae 0x88929c
rol byte [ebx + esi], cl
add al, byte [ecx + 0x3419ec]
sbb dword [eax + eax], esi
pop ebp
add dword [ebp + edx + 0x1e3100f], eax
dec ebx
imul ebp, dword [ebp + eax*2 + 0x5b], 0x96007208
add dword [edx], ebx
or dword [edx + 4], ecx
dec esp
outsd dx, dword [esi]
lds ebp, [esi + 0x10]
pushfd
add byte [ebp + 0x66], al
or dword [edx], edx
and ebx, ebx
or al, 0x57
add byte [eax], al
insb byte es:[edi], dx
add dword [eax + edi], esp
push ecx
jne 0x8892f8
jne 0x8892fa
push ebx
je 0x8892f9
je 0x88930f
jae 0x88929c
add byte [ebx + 0x2c1ae102], bh
imul ebp, dword [ebp + 0x65], 0x1c000072
add byte [ebx + 0x61], al
insb byte es:[edi], dx
insb byte es:[edi], dx
inc ecx
mov cl, byte [eax + ecx*2]
outsd dx, dword [esi]
outsd dx, dword [esi]
imul eax, dword [ecx + 0x24e08f4], 0x52
push edx
cmp dl, byte [eax + 0x6d6e0000]
mov al, byte [0x9f415709]
add ah, al
add dword [edx + 9], eax
invalid
imul esi, dword [ebx + 0x70], 0x68637461
or eax, 0x572813
add byte [eax], al
add edx, dword [ebp + 0x6e]
jae 0x88936b
jo 0x88935d
popal
je 0x889361
push 0x5728130d
add byte [eax], al
add byte [ebx], al
push ebp
outsb dx, byte [esi]
push 0x96b6f6f
outsd dx, dword [esi]
or eax, 0x3000185d
add byte [ebx + 0x68], al
popal
jb 0x88931b
mov eax, 0x4178451c
sbb al, 0x45
js 0x889360
add byte [ebp + 0x53], dl
inc ebp
push edx
xor dword [edx + 0x4300100c], esi
outsd dx, dword [esi]
push ss
and al, 9
or al, 0x49
outsb dx, byte [esi]
jae 0x8893a7
push cs
jp 0x88933f
adc al, 0
add byte [esi], bh
add byte [ebx + 0x6f], al
pop ecx
mov al, byte [0x6c000020]
add byte [ebx + 0x6f], al
and byte [eax], al
add byte [eax + eax + 0x43], ch
outsd dx, dword [esi]
push ebp
outsb dx, byte [esi]
imul edx, dword [ebp - 0x4e], 0xf000008
adc eax, 0x75472036
imul esp, dword [eax + eax], 0xd656c6f
push ecx
add byte [ecx + 0x21], ah
adc byte [ecx + 0x63], al
add al, 0x4b
inc ecx
arpl word [ebx + ecx*2], ax
wait
add byte [esi + 1], ch
adc byte [ebp + 0x58], al
adc ah, byte [eax]
or dword [ecx], esp
invalid
adc byte [0x1440034], cl
adc byte [ecx + 0x310583], cl
dec eax
sbb dword [eax], edx
or eax, 0x17e0032
jle 0x8893b6
adc bl, byte [esi]
test al, 9
add eax, 0x1530088
adc dl, byte [eax]
inc esi
insb byte es:[edi], dx
jne 0x889437
push 0x20008801
test dword [esp + edx + 0x53], eax
imul esp, dword [eax + eax - 9], 0x41c10101
adc dword [eax], ebp
jae 0x88944d
push esp
outsd dx, dword [esi]
imul esp, dword [ebp + 0x6e], 0
add byte [edx + 0x41], bl
sbb byte [0xad94010c], al
lodsd eax, dword [esi]
add al, 0
add dword ss:[esi], edx
adc al, 0x4c
outsb dx, byte gs:[esi]
je 0x88945e
add dword [ecx], edi
add al, 0
jbe 0x8893a1
push ds
add dword [ebx], ecx
adc al, 0x41
inc esp
push esi
inc ecx
push eax
dec ecx
sub eax, 0x57001015
push ebx
xor bl, byte [edi + 0x11]
or al, 0x10
ljmp 0x4be1
or al, 0xe
push es
or byte [eax], cl
add byte [eax], al
rol byte [0x6552040c], cl
or dword [edx], ebx
add byte [edx], bl
add eax, 0x83e6934
add byte [eax], al
cwde
xor dword [eax + 0x41], 0x6f5a0cb2
outsb dx, byte [esi]
scasd eax, dword es:[edi]
add byte [eax + eax], al
and al, 0xe9
in al, dx
adc byte [ebx + 0x6f], al
outsb dx, byte [esi]
jae 0x8894d6
push cs
mov dh, 8
add byte [edx + 0xe0dc001], bl
adc byte [ebx + 0x50], al
add byte [eax], al
lodsb al, byte [esi]
sbb eax, 0xa4c910
xchg ecx, eax
and byte [edx], ch
or byte cs:[eax], al
jecxz 0x8894ea
mov edx, 0x6e411804
push ebx
jo 0x8894f6
outsb dx, byte [esi]
push ss
jne 0x88949a
add byte [ecx + 1], ah
cmp byte [eax], cl
inc esi
imul ebp, dword [ebp + ebx*8 - 0x42], 0x570c
mov esi, 0x570c
xchg byte [ecx], cl
pushal
mov ch, 0x5e
xor al, 0x41
add byte [ecx + 0x69615203], dh
jae 0x889513
inc ebp
js 0x889514
jo 0x889439
call dword [eax + eax]
rol dword [edx*2 - 0x63ed9792], cl
or byte [eax], al
adc eax, 0x69460816
insb byte es:[edi], dx
push cs
or eax, 0xa500040c
add dword [esi + 0x66], edx
pop ds
add byte [eax], cl
add ecx, dword [ecx + 0x73]
test esi, ebp
sub al, 0x67
jb 0x88952d
jb 0x889544
jae 0x889546
outsb dx, byte [esi]
je 0x8894e4
aam 0x25
sub byte [ebx + edx*2], ah
imul edi, dword [edx + 0x65], 0x3040000
jp 0x889551
add byte [eax], al
add al, 3
dec ecx
jae 0x889520
pop eax
and byte [edi + 0x72], ch
inc esi
jb 0x88953e
popal
je 0x889571
jb 0x889563
adc dword [eax], ebp
add byte [edi + 1], ch
pop edx
test eax, 0x8c109b2
add byte [edi + 1], dl
inc ebp
sbb edi, dword [esi + eax*2]
imul ebp, dword [ebp + 0x42], 0x65666675
jb 0x88958d
inc edx
jne 0x88957c
jb 0x88958d
add byte [eax], al
out dx, eax
add cl, byte [ecx - 0x5f]
test byte [eax], ch
insb byte es:[edi], dx
outsd dx, dword [esi]
arpl word [ebx + 0x65], bp
dec ecx
outsb dx, byte [esi]
arpl word [edx + 0x65], si
push cs
movsb byte es:[edi], byte [esi]
or dword [eax], ecx
add byte [eax], al
jae 0x889536
sub dl, byte ds:[esi + 0x2eeb000c]
sub dl, byte [esi + 0x2eeb000c]
sub byte [eax], al
add al, 0x44
adc eax, 0x1570028
push edi
add dword [eax], ebp
sub al, bl
or dword [esi + edx*2], edx
popal
jb 0x8895b8
sub byte [edx], ch
ret
popal
bound esp, qword [ecx]
mov al, byte [eax]
push esi
pop edx
sbb al, byte [eax]
or byte [ecx], al
int 5
ret 0x2169
and dword [edx + 0x1a5a5600], ecx
add byte [eax], cl
inc ecx
add ch, cl
add eax, 0x82169c2
add byte [eax], al
into
add eax, 0x416ad0e
add byte [edx + 0x25], dh
push eax
add byte [eax + 0x21], dl
in al, 4
add byte [eax + 1], ch
or al, 0
inc ecx
add al, 0
push 0x41000c01
and esi, eax
add byte [edi], dh
inc ecx
add byte [eax], cl
dec edi
inc ebp
dec ebp
add dword [eax], ecx
or al, byte [ebx]
dec ecx
jae 0x8895e0
popal
insb byte es:[edi], dx
imul esp, dword [edx + edx - 0x42], 0xab90e09
adc bh, byte fs:[esi + 0xab90e09]
add bl, dl
add dword [eax], ebp
adc dl, byte [ecx + 0x9a70e09]
or byte [edi], dl
adc eax, dword [ecx]
leave
mov dl, 1
in al, dx
loope 0x8895c8
or al, 0x41
add byte [eax], al
jns 0x8895b1
push ss
add byte [ebx + 0x12], dl
dec esi
or al, 0x41
dec edx
add al, 0x41
jae 0x8895bd
sbb al, 1
or cl, byte [eax + eax + 0x18]
add dword [edx], ecx
dec esp
add byte [eax], bl
add al, 0x52
je 0x889632
push ebp
outsb dx, byte [esi]
ja 0x889633
outsb dx, byte [esi]
add byte fs:[0x4d434c03], ch
popal
jo 0x8895aa
pop esi
add byte [ecx + 5], ch
adc cl, ah
or ecx, dword [ecx]
pop ebp
add al, 0
mov byte [ebp + 0x83f010e], ch
inc ecx
add byte [edx + 1], cl
and byte [0xed84183], ch
add byte [eax + 0x3f010ead], cl
or byte [ecx], al
dec edx
add dword [eax], esp
sub eax, 0xed84183
adc byte [esi], cl
add dword [ecx], eax
or al, 0x44
retf
add eax, 0xab602810
adc byte [eax], ch
pushal
stosd dword es:[edi], eax
add dword [eax], eax
xor al, cl
add dword [eax], eax
inc eax
mov dword [ecx], 0xf8f01005
invalid