Function at 0x10a4c760
Capabilities:
Encode data using xor

Disassembly:
jmp 0x10a4c76a
pushal
call 0x10a4c770
pop ebp
sub ebp, 0x10
sub ebp, 0xa4c760
mov al, byte [esp + 0x28]
cmp al, 1
je 0x10a4c794
add byte [ecx + 0x33], ah
rol byte [eax - 0x3e], 0xc
add cl, ch
add al, 0
add byte [eax], al
push 0xffffffffffffffaf
push edx
or edi, dword [eax + 0xa4c760]
popal
xor eax, eax
inc eax
ret 0xc
jmp 0x10a4c79d
mov eax, 0xa4c760
pushal
invalid
add eax, ebp
add eax, 0x63
mov ecx, 0x5b9
mov edx, 0xdfbb5d78
xor byte [eax], dl
inc eax
dec ecx
jne 0x10a4c7b4
jmp 0x10a4c7c7
mov ch, 0xf3
int1
int1
inc esp
js 0x10a4c846
js 0x10a4c7c9
mov ecx, 0x78787880
jnp 0x10a4c78c
sal byte [eax + 0x78], 0x78
js 0x10a4c79f
push eax
js 0x10a4c858
js 0x10a4c771
lcall 0x7874, 0xf9f3b07b
js 0x10a4c863
jnp 0x10a4c7aa
sub ch, dh
sbb al, 0x5c
test cl, dh
jl 0x10a4c851
adc byte [edi + esi*2 + 0x5a], cl
ja 0x10a4c853
js 0x10a4c80b
push ecx
sar dl, 0x78
jns 0x10a4c855
pop esp
adc byte [eax], dl
xchg esp, eax
jae 0x10a4c7d5
nop
jge 0x10a4c882
js 0x10a4c884
js 0x10a4c79e
xchg ecx, eax
push esi
js 0x10a4c888
js 0x10a4c83f
xchg esp, eax
std
jo 0x10a4c890
js 0x10a4c892
in eax, dx
je 0x10a4c896
js 0x10a4c898
cmc
push 0xb9787878
xchg ecx, eax
jp 0x10a4c873
jp 0x10a4c827
mov edx, 0xfd77317c
mov word [edi + 0x54f38787], es
pop esp
cmc
sbb al, 0x5c
jl 0x10a4c7f7
je 0x10a4c8b7
hlt
adc byte [edi + esi*2 + 0x5a], cl
js 0x10a4c85c
push ecx
sar dl, 0x78
jns 0x10a4c8a6
push esp
pop esp
cmc
sbb al, 0x5c
pop esp
test cl, dh
je 0x10a4c8b6
nop
jge 0x10a4c8d5
js 0x10a4c8d6
js 0x10a4c8d7
js 0x10a4c7f1
xchg ecx, eax
aas
jp 0x10a4c8db
js 0x10a4c892
cmc
adc al, 0x5c
js 0x10a4c7f1
or eax, 0x700d8774
nop
add byte [eax + 0x78], bh
js 0x10a4c868
lds esi, [eax + 0x78]
js 0x10a4c8f2
dec ebx
mov cl, 0xf9
mov ah, byte [ebx]
mov eax, 0x8af9d043
stc
mov ah, byte [ebx]
mov eax, 0xaa4bd043
and edi, dword [eax - 0x55b42fbd]
inc ebx
ror byte [ebx - 0x56], 1
dec ebx
stosb byte es:[edi], al
sti
nop
jge 0x10a4c8be
ja 0x10a4c88c
js 0x10a4c90b
js 0x10a4c90c
js 0x10a4c90c
ja 0x10a4c886
lock xor byte [eax + 0x78], bh
xor byte [eax + 0x78], bh
js 0x10a4c912
js 0x10a4c8b9
push ds
inc ecx
clc
adc dword [eax + 0x7862fc77], 0x78
nop
ja 0x10a4c89f
bound edi, qword [eax + 0x78]
js 0x10a4c91e
js 0x10a4c8a0
adc dword [ecx + 0x7869fc77], 0x78
js 0x10a4c8cf
stc
add dword [edi + 0x6dfc775d], 0x78
cld
insd dword es:[edi], dx
js 0x10a4c932
js 0x10a4c933
js 0x10a4c8f5
cmp dword [ecx - 0x7878784c], edx
xchg ecx, eax
mov ah, 0x87
xchg dword [edi + 0x79413451], eax
sti
xchg dword [edi + 0x41345187], eax
push ecx
xor al, 0x41
jns 0x10a4c8c1
mov ecx, 0x7c90fb7d
xchg ecx, eax
lds eax, [edi + 0x2c518787]
xchg dword [ecx + 0x2c], edx
push ecx
sub al, 0x41
inc ecx
jp 0x10a4c8d0
mov ecx, 0x7c92fb7e
sti
jle 0x10a4c8d3
sti
xchg edx, eax
jl 0x10a4c8d6
nop
jge 0x10a4c86f
rol dword [edi + 0x54f38787], cl
pop esp
cmc
sbb al, 0x5c
jl 0x10a4c8a4
je 0x10a4c964
sub eax, 0x2f2e94f3
sub eax, 0xf3740df3
add eax, 0xf8ca8470
or eax, 0x7005f374
test dl, cl
clc
add eax, 0xf8ca8470
jo 0x10a4c87d
retf 0xf2f8
bnd jle 0x10a4c8f7
mov esi, 0x78787879
invalid
ret
jp 0x10a4c986
js 0x10a4c988
jp 0x10a4c8bc
stosb byte es:[edi], al
ja 0x10a4c911
jge 0x10a4c98e
js 0x10a4c990
repne outsb dx, byte [esi]
push 0xffffffffffffffaa
ja 0x10a4c91a
sti
mov al, byte [0x7a878787]
stosb byte es:[edi], al
ja 0x10a4c924
jge 0x10a4c9a1
js 0x10a4c9a3
repne outsb dx, byte [esi]
push 0xffffffffffffffaa
ja 0x10a4c92d
adc bh, byte [eax + 0x78]
js 0x10a4c9ad
js 0x10a4c982
mov eax, 0xfd77aa7a
jge 0x10a4c9b6
js 0x10a4c9b8
repne outsb dx, byte [esi]
push 0xffffffffffffffaa
ja 0x10a4c942
push edx
jns 0x10a4c9c2
js 0x10a4c9c6
stosb byte es:[edi], al
ja 0x10a4c94c
jge 0x10a4c9c9
js 0x10a4c9cb
repne outsb dx, byte [esi]
push 0xffffffffffffffaa
imul edi, dword [eax - 0x2885586], 0x7d
js 0x10a4c9d9
js 0x10a4c955
outsb dx, byte [esi]
push 0xffffffffffffffaa
imul edi, dword [eax - 0x2885586], 0x7d
js 0x10a4c9e8
js 0x10a4c964
outsb dx, byte [esi]
push 0xffffffffffffffaa
imul edi, dword [eax - 0x2885586], 0x7d
js 0x10a4c9f7
js 0x10a4c973
outsb dx, byte [esi]
push 0xffffffffffffffaa
imul edi, dword [eax + 0x787efc77], 0x78
js 0x10a4c981
mov eax, 0x787efc77
cld
jle 0x10a4ca03
js 0x10a4ca05
repe cmpsd dword [esi], dword es:[edi]
cmpsd dword [esi], dword es:[edi]
push ebx
mov al, byte [0x7ff07bf2]
aas
jg 0x10a4c9d5
ret
jns 0x10a4ca1b
js 0x10a4ca1d
jp 0x10a4c951
stosb byte es:[edi], al
ja 0x10a4c9a6
jge 0x10a4ca23
js 0x10a4ca25
repne outsb dx, byte [esi]
push 0xffffffffffffffaa
imul edi, dword [eax - 0x2885586], 0x7d
js 0x10a4ca33
stosb byte es:[edi], al
ja 0x10a4c9b5
jge 0x10a4ca32
js 0x10a4ca34
js 0x10a4c9af
repne outsb dx, byte [esi]
outsb dx, byte [esi]
push 0xffffffffffffffaa
ja 0x10a4c9bd
cli
cmpsb byte [esi], byte es:[edi]
xchg dword [edi - 0x3c44ac79], eax
jns 0x10a4ca44
xchg dword [ebx - 0x45], edx
ret
js 0x10a4ca45
js 0x10a4ca46
js 0x10a4ca46
ja 0x10a4c9cd
std
dec esp
js 0x10a4ca4b
js 0x10a4c996
jns 0x10a4ca4f
js 0x10a4ca51
jp 0x10a4c985
stosb byte es:[edi], al
ja 0x10a4c9da
jge 0x10a4ca57
js 0x10a4ca59
repne outsb dx, byte [esi]
push 0xffffffffffffffaa
imul esi, dword [ecx - 0x2885586], 0x7d
js 0x10a4ca67
jp 0x10a4c994
stosb byte es:[edi], al
ja 0x10a4c9e9
jge 0x10a4ca66
js 0x10a4ca68
js 0x10a4c9e3
repne outsb dx, byte [esi]
outsb dx, byte [esi]
push 0xffffffffffffffaa
ja 0x10a4c9f1
cmpsb byte [esi], byte es:[edi]
xchg dword [edi - 0x700cd179], eax
push ebx
lea ecx, [ebx + 0x709126dc]
xchg ecx, eax
jo 0x10a4c98d
xchg dword [edi - 0x6746cf79], eax
jo 0x10a4c9ff
xchg dword [edi + 0x7098b930], eax
bnd jle 0x10a4ca4d
jle 0x10a4ca4d
pause
sar dword [ecx + 0x78], 0x78
js 0x10a4ca91
stosb byte es:[edi], al
ja 0x10a4ca17
jge 0x10a4ca94
js 0x10a4ca95
js 0x10a4ca96
js 0x10a4ca11
repne outsb dx, byte [esi]
outsb dx, byte [esi]
push 0xffffffffffffffaa
imul esi, dword [ecx - 0x2885586], 0x7d
jp 0x10a4c9d1
stosb byte es:[edi], al
ja 0x10a4ca26
jge 0x10a4caa3
js 0x10a4caa4
js 0x10a4caa5
js 0x10a4ca20
repne outsb dx, byte [esi]
outsb dx, byte [esi]
push 0xffffffffffffffaa
ja 0x10a4ca2e
cli
cmpsb byte [esi], byte es:[edi]
xchg dword [edi + 0x7880f987], eax
add eax, 0xa1f97878
xchg dword [edi - 0x7f067879], eax
stc
cmp byte [eax + 0x7d], 0x78
js 0x10a4ca44
js 0x10a4cac5
js 0x10a4cac2
stc
mov eax, dword [0x87878787]
xchg dword [edi - 0x77f0679], eax
js 0x10a4cacd
xchg ecx, edi
stc
cmp al, 0x78
js 0x10a4cace
js 0x10a4ca50
stc
test eax, 0x78787878
stc
js 0x10a4cad3
js 0x10a4ca56
cmp al, 0x78
js 0x10a4cada
stc
test eax, 0x78787878
js 0x10a4cae0
js 0x10a4ca97
invalid
invalid
invalid
fsub qword [esi]
ret
jns 0x10a4cb0e
js 0x10a4cb0f
js 0x10a4cb10
js 0x10a4ca2a
xchg ecx, eax
or eax, dword [esi + 0x53258787]
add eax, 0x27bff370
daa
popfd
popfd
and eax, 0xf37870ba
inc esp
pop esp
cmc
sbb al, 0x5c
jl 0x10a4cad9
xchg ecx, eax
jl 0x10a4cb2e
js 0x10a4cb30
inc ebx
mov dh, 0x30
mov bl, 0xc0
sbb byte [edi - 0x42848724], bh
stc
mov eax, 0x78787bfa
mov ebp, 0x7bfab8f9
js 0x10a4cb41
cli
jnp 0x10a4cb40
js 0x10a4ca8b
shl edx, 0x7a
loop 0x10a4cb46
js 0x10a4cb46
js 0x10a4ca91
ret 0x7f99
cdq
jg 0x10a4cb44
sub byte [eax + 0x68], cl
cmp byte [ecx], dh
ja 0x10a4cad6
dec eax
push 0xfd773138
xor dword [edi - 3], esi
mov es, word [edi + 0x7c918787]
js 0x10a4cb59
xchg dword [edi + 0x787c9187], eax
js 0x10a4cb5a
js 0x10a4ca98
mov ch, 0x6e
outsb dx, byte [esi]
cmp ecx, dword [ebp + 0x1e]
adc ah, bh
movsd dword es:[edi], dword [esi]
adc ah, byte [0x999939ae]
cdq
lcall 0xe912, 0xf471267
movsd dword es:[edi], dword [esi]
movlps xmm3, qword [0x9999ada9]
cdq
cdq
cdq
mov dl, 0x41
adc cl, dh
cdq
push ds
pushal
adc ah, al
popfd
push ds
pushal
sbb byte [ebx - 0x67], ah
arpl word [ecx - 0x69666667], bx
cdq
cdq
cdq
cdq
xchg esi, eax
sbb eax, 0x999999df
lcall 0x9999, 0x915e184f
cdq
sbb byte [eax - 0x6f], dh
cdq
cdq
cdq
sbb byte [eax - 0x67], ah
pushal
cdq
cdq
cdq
cdq
xchg esi, eax
sbb eax, 0x66666649
call dword [edx]
dec ecx
call word [edx]
sahf
pop eax
jno 0x10a4cacf
sbb bh, byte [ecx - 0x6a]
sbb byte [ecx - 0x66], ah
cdq
cdq
cdq
xchg esi, eax
sbb al, 0x94
cdq
cdq
cdq
call dword [edx]
sahf
sbb byte [ecx + 0x66], bh
xchg esi, eax
cdq
cdq
lcall 0x1ad0, 0xd081985b
pop esi
wait
jo 0x10a4cbae
jo 0x10a4caff
cdq
cdq
cdq
mov ecx, 0x21f98cc7
stc
pop esi
cmp eax, 0x185c9a99
pop ecx
mov dh, 0x9d
cdq
cdq
and byte [eax + ebx*4 - 0x67], dh
cdq
and esp, dword [edi - 0x5651bebc]
mov ecx, ebx
rcl byte [esi + 0x66666f1c]
jo 0x10a4cb29
cdq
cdq
cdq
add bh, byte [ebp + 0x5c]
jp 0x10a4cbc0
fstp dword [ebx + 0x27901b2c]
cmpsd dword [esi], dword es:[edi]
cmpsd dword [esi], dword es:[edi]
cmpsd dword [esi], dword es:[edi]
movsb byte es:[edi], byte [esi]
pop ecx
and al, 0xd8
stosd dword es:[edi], eax
cmpsd dword [esi], dword es:[edi]
test al, 0x23
push ss
cmpsd dword [esi], dword es:[edi]
cmpsd dword [esi], dword es:[edi]
cmpsd dword [esi], dword es:[edi]
xor byte [edi + ebx*8], ch
stosd dword es:[edi], eax
xor byte [ecx - 0x6ccda709], ah
movsb byte es:[edi], byte [esi]
popal
neg dword [eax + 0x32]
xchg ebx, eax
retf 0xa725
cmpsd dword [esi], dword es:[edi]
cmpsd dword [esi], dword es:[edi]
cmpsd dword [esi], dword es:[edi]
sub al, 0xe0
stosd dword es:[edi], eax
movsb byte es:[edi], byte [esi]
popal
sub al, bl
sbb dword [ebx + 0x2e], 0xffffffa3
sbb dword [eax + 0x32], 0xffffffe7
retf 0xa725