Function at 0x109dc984
Capabilities:
Encode data using xor

Disassembly:
jmp 0x109dc98e
pushal
call 0x109dc994
pop ebp
sub ebp, 0x10
sub ebp, 0x9dc984
mov al, byte [esp + 0x28]
cmp al, 1
je 0x109dc9b8
popal
xor eax, eax
inc eax
ret 0xc
jmp 0x109dc9c1
mov eax, 0x9dc984
add eax, ebp
add eax, 0x63
mov ecx, 0x5b3
mov edx, 0xe3a0eae0
xor byte [eax], dl
inc eax
dec ecx
jne 0x109dc9d8
test esi, esi
invalid
jmp 0x109dc9eb
add byte [eax], al
mov edi, 0x6bddfff5
sub eax, 0xe0dc696b
imul ebp, dword [0xe0dc696b], 0xffffffe0
imul ebx, esp, 0x61e0e0e0
fsubr st(0), st(0)
loopne 0x109dc9d3
loopne 0x109dca55
popal
and dword [eax], ebx
loopne 0x109dc9d8
loopne 0x109dc9dd
sub eax, 0xe0e0e858
loopne 0x109dca5b
enter 0xffffffffffffe0e0, 0xffffffffffffffe0
pop ss
add ah, bl
sub byte [ebx + 0x61], ch
imul esp, dword [ecx - 0x14], 0xffffffe0
loopne 0x109dc9ef
popal
in al, dx
loopne 0x109dc9ee
loopne 0x109dc9f3
jecxz 0x109dca36
and eax, 0x3488b0b0
jb 0x109dc9d8
mov al, 0xb0
mov byte [edx + esi*2], dh
shl eax, 0x88
loopne 0x109dc9a1
mov byte [edi - 0x2a], cl
dec edi
salc
pushfd
loopne 0x109dc9ff
loope 0x109dc9eb
int3
les ecx, [eax - 0x251cf40b]
or ch, ah
fimul dword [eax]
in eax, 0xe0
loopne 0x109dca0a
loopne 0x109dca09
loopne 0x109dca34
or esi, ecx
into
loopne 0x109dca0e
loopne 0x109dc9e5
imul ecx, dword [ebx + ebp*2], 0x65
call 0x7c7eab19
jne 0x109dca27
loopne 0x109dca18
imul esi, dword [ebp - 0x14], 0xffffffe0
loopne 0x109dca1e
loopne 0x109dca1d
loopne 0x109dcaaa
imul ebp, dword [ebp - 0x10], 0xffffffe0
loopne 0x109dca24
insd dword es:[edi], dx
invalid
loopne 0x109dca66
and dword [ecx], ecx
loop 0x109dca19
or edx, esp
shl edx, 1
arpl word [edx], sp
in al, 0xa9
out dx, eax
adc al, 0x1f
loop 0x109dcaad
and ah, ah
test eax, 0x1f1465ef
pop ds
pop ds
pop ds
imul ecx, esp, 0xffffffc4
les ebp, [ebp - 0x7c]
invalid
insd dword es:[edi], dx
test ah, al
in al, 0x22
in al, dx
loopne 0x109dcac9
insb byte es:[edi], dx
invalid
jb 0x109dca29
loopne 0x109dc9f2
dec edi
salc
pushfd
loopne 0x109dca50
int3
or ch, ah
loopne 0x109dca56
loopne 0x109dca81
fnclex
loopne 0x109dca5c
mov ch, 0x6d
mov esp, es
loopne 0x109dcaa1
invalid
pop ds
xchg ebp, eax
in al, dx
pop ds
xchg ebp, eax
call 0xf17e5693
loopne 0x109dcaf8
pop ebp
call 0xe47eab73
sub ebx, edx
xor ah, byte [ebx + 8]
loopne 0x109dca72
shr dword [ecx], cl
sal dword [edx], cl
arpl word [eax], cx
in eax, 0xa8
out dx, eax
scasb al, byte es:[edi]
loopne 0x109dca7f
loopne 0x109dca90
push 0xe0e0e0a8
xchg byte [ebx - 4], ch
fldenv [eax + 0x1b]
or bh, ch
pushal
sbb ecx, dword [eax]
out dx, eax
cli
loopne 0x109dca92
loopne 0x109dcb14
sbb ecx, dword [ecx]
out dx, eax
int1
loopne 0x109dca9b
loopne 0x109dca43
popal
sbb ebx, dword [edi]
invalid
sub al, 0x1f
pop ds
pop ds
leave
lodsb al, byte [esi]
fabs
arpl word [ecx], sp
in eax, 0x63
or ah, ah
or dword [ebp + 0x1f], ebx
pop ds
pop ds
leave
mov ah, 0xd9
loop 0x109dcb44
and esi, esp
arpl word [edx], cx
in al, 0x63
or ch, ah
or dword [ebx + 0x1f], ecx
pop ds
pop ds
imul ecx, esp, 0xffffffc4
insd dword es:[edi], dx
test ah, al
in al, 0x22
int3
in al, dx
loopne 0x109dcaae
mov ch, 0x6b
imul ecx, dword [esi + esi*4], 0xffffffb7
mov ch, 0x6b
xchg ebp, eax
in al, dx
imul ebx, dword [ebp + 0x60521ce8], 0x6a
or al, 0xb6
mov bh, 0xb5
imul edx, dword [ebp - 0x17629414], 0x1c
push edx
call 0x7afe1d24
sbb al, 0x52
pushal
push 0xffffffffffffffe6
popal
out 0x61, al
loope 0x109dcaed
loopne 0x109dcaef
push 0xe12761e7
loopne 0x109dcaf6
loopne 0x109dcb73
pop ebx
loop 0x109dcafa
loopne 0x109dcafc
loop 0x109dcb50
out dx, eax
in eax, 0xe0
loopne 0x109dcb03
loopne 0x109dcb04
loopne 0x109dcb8f
push 0xfffffffffffffff6
cmpsb byte [esi], byte es:[edi]
xor ch, bh
arpl word [eax], di
mul byte [esi + 0x63ef32f2]
cmp byte [edi], bl
pop ds
pop ds
pop ds
loop 0x109dcb63
out dx, eax
in eax, 0xe0
loopne 0x109dcb17
loopne 0x109dcba2
push 0xfffffffffffffff6
cmpsb byte [esi], byte es:[edi]
mul byte [esi + 0x63ef32f2]
mov ah, al
loopne 0x109dcb22
xor ch, bh
arpl word [edx - 0x2c1f1f20], cx
loopne 0x109dcb21
loopne 0x109dcb16
shl dword [eax], cl
and dl, ah
xor ch, bh
loop 0x109dcb78
out dx, eax
in eax, 0xe0
loopne 0x109dcb2c
push 0xfffffffffffffff6
cmpsb byte [esi], byte es:[edi]
xor ch, bh
xor ch, bh
arpl dx, cx
loope 0x109dcb36
loopne 0x109dcb3a
xor ch, bh
in eax, 0xe0
loopne 0x109dcb3f
push 0xfffffffffffffff6
cmpsb byte [esi], byte es:[edi]
xor dh, bl
xor dh, bl
and dl, ah
xor ch, bh
in eax, 0xe0
loopne 0x109dcb4e
push 0xfffffffffffffff6
cmpsb byte [esi], byte es:[edi]
xor dh, bl
and dl, ah
and dl, ah
xor ch, bh
in eax, 0xe0
in eax, 0xe0
loopne 0x109dcb5d
push 0xfffffffffffffff6
cmpsb byte [esi], byte es:[edi]
xor dh, bl
and dl, ah
xor ch, bh
out dx, eax
in eax, 0xe0
loopne 0x109dcb6c
push 0xfffffffffffffff6
cmpsb byte [esi], byte es:[edi]
xor dh, bl
and bh, ch
and bh, ch
out 0xe0, al
loopne 0x109dcb79
imul edi, dword [edi], 0xffffffcb
cmp byte [edx - 0x1d], ch
push 0xe25ba7e7
loopne 0x109dcb86
pop ebx
loop 0x109dcb85
loopne 0x109dcb87
loopne 0x109dcbb1
or dword [eax + 0x581f1f1f], edx
nop
pop ds
pop ds
pop ds
pop eax
loope 0x109dcb8f
loopne 0x109dcb91
loop 0x109dcbe5
out dx, eax
in eax, 0xe0
loopne 0x109dcb99
push 0xfffffffffffffff6
cmpsb byte [esi], byte es:[edi]
xor dh, bl
and dl, ah
xor ch, bh
loop 0x109dcbf4
out dx, eax
in eax, 0xe0
loopne 0x109dcba8
loopne 0x109dcba7
loopne 0x109dcc33
push 0xfffffffffffffff6
cmpsb byte [esi], byte es:[edi]
xor ch, bh
mul byte [esi + 0x62ef32f2]
pop ds
out dx, eax
bound edi, qword [esi]
pop ds
pop ds
pop ds
retf
aam 0xe0
loopne 0x109dcbc0
pop ecx
loope 0x109dcbc3
loopne 0x109dcbc5
loop 0x109dcc19
out dx, eax
in eax, 0xe0
loopne 0x109dcbcd
push 0xfffffffffffffff6
cmpsb byte [esi], byte es:[edi]
xor dh, bl
sub edx, esp
xor ch, bh
loop 0x109dcc28
out dx, eax
in eax, 0xe0
loopne 0x109dcbdc
push 0xfffffffffffffff6
cmpsb byte [esi], byte es:[edi]
xor ch, bh
xor ch, bh
bound edi, qword [esi]
pop ds
pop ds
pop ds
mov dh, 0x6b
pop ss
retf
out 0xa6, al
imul ecx, dword [eax], 0x59
loope 0x109dcc00
loopne 0x109dcc02
loop 0x109dcc56
out dx, eax
in eax, 0xe0
loopne 0x109dcc0a
push 0xfffffffffffffff6
cmpsb byte [esi], byte es:[edi]
xor dh, bl
sub edx, esp
xor ch, bh
mul byte [esi + 0x29f332f2]
loop 0x109dcc65
out dx, eax
in eax, 0xe0
loopne 0x109dcc19
push 0xfffffffffffffff6
cmpsb byte [esi], byte es:[edi]
xor ch, bh
bound edi, qword [esi]
pop ds
pop ds
pop ds
popal
sbb al, ah
popfd
loopne 0x109dcc2a
popal
cmp dword [edi], ebx
pop ds
pop ds
pop ds
popal
sbb al, ah
in eax, 0xe0
loopne 0x109dccb8
popal
cmp dword [edi], ebx
pop ds
pop ds
pop ds
popal
sbb byte [eax - 0x20], ah
loopne 0x109dcc42
popal
xor eax, esp
loopne 0x109dcc47
loopne 0x109dccca
sbb byte [eax - 0x20], ah
loopne 0x109dcc4e
popal
xor eax, esp
loopne 0x109dcc53
loopne 0x109dcc2b
mov dh, 0x6b
pop ss
retf
imul edx, dword [edi], 0xffffffcb
adc byte [ebx], dl
inc esp
mov esi, 0x1f1e7b09
adc eax, dword [esi + edi*4 + 9]
jnp 0x109dcc9d
pop ds
pop ds
push 0xffffffffffffffe6
cmpsb byte [esi], byte es:[edi]
out 0xa6, al
shr dword [ecx], cl
and byte [eax], cl
loope 0x109dcc79
out dx, eax
cli
loopne 0x109dcc6e
loopne 0x109dccf1
xor edx, esp
loopne 0x109dcc74
loopne 0x109dcd01
or byte [esi + 0x10cb176b], dh
adc eax, dword [esi + edi*4 + 0x5b]
loope 0x109dcc82
inc esp
mov esi, 0xe0e0e15b
loopne 0x109dcc84
loopne 0x109dccae
or dword [ebx - 0x42e0e0e2], edx
retf
xchg ebx, eax
push ds
pop ds
pop ds
mov ebp, 0x6be89dcb
daa
mov edi, 0xbd056bbe
and ch, al
loopne 0x109dcd23
fadd st(4), st(0)
insd dword es:[edi], dx
test ah, al
in al, 0xbe
or esp, esp
loopne 0x109dcca3
les ebp, [ebp - 0x7c]
invalid
loopne 0x109dcca4
loopne 0x109dcca8
jecxz 0x109dcc89
ret
pop eax
sub dword fs:[ebp - 0x20], edi
sub dword [ebp - 0x20], edi
jecxz 0x109dccf4
popal
and byte [edx + 0x59e0e0e3], cl
dec esp
loop 0x109dccb9
loopne 0x109dcd35
mov dword [edi + 0x1e], ebp
add eax, edx
invalid
ror byte [esi], 0x77
push cs
jle 0x109dccf9
invalid
push cs
jle 0x109dccfe
xor eax, 0x898929be
sub dword [ecx + 0x778a8989], ecx
invalid
mov dword [edx + 0x2d2df77], ecx
iretd
or eax, 0x898989cf
mov bl, byte [edi + 8]
dec esi
or dword [ecx + 0x60088989], 0x89898981
or byte [eax - 0x77], dh
or dword [ecx + 0x70088989], 0x89898989
xchg byte [0x76767659], cl
out dx, eax
mov dword [eax], ecx
jo 0x109dccc2
mov dword [ecx + 0x590d8689], ecx
jbe 0x109dcdb7
jbe 0x109dcd32
add cl, byte [esi + 0xa856148]
imul eax, dword [esi - 0x76758ef8], 0xc868989
test byte [ecx + 0x2ef8989], cl
mov cs, word [eax]
imul esi, dword [esi - 0x7a], 0x4b8a8989
mov byte [ecx + 0x4e0ac0c0], dl
mov esp, dword [eax + 0x41]
jbe 0x109dcde3
jbe 0x109dcdcf
lea ecx, [ecx - 0x3efe7677]
into
cmp esi, dword [ecx]
or eax, 0x8a891440
dec esp
or byte [ecx - 0x70], cl
lea ecx, [ecx - 0x778bcf77]
mov dword [ecx - 0x177710cd], ecx
das
mov ecx, 0x86c0c999
or al, 0x7f
jbe 0x109dce0d
jbe 0x109dcdf9
lea ecx, [ecx - 0x1ebd7677]
cld
push 0xd3986418
push 0xd8536418
outsd dx, dword [esi]
out dx, eax
out dx, eax
out dx, eax
in al, dx
adc dword [eax + edx*4 - 0x1d], ebp
out dx, eax
loopne 0x109dce22
push edx
out dx, eax
out dx, eax
out dx, eax
js 0x109dce21
xchg edi, eax
jecxz 0x109dce38
in al, dx
sub dword [edx - 0x75], esp
retf
retf
outsb dx, byte [esi]
pop ss
out dx, eax
out dx, eax
out dx, eax
out dx, eax
loopne 0x109dce41
jecxz 0x109dcdc8
out dx, eax
out dx, eax
test al, 0xe3
in al, dx
sub dword [edi - 0x32d085f0], edi
xchg ebx, eax
das
int 0x93
out dx, eax
insb byte es:[edi], dx
nop
jecxz 0x109dcdda
loopne 0x109dce58
push 0x6cefefef
nop
out dx, eax
out dx, eax
loopne 0x109dce61
in eax, 0xef
out dx, eax
out dx, eax
insb byte es:[edi], dx
nop
invalid
push 0x6c01ec12
xchg edx, eax
out dx, eax
in al, dx
add dword [edx + edx*4 - 0x11], ebp
out dx, eax
loopne 0x109dce82
movsb byte es:[edi], byte [esi]
out dx, eax
out dx, eax
out dx, eax
mov byte fs:[0x8b62bfef], al
retf
adc esp, dword [esi - 5]
retf
in eax, dx
out dx, eax
out dx, eax
out dx, eax
mov esi, 0x13cb8b62
jmp 0x109dce0f
mov ecx, ebx
jmp 0x109dceca
push es
inc esp
adc byte [eax], dl
adc byte [ebx + eax*8 - 0x35], ah
bound ecx, qword [ebx + 0x286eebcb]
sti
out dx, eax
out dx, eax
out dx, eax
push es
salc
adc byte [eax], dl
adc byte [ebx - 0x1025ef75], bh
out dx, eax
out dx, eax
out dx, eax
xchg dword [eax + 0x72], esi
out dx, eax
and byte [edx - 0x11], dh
bound ecx, qword [ebx - 0x3c99ec35]
retf
iretd