Function at 0x1000c230
Capabilities:
Encode data using xor

Disassembly:
mov eax, dword [esp + 0xc]
sub esp, 0x108
cmp eax, 0x40
jl 0x1000c5f6
push ebx
mov ebx, dword [esp + 0x114]
lea ecx, [esp + 0x8c]
push ebp
push esi
mov esi, dword [esp + 0x118]
lea ebp, [esp + 0x14]
push edi
mov edi, esi
sub ecx, esi
sub edi, ebx
mov dword [esp + 0x10], ecx
sub ebp, esi
lea edx, [esi + 0x3c]
shr eax, 6
mov dword [esp + 0x124], eax
nop dword [eax]
lea eax, [esp + 0x98]
cmp eax, edx
ja 0x1000c296
lea eax, [esp + 0xd4]
cmp eax, esi
jae 0x1000c2ea
lea ecx, [esp + 0x98]
lea eax, [ebx + 0x3c]
cmp ecx, eax
mov ecx, dword [esp + 0x10]
ja 0x1000c2b7
lea ecx, [esp + 0xd4]
cmp ecx, ebx
mov ecx, dword [esp + 0x10]
jae 0x1000c2ea
cmp esi, eax
ja 0x1000c2bf
cmp edx, ebx
jae 0x1000c2ea
lea ecx, [esp + 0x54]
cmp esi, ecx
mov ecx, dword [esp + 0x10]
ja 0x1000c2da
lea ebx, [esp + 0x18]
cmp edx, ebx
mov ebx, dword [esp + 0x120]
jae 0x1000c2ea
lea edx, [esp + 0x18]
cmp edx, eax
ja 0x1000c31a
lea edx, [esp + 0x54]
cmp edx, ebx
jb 0x1000c31a
lea eax, [ecx + edi]
mov edx, ebx
mov dword [esp + 0x14], eax
mov ebx, 0x10
mov esi, eax
nop word [eax + eax]
mov ecx, dword [edx]
lea eax, [edx + edi]
mov dword [eax + ebp], ecx
lea edx, [edx + 4]
mov eax, dword [eax]
xor eax, ecx
mov dword [edx + esi - 4], eax
sub ebx, 1
jne 0x1000c300
jmp 0x1000c375
mov edx, dword [esp + 0x10]
add eax, 0xffffffd4
mov ebx, dword [esp + 0x10]
add edx, edi
mov ecx, esi
mov dword [esp + 0x14], edx
mov edx, 2
lea esi, [edi + ebp]
lea ecx, [ecx + 0x20]
lea eax, [eax + 0x20]
movups xmm1, xmmword [eax - 0x30]
movups xmm0, xmmword [ecx - 0x20]
movups xmmword [ecx + ebp - 0x20], xmm1
pxor xmm1, xmm0
movups xmm0, xmmword [eax + edi - 0x20]
movups xmmword [ebx + ecx - 0x20], xmm1
mov ebx, dword [esp + 0x14]
movups xmm1, xmmword [eax - 0x20]
pxor xmm0, xmm1
movups xmmword [eax + ebx - 0x20], xmm0
mov ebx, dword [esp + 0x10]
movups xmmword [eax + esi - 0x20], xmm1
sub edx, 1
jne 0x1000c335
mov ebx, dword [esp + 0x120]
lea eax, [esp + 0x58]
mov esi, dword [esp + 0x11c]
push 0
push eax
lea eax, [esp + 0x20]
push eax
call fcn.1000b830
push 0x1000000
lea eax, [esp + 0x28]
push eax
lea eax, [esp + 0x6c]
push eax
call fcn.1000b830
push 0x2000000
lea eax, [esp + 0x74]
push eax
lea eax, [esp + 0x38]
push eax
call fcn.1000b830
push 0x3000000
lea eax, [esp + 0x40]
push eax
lea eax, [esp + 0x84]
push eax
call fcn.1000b830
push 0x4000000
lea eax, [esp + 0x8c]
push eax
lea eax, [esp + 0x50]
push eax
call fcn.1000b830
push 0x5000000
lea eax, [esp + 0x58]
push eax
lea eax, [esp + 0x9c]
push eax
call fcn.1000b830
add esp, 0x48
lea eax, [esp + 0x58]
push 0x6000000
push eax
lea eax, [esp + 0x20]
push eax
call fcn.1000b830
push 0x7000000
lea eax, [esp + 0x28]
push eax
lea eax, [esp + 0x6c]
push eax
call fcn.1000b830
push 0x8000000
lea eax, [esp + 0x74]
push eax
lea eax, [esp + 0x38]
push eax
call fcn.1000b830
push 0x9000000
lea eax, [esp + 0x100]
push eax
lea eax, [esp + 0x84]
push eax
call fcn.1000b830
push 0
lea eax, [esp + 0x8c]
push eax
lea eax, [esp + 0xd0]
push eax
call fcn.1000ae60
push 1
lea eax, [esp + 0x58]
push eax
lea eax, [esp + 0x9c]
push eax
call fcn.1000ae60
add esp, 0x48
lea eax, [esp + 0x58]
push 2
push eax
lea eax, [esp + 0x20]
push eax
call fcn.1000ae60
push 3
lea eax, [esp + 0x28]
push eax
lea eax, [esp + 0x6c]
push eax
call fcn.1000ae60
push 4
lea eax, [esp + 0x74]
push eax
lea eax, [esp + 0x38]
push eax
call fcn.1000ae60
push 5
lea eax, [esp + 0x40]
push eax
lea eax, [esp + 0x84]
push eax
call fcn.1000ae60
push 6
lea eax, [esp + 0x8c]
push eax
lea eax, [esp + 0x50]
push eax
call fcn.1000ae60
push 7
lea eax, [esp + 0x58]
push eax
lea eax, [esp + 0x9c]
push eax
call fcn.1000ae60
add esp, 0x48
lea eax, [esp + 0x58]
push 8
push eax
lea eax, [esp + 0x20]
push eax
call fcn.1000ae60
push 9
lea eax, [esp + 0xa8]
push eax
lea eax, [esp + 0x6c]
push eax
call fcn.1000ae60
lea eax, [esp + 0xb0]
add esp, 0x18
lea edx, [esi + 0x3c]
cmp eax, edx
ja 0x1000c53b
lea eax, [esp + 0xd4]
cmp eax, esi
jae 0x1000c551
lea eax, [esp + 0x114]
cmp esi, eax
ja 0x1000c57b
lea eax, [esp + 0xd8]
cmp edx, eax
jb 0x1000c57b
xor ecx, ecx
nop dword [eax]
nop word [eax + eax]
mov eax, dword [esp + ecx + 0xd8]
xor eax, dword [esp + ecx + 0x98]
xor dword [ecx + esi], eax
add ecx, 4
cmp ecx, 0x40
jl 0x1000c560
jmp 0x1000c5ca
xor eax, eax
nop dword [eax]
movups xmm0, xmmword [eax + esi]
movups xmm1, xmmword [esp + eax + 0xd8]
pxor xmm1, xmm0
movups xmm0, xmmword [esp + eax + 0x98]
pxor xmm1, xmm0
movups xmmword [eax + esi], xmm1
movups xmm0, xmmword [eax + esi + 0x10]
movups xmm1, xmmword [esp + eax + 0xe8]
pxor xmm1, xmm0
movups xmm0, xmmword [esp + eax + 0xa8]
pxor xmm1, xmm0
movups xmmword [eax + esi + 0x10], xmm1
add eax, 0x20
cmp eax, 0x40
jl 0x1000c580
add dword [esi + 0x40], 1
jne 0x1000c5d3
inc dword [esi + 0x44]
mov ecx, dword [esp + 0x10]
add ebx, 0x40
sub edi, 0x40
mov dword [esp + 0x120], ebx
sub dword [esp + 0x124], 1
jne 0x1000c280
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x108
ret