Function at 0x10c9370
Capabilities:
Encode data using xor

Disassembly:
jmp 0x10c937a
pushal
call 0x10c9380
pop ebp
sub ebp, 0x10
sub ebp, 0xcc9370
jmp 0x10c9396
mov eax, 0xcc9370
add eax, ebp
add eax, 0x4c
mov ecx, 0x574
mov edx, 0x8374056c
xor byte [eax], dl
inc eax
dec ecx
jne 0x10c93ad
jmp 0x10c93c0
out 0xa1, eax
out 0xe5, eax
push eax
insb byte es:[edi], dx
insb byte es:[edi], dx
insb byte es:[edi], dx
in eax, dx
lodsd eax, dword [esi]
xchg esp, eax
insb byte es:[edi], dx
insb byte es:[edi], dx
insb byte es:[edi], dx
outsd dx, dword [esi]
mov eax, dword [0x6c6c65d4]
insb byte es:[edi], dx
salc
inc esp
insb byte es:[edi], dx
insb byte es:[edi], dx
insb byte es:[edi], dx
wait
mov gs, word [edi - 0x5c]
out 0xed, eax
pushal
insb byte es:[edi], dx
insb byte es:[edi], dx
insb byte es:[edi], dx
outsd dx, dword [esi]
test eax, 0x80043c3c
and dh, byte [ecx + 0x6c]
add al, 0xed
sub bl, al
insb byte es:[edi], dx
insd dword es:[edi], dx
inc eax
dec eax
add al, 0xbd
adc byte [ebp - 9], 0x84
imul ebp, dword [esp + ebp*2 + 0x6c], 0x6c6c4685
insb byte es:[edi], dx
cmp ecx, esp
add byte [eax + 0x6c], cl
out 0xe9, eax
insb byte es:[edi], dx
insb byte es:[edi], dx
insb byte es:[edi], dx
out 0xf9, eax
pushal
insb byte es:[edi], dx
insb byte es:[edi], dx
insb byte es:[edi], dx
out 0xe1, eax
jl 0x10c9485
insb byte es:[edi], dx
insb byte es:[edi], dx
lodsd eax, dword [esi]
test dword [esi + 0x5d], ebp
outsb dx, byte [esi]
out dx, eax
scasb al, byte es:[edi]
push 0x98e96325
xchg ebx, eax
xchg ebx, eax
xchg ebx, eax
xor dword [esi - 0x1f1893a0], ebp
dec eax
push 0x46c6c6c
and byte [edx], 0x71
insb byte es:[edi], dx
add al, 0xed
sub bl, al
insb byte es:[edi], dx
insd dword es:[edi], dx
inc eax
dec eax
cmp eax, 0x6c6c6984
insb byte es:[edi], dx
test dword [edi + 0x6e], ebx
insb byte es:[edi], dx
insb byte es:[edi], dx
cmp dword [eax], edi
xor dword [ebx + 0x19936019], edx
test byte fs:[edx], cl
insb byte es:[edi], dx
insb byte es:[edi], dx
insb byte es:[edi], dx
out 0xd1, eax
insb byte es:[edi], dx
insb byte es:[edi], dx
insb byte es:[edi], dx
pop edi
movsd dword es:[edi], dword [esi]
pop edi
mov esi, 0x246984ef
arpl ax, bp
and ch, byte [esp + ebp*2 + 0x6c]
arpl sp, sp
and al, 0x6c
insb byte es:[edi], dx
insb byte es:[edi], dx
or ah, bh
jo 0x10c94ce
in al, dx
xchg edi, eax
test byte [ebx - 0x18], ah
jbe 0x10c94ec
insb byte es:[edi], dx
insb byte es:[edi], dx
in al, dx
xchg edi, eax
test dword [ebx - 0x18], esp
arpl ax, bp
jge 0x10c94f5
insb byte es:[edi], dx
insb byte es:[edi], dx
or ch, ch
xchg edi, eax
xchg ebx, eax
dec ecx
arpl ax, bp
jns 0x10c9500
insb byte es:[edi], dx
insb byte es:[edi], dx
sub eax, 0x9393a085
xchg ebx, eax
inc ebp
and byte [ebp + 0x6d], dl
out dx, eax
lodsd eax, dword [esi]
imul ebp, edi, 0xd1856884
xchg ebx, eax
xchg ebx, eax
xchg ebx, eax
inc ebp
cmp byte [ebp + 0x6e], dl
out dx, eax
lodsd eax, dword [esi]
push 0xffffffffffffffef
xchg byte [eax - 0x11], ch
test byte [ecx - 0x7b], ch
invalid
fsubp st(4)
out 0x6a, al
in eax, dx
stosb byte es:[edi], al
insd dword es:[edi], dx
insb byte es:[edi], dx
insb byte es:[edi], dx
insb byte es:[edi], dx
in al, 0x6b
in eax, dx
stosd dword es:[edi], eax
insd dword es:[edi], dx
insb byte es:[edi], dx
insb byte es:[edi], dx
insb byte es:[edi], dx
xlatb
outsb dx, byte [esi]
insb byte es:[edi], dx
insb byte es:[edi], dx
insb byte es:[edi], dx
outsb dx, byte [esi]
mov esi, 0x6c69e963
insb byte es:[edi], dx
insb byte es:[edi], dx
insb byte es:[edi], dx
out 0x7a, al
sub bh, byte [esi - 0x42]
arpl di, bp
mov ah, 0x93
xchg ebx, eax
xchg ebx, eax
xchg ebx, eax
outsb dx, byte [esi]
mov esi, 0x6c69e963
insb byte es:[edi], dx
insb byte es:[edi], dx
out 0x7a, al
sub bh, byte [esi - 0x42]
arpl di, bp
push es
insb byte es:[edi], dx
insb byte es:[edi], dx
insb byte es:[edi], dx
pop edi
lodsb al, byte [esi]
outsb dx, byte [esi]
mov esi, 0x6c69e963
insb byte es:[edi], dx
insb byte es:[edi], dx
out 0x7a, al
sub bh, byte [esi - 0x42]
arpl di, bp
inc esi
insd dword es:[edi], dx
insb byte es:[edi], dx
insb byte es:[edi], dx
outsb dx, byte [esi]
mov esi, 0x6c69e963
insb byte es:[edi], dx
insb byte es:[edi], dx
out 0x7a, al
sub bh, byte [esi - 0x42]
jg 0x10c94db
outsb dx, byte [esi]
mov esi, 0x6c69e963
insb byte es:[edi], dx
insb byte es:[edi], dx
out 0x7a, al
sub bh, byte [esi - 0x42]
jg 0x10c94ea
outsb dx, byte [esi]
mov esi, 0x6c69e963
insb byte es:[edi], dx
insb byte es:[edi], dx
out 0x7a, al
sub bh, byte [esi - 0x42]
jg 0x10c94f9
outsb dx, byte [esi]
mov esi, 0x6c69e963
insb byte es:[edi], dx
insb byte es:[edi], dx
out 0x7a, al
sub bh, byte [esi - 0x42]
jg 0x10c9508
arpl ax, bp
push 0x6c
insb byte es:[edi], dx
insb byte es:[edi], dx
out 0xb3, eax
inc edi
mov ah, 0xe6
outsd dx, dword [esi]
in al, 0x6b
sub edx, edi
outsb dx, byte [esi]
insb byte es:[edi], dx
insb byte es:[edi], dx
insb byte es:[edi], dx
test dword [ebx + edx*4], ebx
xchg ebx, eax
xchg ebx, eax
aam 0x6d
insb byte es:[edi], dx
insb byte es:[edi], dx
insb byte es:[edi], dx
outsb dx, byte [esi]
mov esi, 0x6c69e963
insb byte es:[edi], dx
insb byte es:[edi], dx
out 0x7a, al
sub bh, byte [esi - 0x42]
jg 0x10c9535
outsb dx, byte [esi]
mov esi, 0x6c69e963
insb byte es:[edi], dx
insb byte es:[edi], dx
out 0x7a, al
sub bh, byte [esi - 0x42]
arpl si, bp
mov dl, 0x93
xchg ebx, eax
xchg ebx, eax
inc edi
scasd eax, dword es:[edi]
xlatb
insd dword es:[edi], dx
insb byte es:[edi], dx
insb byte es:[edi], dx
insb byte es:[edi], dx
arpl cx, bp
pop eax
insb byte es:[edi], dx
insb byte es:[edi], dx
insb byte es:[edi], dx
aad 0x6d
insb byte es:[edi], dx
insb byte es:[edi], dx
insb byte es:[edi], dx
outsb dx, byte [esi]
mov esi, 0x6c69e963
insb byte es:[edi], dx
insb byte es:[edi], dx
out 0x7a, al
sub bh, byte [esi - 0x42]
jg 0x10c9562
outsb dx, byte [esi]
mov esi, 0x6c69e963
insb byte es:[edi], dx
insb byte es:[edi], dx
out 0x7a, al
sub bh, byte [esi - 0x42]
arpl si, bp
mov dl, 0x93
xchg ebx, eax
xchg ebx, eax
cmp ah, bh
wait
inc edi
cdq
lahf
enter 0xffffffffffff8532, 0x64
xchg ebx, eax
xchg ebx, eax
xchg ebx, eax
and al, 0xad
mov word [esi + 0x6a], fs
sub ah, bh
test ch, dl
insd dword es:[edi], dx
insb byte es:[edi], dx
insb byte es:[edi], dx
insb byte es:[edi], dx
outsb dx, byte [esi]
mov esi, 0x6c69e963
insb byte es:[edi], dx
insb byte es:[edi], dx
out 0x7a, al
sub bh, byte [esi - 0x42]
jg 0x10c959f
outsb dx, byte [esi]
mov esi, 0x6c69e963
insb byte es:[edi], dx
insb byte es:[edi], dx
out 0x7a, al
sub bh, byte [esi - 0x42]
arpl si, bp
mov dl, 0x93
xchg ebx, eax
xchg ebx, eax
in eax, dx
xchg esp, eax
insb byte es:[edi], dx
adc dword [esp + ebp*2 - 0x13], ebp
mov ch, 0x93
xchg ebx, eax
xchg ebx, eax
xchg ebx, eax
in eax, dx
xchg esp, eax
insb byte es:[edi], dx
imul ebp, dword [esp + ebp*2 - 0x13], 0x939393b5
xchg ebx, eax
in eax, dx
xchg esp, eax
in al, dx
insb byte es:[edi], dx
insb byte es:[edi], dx
insb byte es:[edi], dx
in eax, dx
mov ebp, 0x6c6c6c6c
in eax, dx
xchg esp, eax
in al, dx
insb byte es:[edi], dx
insb byte es:[edi], dx
insb byte es:[edi], dx
in eax, dx
mov ebp, 0x6c6c6c6c
cmp ah, bh
wait
inc edi
pushfd
lahf
enter 0xffffffffffff8532, 0xfffffffffffffff7
xchg edx, eax
xchg ebx, eax
xchg ebx, eax
out 0x6a, al
sub bl, byte [edi - 0x5b]
lodsb al, byte [esi]
test byte [ebp + 0x63], ch
call 0x6d7902ce
in eax, dx
mov ebp, 0x6c6c6c6e
out 0x84, eax
cmp ah, bh
wait
inc edi
pushfd
lahf
enter 0xffffffffffffd732, 0x6d
insd dword es:[edi], dx
insb byte es:[edi], dx
insb byte es:[edi], dx
insb byte es:[edi], dx
test dword [edi], ebx
xchg edx, eax
xchg ebx, eax
xchg ebx, eax
xor dword [edi + 0x11], eax
out 0xab, eax
xor esi, dword [edx]
out 0x89, eax
xor dword [esi + 0x32336c64], ebp
test dword [eax + 0x6c], ebp
insb byte es:[edi], dx
insb byte es:[edi], dx
mov bl, 0x10
test byte [esi - 0x2c], bl
sbb al, 0xff
mov al, byte [0xeda96f6c]
lodsb al, byte [esi]
sub eax, 0xd56c6c6f
adc ebp, dword [esi + 0x6c]
insb byte es:[edi], dx
salc
mov ecx, ebx
je 0x10c96ff
jl 0x10c96d1
and eax, 0x939ae963
xchg ebx, eax
xchg ebx, eax
test dword [eax + 0x6c], ebp
insb byte es:[edi], dx
insb byte es:[edi], dx
jmp 0xf58fb2f
mov byte [0x89de0251], al
push cs
jo 0x10c96db
invalid
push cs
jo 0x10c96e6
jae 0x10c9669
mov dword [ecx - 0x30f27977], ecx
mov dword [ecx + 0x85f8a89], ecx
dec esi
or dword [ecx + 0x60088989], 0x89898981
or byte [eax - 0x77], dh
mov dword [ecx + 0x590d8689], ecx
or dword [ecx + 0x70088989], 0x89898989
xchg byte [0x76767659], cl
out dx, eax
pop ecx
jbe 0x10c9778
jbe 0x10c96f3
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 0x10c97a4
jbe 0x10c9790
lea ecx, [ecx + 0x551d8989]
mov al, 0x52
xor ecx, edi
sbb al, byte [ebp - 0x77]
mov cl, byte [eax + ecx + 0x49]
mov cl, byte [bx + di + 0x3089]
pop ebx
mov byte [ecx - 0x20e4cc77], cl
insb byte es:[edi], dx
mov ecx, 0x86c0c999
or al, 0x7f
jbe 0x10c97ce
jbe 0x10c97ba
lea ecx, [ecx + 0x39f28989]
popfd
mov cl, 0x90
daa
nop
cmpsd dword [esi], dword es:[edi]
sub al, 0x9b
sbb ebx, dword [ebx]
sbb ebx, dword [eax]
in eax, 0x98
pop ss
sbb edx, dword [edi + ebx*4]
sbb byte [ebx], 0x1b
sbb edx, dword [eax - 0x22e7e8a4]
nop
pop esp
pop ss
sbb ch, bl
dec ebx
in al, 0x8e
scasd eax, dword es:[edi]
sbb eax, 0xe39a1bb4
sbb ebx, dword [ebx]
sbb ebx, dword [ebx]
adc al, 0x9e
adc eax, 0x8c1b1b1b
nop
arpl word [edi], dx
mov word [eax], ds
mov word [eax + 0x188c1763], ss
fisttp qword [ebx - 0x1c]
mov ds, ebx
sbb eax, 0x64981bb4
pop ss
sbb edx, dword [edi + ebx*4]
jb 0x10c97c1
sbb ebx, dword [ebx]
cwde
sbb ebx, dword fs:[ebx]
adc al, 0x9e
adc dword [ebx], ebx
sbb ebx, dword [ebx]
cwde
or ebx, dword fs:[ebx]
adc al, 0x9f
push edx
sbb ebx, dword [ebx]
sbb ecx, dword [esi + 0x4e]
sbb ebx, dword [ebx]
dec esi
dec esi
inc ecx
nop
je 0x10c97cd
or ebx, dword [eax]
cmc
sbb ch, dh
cwde
sbb bx, word [ebx]
adc al, 0x9f
sub al, 0x1b
sbb ebx, dword [ebx]
sbb ebx, dword [edx + esi*8 - 0x63e48d70]
pushfd
nop
jb 0x10c97ee
pushfd
dec ebx
dec ecx
adc dl, dl
adc al, 0x92
sbb eax, 0x4a1b1b1b
adc bl, byte [ebx]
sbb ebx, dword [ebx]
sbb ch, dl
lcall 0x4a1b, 0x1b1b19da
dec ebx
in al, 0x89
mov dword [0x411bb41d], eax
xchg edx, eax
pop esi
sbb eax, dword [ebx - 0x66]
ficomp word [edi]
sbb ebx, dword [ebx]
sbb esi, edx
movsb byte es:[edi], byte [esi]
in al, 0xe4
in al, 0x46
lcall 0xf21b, 0x1b1b0fdc
inc esi
in al, 0xe4
in al, 0x4f
jg 0x10c97f8
sbb ebx, dword cs:[ebx]
sbb ebx, dword [ebx]
jae 0x10c9845
adc bh, 0x1b
dec esi
dec ebp
lea edx, [eax - 0x6f72d895]
lahf
sub esi, dword [ebx]
sbb ebx, dword [ebx]
sbb ebx, dword [eax]
fucom st(4)
sti
dec edi
jae 0x10c98b1
cmp ebx, dword [esi + 0x75]
jb 0x10c98b4
jbe 0x10c98b4
cmp ecx, dword [ebx + 0x69]
je 0x10c98ae
jle 0x10c98b9
outsd dx, dword [esi]
je 0x10c98ad
cmp ebp, dword [ebp + 0x7e]
imul ebp, dword [eax + 0x72], 0x2a3b7574
xor eax, 0x11162a28
insd dword es:[edi], dx
jle 0x10c98b1
push 0x3b757472
sub dh, byte [0x11162a28]
pop edi
jle 0x10c98c3
jle 0x10c98cf
je 0x10c98c5
jle 0x10c98c5
and dword [ebx], edi
dec ebp
ja 0x10c98db
jg 0x10c98d5
jbe 0x10c98d7
imul edi, dword [ebx], 0x73706e48
je 0x10c98da
push ss
adc dword [eax + 0x72], ecx
outsd dx, dword [esi]
jle 0x10c98af
and dword [ebx], edi
jae 0x10c98e7
outsd dx, dword [esi]
imul esp, dword [ecx], 0x34
xor al, 0x6c
insb byte es:[edi], dx
insb byte es:[edi], dx
xor eax, 0x7c72757e
jbe 0x10c9901
imul ebp, dword [ecx + 0x74], 0x6f
jle 0x10c9905
outsd dx, dword [esi]
je 0x10c98f9
xor eax, 0x34767478
push ss
adc dword [esi + 0x36], ebx
jbe 0x10c9915
jb 0x10c9914
cmp esp, dword [ecx]
cmp ebp, dword [eax + 0x6e]
imul ebp, dword [ebx + 0x74], 0x69
outsd dx, dword [esi]
pop ebx
jle 0x10c991f
jb 0x10c9928
jbe 0x10c9928
jp 0x10c991a
imul ebp, dword [ecx + 0x74], 0x6f
imul esi, dword [edi + ebp*2 + 0x7e], 0x69746f78
outsd dx, dword [esi]
jle 0x10c992c
outsd dx, dword [esi]
je 0x10c9920
xor eax, 0x16767478
je 0x10c9931
push ss
adc dword [edi + 0x73], ecx
jb 0x10c9929
cmp ebp, dword [ebx + 0x69]
je 0x10c9942
imul esi, dword [esp + edi*2 + 0x69], 0x723b767a
push 0x74696b3b
outsd dx, dword [esi]
jl 0x10c9930
imul edi, dword [edx + 0x76], 0x3b68723b
imul ebp, dword [ecx + 0x74], 0x6f
jp 0x10c993f
cmp esi, dword [edx + 0x68]
cmp ebp, dword [ebx + 0x69]
je 0x10c9940
jle 0x10c994b
outsd dx, dword [esi]
jle 0x10c9955
jg 0x10c9912
cmp ebp, dword [edx + esi*2 + 0x6f]
insb byte es:[edi], dx
jb 0x10c9949
jae 0x10c9917
cmp ecx, dword [ecx + 0x5e]
dec ecx
pop esi
pop esp
push edx
dec eax
dec edi
pop esi
dec ecx
pop esi
pop edi
cmp ecx, dword [ebp + 0x5e]
dec ebp
pop esi
dec ecx
dec eax
push edx
push esp
push ebp
cmp esi, dword [ebp + edi*2 + 0x3b]
dec edi
jae 0x10c9973
cmp ebx, dword [esi + 0x75]
jb 0x10c9976
jl 0x10c9971
jbe 0x10c9976
jp 0x10c9938
cmp ecx, dword [ebx + 0x69]
je 0x10c9970
dec ebx
imul esi, dword [edi + ebp*2 + 0x7e], 0x7f7e6f78
jle 0x10c997b
outsd dx, dword [esi]
jle 0x10c9985
jg 0x10c991d
push ss
adc dword [edx + 0x77], ebx
ja 0x10c9947
imul esi, dword [edx + 0x7c], 0x3b686f73
imul edi, dword [esi + 0x68], 0x7e6d697e
push 0x687e693b
cmp ebp, dword [ecx + 0x7e]
jle 0x10c997e
push 0x7e6d697e
jle 0x10c9981
imul ebp, dword [ebp + 0x7e], 0x11163a7f
push edi
insd dword es:[edi], dx
jle 0x10c999a
jg 0x10c9956
cmp dl, byte [esi]
push ss
adc dword [edi + 0x72], edx
jb 0x10c9989
push 0x7e78757e
jle 0x10c9998
js 0x10c99a3
cmp esi, dword [ebx + 0x74]
ja 0x10c99a9
jg 0x10c99a9
jle 0x10c9995
imul esp, dword [ecx], 0x1b683e3b
and dword [ebx], edi
push 0x81b
sbb ecx, dword [eax]
add byte [eax], al
or byte [eax], al
add byte [eax], al
pop esi
sub byte [eax], al
add byte [esi + 0x28], bl
add byte [eax], al
sub al, bh
add byte [eax], ch
clc
add byte [eax], al
je 0x10c98f2
xor dword [0xfc5eb04a], ecx
or eax, 0xfc5eb04a
mov al, 0x5e
cld
loop 0x10c9983
cmp al, 0x83
xor eax, 0xea34761c
xor dword [0xea34761c], 0xffffffb5
or byte [edx + 0x78], 0xbf
sbb al, 0x76
xor al, 0xea
mov ch, 0x80
dec edx
js 0x10c9911
xor bl, byte [eax]
pop ebp
das
lcall 0xfe42, 0xe12d6804
shr dword [ebp + 0x52], 0x5b
add al, 0x68
sub eax, 0xc1fe42e1
insd dword es:[edi], dx
push edx
pop ebx
std
jge 0x10c9994
mov al, 0x9d
sbb dword [edi - 0x71], esp
cmp ebp, ebx
and ebx, ebx
jo 0x10c9957
test byte [ebx + edi*8 + 0x70], ah
sti
sti
jo 0x10c9989
adc eax, 0xae40045
inc ebp
add ah, ah
or ch, ch
in al, 0xa
in eax, dx
dec ebp
xlatb
xor esi, dword [ebp + 0x367d8af2]
mov bh, byte [ebp + 0x36]
and byte [ebx - 0x56770ce6], 0x8d
mov ebx, dword [ebp + 0x4617ab09]
sbb dh, bl
mov byte [ecx + 0x99d8b8d], ch
stosd dword es:[edi], eax
pop ss
inc esi
popfd
or dword [ebx + 0x1f94617], ebp
sbb esp, dword [ecx + 0x67]
dec eax
stc
add dword [ebx], ebx
popal
dec eax
or al, 0xbf
mov eax, dword [0xd7b142b9]
mov edi, 0xb142b9a1
inc edx
mov cl, 0xd7
xlatb
inc esi
loopne 0x10c9946
clc
add ebx, dword [edx - 0x42d370cc]
sub al, 0xbd
xchg esp, eax
scasb al, byte es:[edi]
xchg ecx, eax
dec edi
inc ebp
pop ebx
push 0x40
shr byte [edx], cl
test dword [ebp + 0x1f], ebx
xor ecx, dword [edi]
mov ebx, 0x235be885
fimul dword [edx + 0x4f]
or al, 0x32
pop esi
fst dword [eax - 0x424fe7ea]
inc eax
push ebp
mov bh, 0x28
xchg esp, eax
pushfd
mov esi, 0xcc86d357
daa
invalid