Function at 0x109a6584
Capabilities:
Encode data using xor

Disassembly:
jmp 0x109a658e
pushal
call 0x109a6594
pop ebp
sub ebp, 0x10
sub ebp, 0x9a6584
mov al, byte [esp + 0x28]
cmp al, 1
je 0x109a65b8
add byte [ecx + 0x33], ah
rol byte [eax - 0x3e], 0xc
add cl, ch
add al, 0
add byte [eax], al
push 0x11
sti
push esp
popal
xor eax, eax
inc eax
ret 0xc
jmp 0x109a65c1
mov eax, 0x9a6584
add eax, ebp
lcall 0x63c0, 0x81c50300
add byte [eax], al
add byte [ecx + 0x5d2], bh
add eax, 0x63
mov ecx, 0x5d2
mov edx, 0xa7cef78
xor byte [eax], dl
inc eax
dec ecx
jne 0x109a65d8
jmp 0x109a65eb
mov ch, 0xf3
int1
int1
inc esp
js 0x109a666a
js 0x109a65ed
mov ecx, 0x78787880
jnp 0x109a65b0
sar byte [edi + 0x78], 0x78
js 0x109a65c3
push eax
js 0x109a667c
js 0x109a6595
lcall 0x7874, 0xf9f3b07b
js 0x109a6687
jnp 0x109a65ce
cmc
sbb al, 0x5c
test cl, dh
jl 0x109a6674
cmc
sbb al, 0x5c
test cl, dh
jl 0x109a667b
adc byte [eax], cl
stc
or cl, bh
pop ecx
js 0x109a6635
imul ebx, dword [eax + eax + 0x5c547978], 0x10
jne 0x109a6693
add eax, 0x787d9042
js 0x109a66ae
js 0x109a65c8
xchg ecx, eax
dec eax
js 0x109a66b2
js 0x109a6669
cmc
adc al, 0x5c
js 0x109a6634
std
jo 0x109a66bc
js 0x109a66be
in eax, dx
je 0x109a66c2
js 0x109a66c4
cmc
push 0xb9787878
xchg ecx, eax
jp 0x109a669f
jp 0x109a6653
mov edx, 0xfd77317c
mov word [edi + 0x54f38787], es
pop esp
cmc
xchg dword [edi - 0xaa3ab0d], eax
sbb al, 0x5c
jl 0x109a6623
je 0x109a66e3
js 0x109a665f
hlt
hlt
stc
pop ecx
js 0x109a6688
imul ebx, dword [eax + eax + 0x5c547978], 0xfffffff5
js 0x109a66f6
jns 0x109a66d2
push esp
pop esp
cmc
sbb al, 0x5c
test cl, dh
je 0x109a66e2
nop
jge 0x109a6701
js 0x109a6702
js 0x109a6703
js 0x109a661d
xchg ecx, eax
dec ebp
jp 0x109a6707
js 0x109a66be
cmc
adc al, 0x5c
pop esp
js 0x109a661d
or eax, 0x700d8774
nop
push ds
js 0x109a6717
je 0x109a6620
or eax, 0x781e9070
js 0x109a6718
js 0x109a6694
lds esi, [eax + 0x78]
lds esi, [eax + 0x78]
js 0x109a671e
dec ebx
mov cl, 0x4b
stosb byte es:[edi], al
sti
nop
jge 0x109a66de
ja 0x109a66ac
js 0x109a672b
js 0x109a672c
js 0x109a672c
ja 0x109a66a6
lock xor byte [eax + 0x78], bh
xor byte [eax + 0x78], bh
js 0x109a66d9
inc ecx
inc ecx
clc
adc dword [eax + 0x7862fc77], 0x78
nop
ja 0x109a66bf
cld
bound edi, qword [eax + 0x78]
js 0x109a673e
js 0x109a66c0
adc dword [ecx + 0x7869fc77], 0x78
js 0x109a66ef
stc
add dword [edi + 0x6dfc775d], 0x78
js 0x109a6753
cmp dword [ecx - 0x7878784c], edx
xchg dword [edi + 0x41345187], eax
push ecx
xor al, 0x41
inc ecx
jns 0x109a66e1
mov ecx, 0x7c90fb7d
xchg ecx, eax
lds eax, [edi + 0x2c518787]
xchg dword [ecx + 0x2c], edx
push ecx
sub al, 0x41
inc ecx
jp 0x109a66f0
mov ecx, 0x7c92fb7e
sti
jle 0x109a66f3
xchg edx, eax
jl 0x109a66f6
nop
jge 0x109a668f
rol dword [edi - 0x45da7879], cl
je 0x109a677e
xchg dword [0x2d7874ba], esp
and eax, 0x2d7874ba
mov edx, 0xf32d7874
xchg esp, eax
sub eax, 0x2f2e94f3
xchg esp, eax
das
sub eax, 0xf3740df3
add eax, 0xf8ca8470
bnd jle 0x109a6711
jo 0x109a6697
retf 0xf2f8
stc
mov esi, 0x78787879
jns 0x109a6793
js 0x109a6795
invalid
jg 0x109a6719
mov edi, 0x78787879
ret
stosb byte es:[edi], al
ja 0x109a672b
jge 0x109a67a8
js 0x109a67aa
repne outsb dx, byte [esi]
push 0xffffffffffffffaa
ja 0x109a6734
mov al, byte [0x7a878787]
stosb byte es:[edi], al
ja 0x109a673e
jge 0x109a67bb
js 0x109a67bd
repne outsb dx, byte [esi]
push 0xffffffffffffffaa
ja 0x109a6747
adc bh, byte [eax + 0x78]
js 0x109a679c
mov eax, 0xfd77aa7a
stosb byte es:[edi], al
ja 0x109a6753
jge 0x109a67d0
js 0x109a67d2
repne outsb dx, byte [esi]
push 0xffffffffffffffaa
ja 0x109a675c
push edx
jns 0x109a67dc
js 0x109a67e0
stosb byte es:[edi], al
ja 0x109a6766
jge 0x109a67e3
js 0x109a67e5
repne outsb dx, byte [esi]
push 0xffffffffffffffaa
imul edi, dword [eax - 0x2885586], 0x7d
js 0x109a67f3
js 0x109a676f
outsb dx, byte [esi]
push 0xffffffffffffffaa
imul edi, dword [eax - 0x2885586], 0x7d
js 0x109a6802
js 0x109a677e
outsb dx, byte [esi]
push 0xffffffffffffffaa
imul edi, dword [eax - 0x2885586], 0x7d
js 0x109a6811
stosb byte es:[edi], al
ja 0x109a6793
std
jge 0x109a6810
js 0x109a6812
js 0x109a678d
repne outsb dx, byte [esi]
outsb dx, byte [esi]
push 0xffffffffffffffaa
imul edi, dword [eax + 0x787efc77], 0x78
js 0x109a679b
cmpsd dword [esi], dword es:[edi]
push ebx
mov al, byte [0x7ff07bf2]
aas
jg 0x109a67ef
ret
jns 0x109a6835
js 0x109a6837
jp 0x109a676b
stosb byte es:[edi], al
ja 0x109a67c0
jge 0x109a683d
js 0x109a683f
repne outsb dx, byte [esi]
push 0xffffffffffffffaa
imul edi, dword [eax - 0x2885586], 0x7d
js 0x109a684d
stosb byte es:[edi], al
ja 0x109a67cf
jge 0x109a684c
js 0x109a684e
js 0x109a67c9
repne outsb dx, byte [esi]
outsb dx, byte [esi]
push 0xffffffffffffffaa
ja 0x109a67d7
cli
cmpsb byte [esi], byte es:[edi]
xchg dword [edi - 0x3c44ac79], eax
jns 0x109a685e
xchg dword [ebx - 0x45], edx
ret
js 0x109a685f
js 0x109a6860
js 0x109a6860
ja 0x109a67e7
std
dec esp
js 0x109a6865
js 0x109a67b0
jns 0x109a6869
js 0x109a686b
jp 0x109a679f
stosb byte es:[edi], al
ja 0x109a67f4
jge 0x109a6871
js 0x109a6873
repne outsb dx, byte [esi]
push 0xffffffffffffffaa
imul esi, dword [ecx - 0x2885586], 0x7d
js 0x109a6881
jp 0x109a67ae
stosb byte es:[edi], al
ja 0x109a6803
jge 0x109a6880
js 0x109a6882
js 0x109a67fd
repne outsb dx, byte [esi]
outsb dx, byte [esi]
push 0xffffffffffffffaa
ja 0x109a680b
cli
cmpsb byte [esi], byte es:[edi]
xchg dword [edi - 0x700cd179], eax
push ebx
lea ecx, [ebx + 0x709126dc]
xchg dword [edi - 0x6746cf79], eax
jo 0x109a6819
jle 0x109a6867
pause
sar dword [ecx + 0x78], 0x78
js 0x109a68ab
stosb byte es:[edi], al
ja 0x109a6831
jge 0x109a68ae
js 0x109a68af
js 0x109a68b0
js 0x109a682b
repne outsb dx, byte [esi]
outsb dx, byte [esi]
push 0xffffffffffffffaa
imul esi, dword [ecx - 0x2885586], 0x7d
jp 0x109a67eb
stosb byte es:[edi], al
ja 0x109a6840
jge 0x109a68bd
js 0x109a68be
js 0x109a68bf
js 0x109a683a
repne outsb dx, byte [esi]
outsb dx, byte [esi]
push 0xffffffffffffffaa
ja 0x109a6848
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 0x109a685e
js 0x109a68df
js 0x109a68dc
stc
mov eax, dword [0x87878787]
xchg dword [edi - 0x77f0679], eax
js 0x109a68e7
xchg ecx, edi
stc
cmp al, 0x78
js 0x109a68e8
js 0x109a686a
stc
test eax, 0x78787878
stc
js 0x109a68ed
js 0x109a6870
cmp al, 0x78
js 0x109a68f4
stc
test eax, 0x78787878
js 0x109a68fa
js 0x109a68b1
invalid
invalid
nop
jns 0x109a690f
ja 0x109a6895
cld
bound edi, qword [eax + 0x78]
js 0x109a6897
test eax, 0x7878787a
pause
js 0x109a691a
js 0x109a6897
nop
invalid
fsub qword [esi]
ret
jns 0x109a6928
js 0x109a6929
js 0x109a692a
js 0x109a6844
xchg ecx, eax
or eax, dword [esi + 0x53258787]
push ebx
add eax, 0x27bff370
daa
popfd
popfd
popfd
and eax, 0xf37870ba
inc esp
mov edx, 0x44f37870
pop esp
cmc
sbb al, 0x5c
jl 0x109a68c0
dec esp
pop esp
cmc
sbb al, 0x5c
jl 0x109a6865
jl 0x109a694e
js 0x109a6950
inc ebx
and byte [edx + 0x4f], al
sar ah, 0x1d
loop 0x109a6959
jnp 0x109a68a0
stc
mov eax, 0x78787b06
js 0x109a6961
js 0x109a68ab
ror edi, 0x7a
js 0x109a6966
iretd
js 0x109a68b1
ret 0xf999
cdq
stc
dec eax
jb 0x109a693c
push 0xfd773138
mov es, word [edi + 0x7c918787]
js 0x109a6979
xchg dword [edi + 0x787c9187], eax
js 0x109a697a
js 0x109a68b8
mov ch, 0x30
sbb edx, dword [edx + 0x1e]
xor byte [ebx], bl
push edx
push ds
adc ah, bh
movsd dword es:[edi], dword [esi]
adc ah, byte [0x999939ae]
cdq
cdq
cdq
lcall 0xe912, 0xfc2cf67
movsd dword es:[edi], dword [esi]
movlps xmm3, qword [0x9999ada9]
cdq
cdq
cdq
mov dl, 0x41
push ds
arpl word [edx], dx
jecxz 0x109a68c2
cdq
push ds
arpl word [edx], dx
salc
popfd
sbb byte [ebx - 0x67], ah
cdq
cdq
cdq
xchg esi, eax
sbb eax, 0x999999df
lcall 0x9999, 0x915e184f
sbb byte [esi - 0x6f], bl
cdq
cdq
cdq
sbb byte [eax - 0x6f], dh
cdq
cdq
cdq
sbb byte [eax - 0x67], ah
cdq
cdq
cdq
xchg esi, eax
sbb eax, 0x66666649
call dword [edx]
dec ecx
call word [edx]
sahf
pop eax
jno 0x109a68ef
xchg ebp, eax
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 0x109a69ce
jo 0x109a691f
cdq
cdq
cdq
mov ecx, 0x21d45ca9
sbb eax, 0x9a9903fc
pop esp
sbb byte [ecx - 0x4e], bl
popfd
cdq
cdq
and byte [ebx + 0x2399999b], dl
cmpsd dword [esi], dword es:[edi]
invalid
sub al, 0xdf
stosd dword es:[edi], eax
xor byte [ecx + 0x5b83c32a], ah
mov dword cs:[0xb3325883], eax
inc esi
fbld tbyte [edi - 0x5858a0da]
cmpsd dword [esi], dword es:[edi]
cmpsd dword [esi], dword es:[edi]
test al, 0x22
test eax, 0x30a7a7a7
sub al, 0xdf
stosd dword es:[edi], eax
xor byte [ecx - 0x78cda709], ah
inc esi
fbld tbyte [edi - 0x585427dc]
test al, 0x23
sub dword [edi - 0x27db5859], esp
cmpsd dword [esi], dword es:[edi]
cmpsd dword [esi], dword es:[edi]
test al, 0x22
lodsd eax, dword [esi]
cmpsd dword [esi], dword es:[edi]
cmpsd dword [esi], dword es:[edi]
cmpsd dword [esi], dword es:[edi]
and al, 0xd8
mov bh, 0xa7
test al, 0x23
iretd