Function at 0x15caa50
Capabilities:
Encode data using xor

Disassembly:
or byte [ecx - 0x6def800d], cl
int 0x29
push ss
std
int3
jmp 0x15caa5a
pushal
call 0x15caa60
pop ebp
sub ebp, 0x10
sub ebp, 0x11caa50
jmp 0x15caa76
mov eax, 0x11caa50
add eax, ebp
add eax, 0x4c
mov ecx, 0x5b9
add byte [eax], al
add byte [ecx + 0x5b9], bh
mov edx, 0xf214f470
xor byte [eax], dl
inc eax
dec ecx
jne 0x15caa8d
jmp 0x15caaa0
sti
mov ebp, 0x704cf9fb
jo 0x15cab18
int1
mov cl, 0x88
jo 0x15cab1d
jo 0x15cab22
mov ebp, 0x707075c8
jo 0x15caa80
pop eax
jo 0x15cab29
jo 0x15caa42
xchg edx, eax
jae 0x15caa76
sti
int1
jl 0x15cab32
jo 0x15cab34
jae 0x15caa7b
and byte [eax], ah
sbb byte [esi + eax*2], dh
push eax
jo 0x15caae6
jp 0x15caad4
invalid
push esp
sbb byte [eax], dl
dec ebp
mov esp, 0x7075988c
jo 0x15cab4f
cdq
pop esi
jo 0x15cab53
jo 0x15cab54
jo 0x15caae2
std
adc al, 0x54
push esp
invalid
jo 0x15cab32
xor al, 0x46
push eax
jo 0x15cab37
jp 0x15cab25
invalid
jo 0x15cab95
pop esp
push esp
std
adc al, 0x54
invalid
cdq
xor dword [edx + 0x70], esi
jb 0x15caba6
jo 0x15cab5d
and eax, 0x70541cfd
pop dword [0x78058f7c]
std
sbb al, 0x54
jo 0x15caacc
add eax, 0x78058f7c
cwde
add dh, byte [eax + 0x70]
jo 0x15cab43
int 0x78
jo 0x15cabbc
jo 0x15cab91
mov ecx, 0xa60382f1
int1
add byte [ebx], 0xa6
cmpsb byte [esi], byte es:[edi]
and byte [ecx - 0x59fc7d0f], ah
mov eax, dword [0xa60382f1]
add esp, dword [esi - 0x5dbc5ee0]
and byte [ecx - 0x670c5dbd], ah
cwde
jne 0x15cab99
jg 0x15cab57
jo 0x15cabd6
jo 0x15cabe7
clc
cmp byte [eax + 0x70], dh
jo 0x15cab84
sti
insb byte es:[edi], dx
dec ecx
invalid
jo 0x15cabf3
push ss
int1
mov ecx, dword [edi + 0x65f47f55]
jo 0x15cabfd
jo 0x15cabfe
jo 0x15cabc0
xor dword [ecx - 0x70707044], ebx
pop ecx
cdq
mov esp, 0x598f8f8f
invalid
cmp al, 0x49
jno 0x15cab8c
mov cl, 0x75
cwde
je 0x15cab38
int 0x8f
invalid
and al, 0x49
jb 0x15cab9b
mov cl, 0x76
lcall 0xdb99, 0x7598f374
invalid
daa
and eax, 0xfb7c05fb
or eax, 0xf0c28c78
cli
add eax, 0x780dfb7c
mov edx, es
invalid
js 0x15cab52
ret 0xfaf0
jbe 0x15cabbc
mov dh, 0x71
jo 0x15cac3f
jo 0x15cabc9
ja 0x15cabc4
mov bh, 0x71
jo 0x15cac47
jo 0x15cac48
jo 0x15caba4
retf
jb 0x15cac4b
jo 0x15cac4d
jb 0x15cab81
jg 0x15cabd6
jne 0x15cac53
jo 0x15cac55
cli
bound sp, dword ss:[edx - 0x70570c81]
bound esp, qword ss:[edx - 0x70570c81]
mov byte [0x8fa8f37f], al
invalid
jg 0x15cabe9
cmc
jne 0x15cac66
jo 0x15cac68
cli
bound sp, dword ss:[edx + 0x701af37f]
jo 0x15cac73
jg 0x15cabf2
sbb dh, byte [eax + 0x70]
sbb dh, byte [eax + 0x70]
jo 0x15cac47
inc ebx
mov al, 0x72
mov byte [0x7075f57f], al
jo 0x15cac7d
cli
bound sp, dword ss:[edx + 0x715af37f]
mov byte [0x715af37f], al
jo 0x15cac88
jb 0x15cabbc
jg 0x15cac11
jne 0x15cac8e
jo 0x15cac90
cli
bound sp, dword ss:[edx - 0x5d8d4f9d]
jg 0x15cac20
jne 0x15cac9d
jo 0x15cac9f
cli
bound sp, dword ss:[edx - 0x5d8d4f9d]
jg 0x15cac2f
jne 0x15cacac
jo 0x15cacae
cli
bound sp, dword ss:[edx - 0x5d8d4f9d]
jg 0x15cac3e
cmc
jne 0x15cacbb
jo 0x15cacbc
jo 0x15cacbd
jo 0x15cac48
cli
bound sp, dword ss:[edx - 0xb804f9d]
mov al, 0x7f
hlt
jbe 0x15cacc8
jo 0x15cacca
jo 0x15cac56
sti
scasd eax, dword es:[edi]
pop ebx
test al, 0xfa
jae 0x15cac59
ja 0x15cac9a
aaa
retf
jo 0x15cacd8
cdq
add byte [edi + 0x71c88f8f], cl
jo 0x15cace1
invalid
jo 0x15cace5
mov byte [0x7075f57f], al
jo 0x15cacea
cli
bound sp, dword ss:[edx - 0x5d8d4f9d]
bound esp, qword [edx - 0x5d8d4f9d]
mov byte [0x7075f57f], al
jg 0x15cac7a
cmc
jne 0x15cacf7
jo 0x15cacf9
jo 0x15cac84
cli
bound sp, dword ss:[edx - 0x70510d81]
invalid
jg 0x15cac82
scasb al, byte es:[edi]
invalid
jo 0x15cad1b
cmc
inc esp
jo 0x15cad10
jo 0x15cad11
jo 0x15cac6b
leave
jno 0x15cad14
jo 0x15cad16
jb 0x15cac4a
jg 0x15cac9f
jne 0x15cad1c
jo 0x15cad1e
cli
bound sp, dword ss:[edx - 0x5d8d469d]
jg 0x15cacae
cmc
jne 0x15cad2b
jo 0x15cad2d
jo 0x15cacb8
cli
bound sp, dword ss:[edx - 0x70510d81]
invalid
sti
xchg dword [ebx - 0x7b], ebx
adc esp, 0x2e
aam 0x2e
cdq
js 0x15cac62
invalid
invalid
js 0x15cacd4
jbe 0x15cad12
sti
cwde
leave
jno 0x15cad51
jo 0x15cad53
jb 0x15cac87
jg 0x15cacdc
cmc
jne 0x15cad59
jo 0x15cad5b
jo 0x15cace6
cli
bound sp, dword ss:[edx - 0x5d8d469d]
jg 0x15caceb
cmc
jne 0x15cad68
jo 0x15cad69
jo 0x15cad6a
jo 0x15cacf5
cli
bound sp, dword ss:[edx - 0x70510d81]
invalid
jo 0x15cad7b
int1
test eax, 0x8f8f8f8f
invalid
int1
mov byte [eax + 0x75], dh
jne 0x15cad86
jo 0x15cad87
jo 0x15cad09
int1
test eax, 0x8f8f8f8f
int1
invalid
invalid
mov al, dh
jo 0x15cad92
jo 0x15cad93
jo 0x15cad15
int1
mov eax, dword [0x70707070]
int1
mov al, dh
jo 0x15cad9e
invalid
jo 0x15cad9f
jo 0x15cad21
int1
mov eax, dword [0x70707070]
sti
xchg dword [ebx - 0x80], ebx
adc esp, 0x2e
cdq
jmp 0x15cacce
mov eax, dword [0x70707072]
jb 0x15cadc4
jo 0x15cadc5
jo 0x15cadc6
jo 0x15cad52
sti
cwde
sti
sti
xchg dword [ebx - 0x80], ebx
adc esp, 0x2e
retf
pop ebx
add byte [ebx + 0x71cb2ed4], 0x70
jo 0x15cadd5
cdq
add ecx, dword [esi + 0x5b2d8f8f]
invalid
invalid
sub eax, 0xfb780d5b
mov bh, 0x2f
or eax, 0x2fb7fb78
sti
xchg ebp, eax
sub eax, 0xfb7078b2
dec esp
push esp
std
adc al, 0x54
je 0x15cad7b
inc esp
push esp
std
adc al, 0x54
je 0x15cad20
cdq
je 0x15cadf9
jo 0x15cadfb
and ebp, dword [eax]
mov ch, 0x7c
enter 0xffffffffffffda20, 0x6c
insb byte es:[edi], dx
jno 0x15cae08
mov ch, 0xf1
mov al, 0x15
jae 0x15cae0b
jo 0x15cad66
sal byte [edx + 0x70], 1
jb 0x15cae10
jo 0x15cae11
jo 0x15cad6c
retf 0x3449
dec ecx
xor al, 0x4f
test byte [eax + 0x60], 0x30
cmp dword [edi - 0xb], edi
cmc
xchg byte [edi + 0x74998f8f], cl
jo 0x15cae24
jo 0x15cada3
inc eax
dec edi
sub eax, 0x37c2b7ce
jne 0x15cad81
cmc
jle 0x15cadab
dec ecx
dec ecx
dec ecx
dec edx
mov bh, 0x1f
adc al, dl
pcmpeqw mm0, mm2
int 0x79
jge 0x15cae1a
dec ecx
dec ecx
bound edx, qword [ecx - 0x31b6e13e]
mov al, 0xc2
xor byte [ebp - 0x32], cl
mov al, 0xc8
mov bl, 0x49
dec ecx
dec ecx
dec ecx
inc esi
int 0xf
dec ecx
dec ecx
dec ecx
dec edx
lahf
enter 0x418e, 0x49
dec ecx
dec ecx
enter 0x41a0, 0x49
dec ecx
dec ecx
ret 0x491e
enter 0x49b0, 0x49
dec ecx
dec ecx
dec ecx
dec ecx
inc esi
int 0x99
mov dh, 0xb6
mov dh, 0x2f
ret 0x884e
mov byte [ecx + 0x46a9ca45], ah
enter 0x4ab1, 0x49
retf 0x46a9
dec edx
dec ecx
dec ecx
dec ecx
inc esi
int3
das
ret 0xc84e
mov ecx, dword [eax + 0x51]
add byte [eax], al
retf 0x4b8e