Function at 0x100c23b0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x3c
mov eax, dword [0x10206f54]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
push ebx
push esi
mov dword [ebp - 0x3c], eax
mov ebx, dword [eax + 0x28]
mov esi, dword [eax + 0x2c]
mov eax, esi
imul eax, ebx
push edi
push 1
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x18], esi
cdq
mov edi, eax
mov eax, edx
push eax
push edi
mov dword [ebp - 0x20], eax
call fcn.100e8b00
mov dword [ebp - 0x28], eax
add esp, 0xc
mov eax, esi
cdq
mov esi, eax
mov ecx, edx
mov eax, ebx
cdq
push edx
push eax
push ecx
push esi
call fcn.101a8d70
cmp edi, eax
jne 0x100c240d
cmp dword [ebp - 0x20], edx
je 0x100c2422
push 0x22
push str.C:coretech_sourcegreen_aide_source_aideexternalwebpenc_analysis_enc.c
push str._uint64_t__w__h____uint64_t_w__h
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
add esp, 0xc
mov edx, dword [ebp - 0x28]
test edx, edx
je 0x100c25ad
mov ecx, dword [ebp - 0x18]
lea eax, [ebx - 1]
dec ecx
mov dword [ebp - 0x24], eax
cmp ecx, 1
jle 0x100c25a4
lea esi, [ebx*8]
inc edx
mov dword [ebp - 0x1c], esi
lea edi, [esi + 8]
lea esi, [ecx - 1]
mov dword [ebp - 0x38], edi
mov ecx, dword [ebp - 0x1c]
add edx, ebx
mov dword [ebp - 0x34], edx
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x18], esi
cmp eax, 1
jle 0x100c2530
dec eax
mov esi, edx
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x3c]
xorps xmm0, xmm0
movups xmmword [ebp - 0x14], xmm0
mov edx, dword [eax + 0x588c]
add edx, edi
mov ecx, edx
sub ecx, dword [ebp - 0x1c]
mov ebx, dword [edx]
shr ebx, 5
mov eax, dword [ecx - 8]
and ebx, 3
shr eax, 5
and eax, 3
inc dword [ebp + eax*4 - 0x14]
mov eax, dword [ecx]
shr eax, 5
and eax, 3
inc dword [ebp + eax*4 - 0x14]
mov eax, dword [ecx + 8]
shr eax, 5
and eax, 3
mov ecx, dword [ebp - 0x1c]
inc dword [ebp + eax*4 - 0x14]
mov eax, dword [edx - 8]
shr eax, 5
and eax, 3
inc dword [ebp + eax*4 - 0x14]
mov eax, dword [edx + 8]
shr eax, 5
and eax, 3
inc dword [ebp + eax*4 - 0x14]
mov eax, dword [ecx + edx - 8]
shr eax, 5
and eax, 3
inc dword [ebp + eax*4 - 0x14]
mov eax, dword [ecx + edx]
shr eax, 5
and eax, 3
inc dword [ebp + eax*4 - 0x14]
mov eax, dword [ecx + edx + 8]
shr eax, 5
and eax, 3
inc dword [ebp + eax*4 - 0x14]
xor eax, eax
nop
cmp dword [ebp + eax*4 - 0x14], 5
jge 0x100c250f
inc eax
cmp eax, 4
jl 0x100c2500
jmp 0x100c2511
mov ebx, eax
mov byte [esi], bl
add edi, 8
inc esi
sub dword [ebp - 0x30], 1
jne 0x100c2471
mov ebx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x24]
mov edi, dword [ebp - 0x38]
mov edx, dword [ebp - 0x34]
mov esi, dword [ebp - 0x18]
add edx, ebx
add edi, ecx
sub esi, 1
mov dword [ebp - 0x34], edx
mov dword [ebp - 0x38], edi
mov dword [ebp - 0x18], esi
jne 0x100c2462
mov edi, dword [ebp - 0x1c]
mov ecx, ebx
add edi, 8
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x18], edi
mov edx, 1
cmp eax, edx
jle 0x100c2593
mov esi, edi
nop
mov eax, dword [ebp - 0x3c]
lea esi, [esi + 8]
mov edi, dword [ebp - 0x28]
mov ecx, dword [eax + 0x588c]
lea eax, [ebx + edx]
movzx eax, byte [eax + edi]
inc edx
shl eax, 5
xor eax, dword [ecx + esi - 8]
and eax, 0x60
xor dword [ecx + esi - 8], eax
cmp edx, dword [ebp - 0x24]
jl 0x100c2560
mov edi, dword [ebp - 0x18]
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x2c]
add edi, dword [ebp - 0x1c]
add ebx, ecx
sub dword [ebp - 0x20], 1
mov dword [ebp - 0x18], edi
jne 0x100c2554
mov edx, dword [ebp - 0x28]
push edx
call sub.api_ms_win_crt_heap_l1_1_0.dll_free
add esp, 4
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.101a8b60
mov esp, ebp
pop ebp
ret