Function at 0x10c0394
Capabilities:
Encode data using xor

Disassembly:
mov edi, edi
push ebx
mov ebx, esp
push ecx
push ecx
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
sub esp, 0xa0
mov eax, dword [0x1426ed0]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebx + 8]
mov dword [ebp - 0x20], eax
mov eax, dword [ebx + 0xc]
mov dword [ebp - 0x4c], eax
mov eax, dword [ebx + 0x10]
mov dword [ebp - 0x34], eax
mov eax, dword [ebx + 0x14]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebx + 0x18]
push esi
xor esi, esi
push edi
mov dword [ebp - 0x28], eax
xor eax, eax
mov dword [ebp - 0x98], esi
lea edi, [ebp - 0x94]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
lea edx, [ebp - 0x30]
stosd dword es:[edi], eax
mov eax, dword [ecx + 0x48]
push edx
mov dword [ebp - 0x1c], ecx
mov ecx, dword [0x1428610]
push eax
push ecx
mov dword [ebp - 0x24], esi
mov dword [ebp - 0x5c], esi
mov dword [ebp - 0x54], esi
mov dword [ebp - 0x48], esi
mov dword [ebp - 0x44], esi
mov dword [ebp - 0x40], esi
mov dword [ebp - 0x68], esi
mov dword [ebp - 0x64], esi
mov dword [ebp - 0x60], esi
mov dword [ebp - 0x80], esi
mov dword [ebp - 0x7c], esi
mov dword [ebp - 0x78], esi
mov dword [ebp - 0x74], esi
mov dword [ebp - 0x70], esi
mov dword [ebp - 0x6c], esi
mov dword [ebp - 0x3c], esi
mov dword [ebp - 0x88], esi
mov dword [ebp - 0x58], esi
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x38], esi
call fcn.010a304f
call fcn.010f7890
loopne 0x10c044e
add byte [eax + 0x24], ah
pop edx
inc ecx
xor byte [edx + 0x4d], bl
and eax, dword [eax - 0x6fbea5d8]
call fcn.01042486
pushfd
cmp eax, 0x18a67041
sub byte [eax + 0x100000a9], dl
cwde
cmp eax, 0xf88b1041
clc
cmp edi, esi
jl 0x10c0ad8
call fcn.0136ac47
xchg esi, eax
cmp al, 8
sar byte [eax + ecx*2], 0x42
nop
cmp byte [eax + 0x42], cl
mov al, byte [0x80000017]
call fcn.010f83d9
mov edi, eax
cmp edi, esi
jl 0x10c0ad8
call fcn.011f3f3c
mov word [ecx + eax*2 - 0x30], ds
mov byte [ecx + eax*2 - 0x30], bl
mov ebp, 0xae80232f
add byte [eax], al
pushal
cmp dword [ebp - 0x4c], esi
jne 0x10c04c3
mov edi, 0x80070057
jmp 0x10c0b0a
call fcn.010d1973
pushal
add al, 0
inc eax
loopne 0x10c04ea
inc edx
rcr ah, 1
sbb al, 0x42
pushal
jo 0x10c0472
or dl, byte [eax - 0x741fba75]
or byte [ebp + 0x6852a455], cl
mov esp, 0x50010044
call dword [ecx + 0x1c]
mov edi, eax
cmp edi, esi
jl 0x10c0ad8
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax + 8]
lea edx, [ebp - 0x54]
push edx
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x20]
mov ecx, dword [eax]
push 0x1004e94
push eax
call dword [ecx + 0x1c]
call fcn.01200ea5
hlt
mov ecx, dword [ebp - 0x4c]
cmp ecx, esi
je 0x10c0b0a
call fcn.010d1973
dec edx
add dword [eax], eax
and byte [ebp + edi + 0x3da01042], 0x42
nop
outsb dx, byte [esi]
stosb byte es:[edi], al
or byte [eax + 0x50b8458d], dh
call fcn.010bbe13
push dword [ebp - 0x4c]
push dword [ebp - 0x18]
push 1
call fcn.010aa875
call fcn.010f907e
cmp edi, esi
jge 0x10c0b62
call fcn.010cff6b
invalid
xor al, ch
fbstp tbyte [eax]
clc
invalid
call fcn.01299031
pop edx
lodsb al, byte [esi]
push cs
xor byte [eax - 0x15], bh
inc ecx
pushal
je 0x10c0b5c
inc ecx
adc byte [esi], dl
add byte [eax], al
ror byte [ebp + 0x5ae8d04d], 1
call 0x4e9a0b7d
test al, 0xe8
push edx
push esp
stc
dec dword [ebp - 0x8773]
invalid