Function at 0x100c8410
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x101ef922
mov eax, dword fs:[0]
push eax
sub esp, 0xf1c
mov eax, dword [0x102289dc]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [ebp + 8]
mov edx, dword [ebp + 0xc]
mov ecx, dword [ebp + 0x10]
mov edi, dword [ebp + 0x1c]
mov dword [ebp - 0xed8], eax
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0xe24], eax
mov eax, dword [ebp + 0x18]
mov dword [ebp - 0xe20], eax
mov eax, dword [ebp + 0x24]
mov dword [ebp - 0xe14], eax
mov eax, dword [edx]
mov dword [ebp - 0xe2c], ecx
lea ecx, [ecx + ecx*4]
cmp dword [eax + ecx*8 + 0x18], 0
lea esi, [eax + ecx*8]
mov dword [ebp - 0xedc], edi
mov edi, dword [edi]
mov dword [ebp - 0xe30], edx
mov dword [ebp - 0xe3c], esi
mov dword [ebp - 0xe44], edi
je 0x100ca1c0
cmp dword [esi + 0x1c], 0
je 0x100ca1c0
lea ecx, [ebp - 0xe10]
call fcn.10006fa0
mov eax, dword [ebp - 0xe2c]
mov dword [ebp - 0xc18], eax
mov eax, dword [ebp - 0xe14]
mov dword [ebp - 0xc14], eax
lea eax, [ebp - 0xe51]
push eax
lea eax, [ebp - 0xe49]
mov dword [ebp - 4], 0
push eax
lea eax, [ebp - 0xe71]
push eax
lea eax, [ebp - 0xed4]
push eax
lea eax, [ebp - 0xc18]
push eax
push dword [ebp - 0xe20]
lea eax, [ebp - 0xec4]
push eax
call fcn.101b15a0
add esp, 0x1c
lea eax, [ebp - 0xecd]
mov byte [ebp - 4], 3
push eax
push dword [ebp - 0xed4]
lea ecx, [ebp - 0xea0]
call fcn.100318a0
lea eax, [ebp - 0xec4]
mov byte [ebp - 4], 4
push 0x800
mov dword [ebp - 0xe28], eax
lea eax, [ebp - 0xc10]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
push 0x400
lea eax, [ebp - 0x410]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
mov al, byte [ebp - 0xe49]
add esp, 0x18
test al, al
je 0x100c858e
push 0
lea eax, [ebp - 0x410]
push eax
lea eax, [ebp - 0xc10]
push eax
lea eax, [ebp - 0xec4]
push eax
call fcn.100c76a0
add esp, 0x10
mov byte [ebp - 0xe49], al
mov ch, byte [ebp - 0xe51]
test ch, ch
je 0x100c85c5
push 0
lea eax, [ebp - 0x410]
push eax
lea eax, [ebp - 0xc10]
push eax
lea eax, [ebp - 0xec4]
push eax
call fcn.100c76a0
mov ch, al
add esp, 0x10
mov al, byte [ebp - 0xe49]
mov byte [ebp - 0xe51], ch
mov cl, byte [ebp + 0x28]
test al, al
je 0x100c92a0
test cl, cl
jne 0x100c92a0
xor ecx, ecx
mov word [ebp - 0xe18], 0xff00
mov ax, word [ebp - 0xe18]
lea edi, [ebp - 0xe0c]
or dl, 0xff
mov dword [ebp - 0xe2c], ecx
mov word [ebp - 0xe18], ax
mov byte [ebp - 0xe16], dl
nop word [eax + eax]
movzx eax, byte [ebp + ecx - 0xe18]
xor esi, esi
movd xmm0, eax
cvtdq2ps xmm0, xmm0
cmp dword [edi], esi
jbe 0x100c864f
mov ecx, dword [edi - 4]
mov edx, dword [edi + 0xc]
xor eax, eax
imul edx, esi
add edx, dword [edi + 0x10]
test ecx, ecx
je 0x100c8644
movss dword [edx + eax*4], xmm0
inc eax
mov ecx, dword [edi - 4]
cmp eax, ecx
jb 0x100c8637
inc esi
cmp esi, dword [edi]
jb 0x100c8628
mov ecx, dword [ebp - 0xe2c]
inc ecx
add edi, 0x18
mov dword [ebp - 0xe2c], ecx
cmp ecx, 3
jb 0x100c8610
mov esi, dword [ebp - 0xe3c]
mov edx, dword [ebp - 0xe24]
push dword [esi + 0x1c]
mov eax, dword [esi + 0x10]
push dword [esi + 0x18]
shr eax, 2
mov dword [ebp - 0xeac], eax
sub esp, 0x34
mov ecx, esp
mov dword [ecx], vtable.jxl::weighted::Header.0
mov al, byte [edx + 4]
mov byte [ecx + 4], al
mov eax, dword [edx + 8]
mov dword [ecx + 8], eax
mov eax, dword [edx + 0xc]
mov dword [ecx + 0xc], eax
mov eax, dword [edx + 0x10]
mov dword [ecx + 0x10], eax
mov eax, dword [edx + 0x14]
mov dword [ecx + 0x14], eax
mov eax, dword [edx + 0x18]
mov dword [ecx + 0x18], eax
mov eax, dword [edx + 0x1c]
mov dword [ecx + 0x1c], eax
mov eax, dword [edx + 0x20]
mov dword [ecx + 0x20], eax
movups xmm0, xmmword [edx + 0x24]
movups xmmword [ecx + 0x24], xmm0
lea ecx, [ebp - 0xdc8]
call fcn.1008b590
push 4
mov byte [ebp - 4], 5
call fcn.101e8bc4
mov edx, eax
xor ecx, ecx
add esp, 4
mov dword [ebp - 0xe2c], edx
mov dword [ebp - 0xe8c], ecx
mov dword [edx], 0
cmp dword [esi + 0x1c], ecx
jbe 0x100c9281
nop word [eax + eax]
mov edi, dword [esi + 0x10]
mov eax, dword [ebp - 0xe3c]
imul edi, ecx
mov eax, dword [eax + 0x18]
mov dword [ebp - 0xe30], eax
add edi, dword [esi + 0x14]
xor esi, esi
mov dword [ebp - 0xe88], edi
mov dword [ebp - 0xe40], esi
test eax, eax
je 0x100c9265
mov eax, ecx
mov dword [ebp - 0xe5c], 0x1ff
and eax, 1
mov dword [ebp - 0xee0], 0xfffffe00
mov dword [ebp - 0xe20], eax
nop dword [eax]
test esi, esi
je 0x100c876b
mov eax, dword [edi + esi*4 - 4]
cdq
mov dword [ebp - 0xe50], eax
mov dword [ebp - 0xe18], edx
test ecx, ecx
je 0x100c87d8
jmp 0x100c878b
test ecx, ecx
je 0x100c87b5
mov eax, dword [ebp - 0xeac]
mov ecx, edi
shl eax, 2
sub ecx, eax
mov eax, dword [ecx]
cdq
mov dword [ebp - 0xe50], eax
mov dword [ebp - 0xe18], edx
mov eax, esi
sub eax, dword [ebp - 0xeac]
mov eax, dword [edi + eax*4]
cdq
mov edi, eax
mov ecx, edx
mov eax, dword [ebp - 0xe50]
mov edx, dword [ebp - 0xe18]
mov dword [ebp - 0xe64], edi
mov dword [ebp - 0xe60], ecx
jmp 0x100c87e8
xorps xmm0, xmm0
movlpd qword [ebp - 0xe80], xmm0
mov edx, dword [ebp - 0xe7c]
mov eax, dword [ebp - 0xe80]
mov dword [ebp - 0xe18], edx
mov dword [ebp - 0xe50], eax
mov edi, eax
mov dword [ebp - 0xe64], eax
mov ecx, edx
mov dword [ebp - 0xe60], edx
test esi, esi
je 0x100c8808
cmp dword [ebp - 0xe8c], 0
je 0x100c8808
mov edx, dword [ebp - 0xe88]
mov eax, esi
sub eax, dword [ebp - 0xeac]
mov eax, dword [edx + eax*4 - 4]
cdq
mov dword [ebp - 0xe90], eax
lea eax, [esi + 1]
mov dword [ebp - 0xea4], edx
mov dword [ebp - 0xe7c], eax
cmp eax, dword [ebp - 0xe30]
jae 0x100c884f
cmp dword [ebp - 0xe8c], 0
je 0x100c884f
mov edx, dword [ebp - 0xe88]
mov eax, esi
sub eax, dword [ebp - 0xeac]
mov eax, dword [edx + eax*4 + 4]
cdq
mov dword [ebp - 0xe68], eax
mov dword [ebp - 0xe6c], edx
jmp 0x100c885b
mov dword [ebp - 0xe68], edi
mov dword [ebp - 0xe6c], ecx
cmp dword [ebp - 0xe8c], 1
jbe 0x100c8888
mov eax, dword [ebp - 0xeac]
mov ecx, esi
add eax, eax
sub ecx, eax
mov eax, dword [ebp - 0xe88]
mov eax, dword [eax + ecx*4]
cdq
mov dword [ebp - 0xea8], eax
mov dword [ebp - 0xe84], edx
jmp 0x100c8894
mov dword [ebp - 0xea8], edi
mov dword [ebp - 0xe84], ecx
mov ecx, dword [ebp - 0xe30]
xor edx, edx
cmp dword [ebp - 0xe20], edx
lea eax, [ecx + 2]
cmove edx, eax
lea edi, [ecx + 2]
add edi, esi
mov dword [ebp - 0xe14], edx
cmp dword [ebp - 0xe20], 0
lea eax, [ecx - 1]
cmove edi, esi
mov dword [ebp - 0xe30], edi
cmp esi, eax
jae 0x100c88d5
lea eax, [edi + 1]
mov dword [ebp - 0xe58], eax
jmp 0x100c88db
mov dword [ebp - 0xe58], edi
test esi, esi
je 0x100c88ea
lea eax, [edi - 1]
mov dword [ebp - 0xe28], eax
jmp 0x100c88f0
mov dword [ebp - 0xe28], edi
lea esi, [ebp - 0xda0]
xor edx, edx
nop dword [eax + eax]
mov eax, dword [esi]
mov ecx, dword [eax + edi*4]
mov edi, dword [ebp - 0xe28]
add ecx, dword [eax + edi*4]
mov edi, dword [ebp - 0xe58]
add ecx, dword [eax + edi*4]
xor eax, eax
mov dword [ebp - 0xecc], ecx
add ecx, 1
mov dword [ebp - 0xec8], eax
adc eax, eax
jne 0x100c8936
bsr eax, ecx
mov ecx, 0x3f
jmp 0x100c893e
bsr eax, eax
mov ecx, 0x1f
movq xmm1, qword [ebp - 0xecc]
sub ecx, eax
xor ecx, 0x3f
mov edi, dword [ebp - 0xe30]
lea eax, [ecx - 5]
xor ecx, ecx
test eax, eax
cmovns ecx, eax
add esi, 0xc
movd xmm0, ecx
psrlq xmm1, xmm0
movd eax, xmm1
mov eax, dword [ebp + eax*4 - 0xd30]
imul eax, dword [ebp + edx - 0xd40]
shr eax, cl
add eax, 4
mov dword [ebp + edx - 0xc28], eax
add edx, 4
cmp edx, 0x10
jb 0x100c8900
mov eax, dword [ebp - 0xe50]
shld dword [ebp - 0xe18], eax, 3
mov edi, dword [ebp - 0xe64]
shld dword [ebp - 0xe60], edi, 3
shl eax, 3
mov edx, dword [ebp - 0xe84]
mov dword [ebp - 0xe50], eax
mov eax, dword [ebp - 0xe68]
shld dword [ebp - 0xe6c], eax, 3
mov esi, dword [ebp - 0xe40]
mov ecx, dword [ebp - 0xd70]
shl eax, 3
mov dword [ebp - 0xe68], eax
mov eax, dword [ebp - 0xe90]
shld dword [ebp - 0xea4], eax, 3
shl edi, 3
shl eax, 3
mov dword [ebp - 0xe90], eax
mov eax, dword [ebp - 0xea8]
shld edx, eax, 3
mov dword [ebp - 0xe64], edi
shl eax, 3
mov dword [ebp - 0xe84], edx
mov dword [ebp - 0xea8], eax
test esi, esi
jne 0x100c8a20
xor eax, eax
jmp 0x100c8a2c
mov eax, dword [ebp - 0xe14]
add eax, esi
mov eax, dword [ecx + eax*4 - 4]
cdq
mov dword [ebp - 0xe38], eax
mov eax, dword [ebp - 0xe30]
mov dword [ebp - 0xe1c], edx
mov eax, dword [ecx + eax*4]
cdq
mov esi, eax
mov dword [ebp - 0xe48], edx
mov eax, dword [ebp - 0xe28]
mov dword [ebp - 0xe30], esi
mov eax, dword [ecx + eax*4]
cdq
mov dword [ebp - 0xeb0], eax
mov eax, esi
add eax, dword [ebp - 0xe38]
mov dword [ebp - 0xe24], eax
mov eax, dword [ebp - 0xe48]
adc eax, dword [ebp - 0xe1c]
mov dword [ebp - 0xe14], eax
mov eax, dword [ebp - 0xe58]
mov dword [ebp - 0xe78], edx
mov eax, dword [ecx + eax*4]
cdq
mov dword [ebp - 0xe28], eax
mov eax, dword [ebp - 0xe38]
mov dword [ebp - 0xe70], eax
mov eax, dword [ebp - 0xe1c]
mov dword [ebp - 0xe94], eax
mov eax, dword [ebp - 0xe48]
mov dword [ebp - 0xe58], edx
cdq
xor eax, edx
xor esi, edx
sub esi, edx
sbb eax, edx
mov ecx, eax
mov eax, dword [ebp - 0xe38]
mov dword [ebp - 0xe34], eax
mov eax, dword [ebp - 0xe1c]
cdq
xor eax, edx
xor dword [ebp - 0xe34], edx
sub dword [ebp - 0xe34], edx
sbb eax, edx
cmp ecx, eax
jl 0x100c8b0f
jg 0x100c8af7
cmp esi, dword [ebp - 0xe34]
jbe 0x100c8b0f
mov eax, dword [ebp - 0xe30]
mov dword [ebp - 0xe70], eax
mov eax, dword [ebp - 0xe48]
mov dword [ebp - 0xe94], eax
mov eax, dword [ebp - 0xe78]
mov esi, dword [ebp - 0xeb0]
cdq
xor eax, edx
xor esi, edx
sub esi, edx
sbb eax, edx
mov ecx, eax
mov eax, dword [ebp - 0xe70]
mov dword [ebp - 0xe34], eax
mov eax, dword [ebp - 0xe94]
cdq
xor eax, edx
xor dword [ebp - 0xe34], edx
sub dword [ebp - 0xe34], edx
sbb eax, edx
cmp ecx, eax
jl 0x100c8b6f
jg 0x100c8b57
cmp esi, dword [ebp - 0xe34]
jbe 0x100c8b6f
mov eax, dword [ebp - 0xeb0]
mov dword [ebp - 0xe70], eax
mov eax, dword [ebp - 0xe78]
mov dword [ebp - 0xe94], eax
mov eax, dword [ebp - 0xe58]
mov esi, dword [ebp - 0xe28]
cdq
xor eax, edx
xor esi, edx
sub esi, edx
sbb eax, edx
mov ecx, eax
mov eax, dword [ebp - 0xe70]
mov dword [ebp - 0xe34], eax
mov eax, dword [ebp - 0xe94]
cdq
xor eax, edx
xor dword [ebp - 0xe34], edx
sub dword [ebp - 0xe34], edx
sbb eax, edx
cmp ecx, eax
jl 0x100c8bcb
jg 0x100c8bb7
cmp esi, dword [ebp - 0xe34]
jbe 0x100c8bcb
mov ecx, dword [ebp - 0xe58]
mov eax, dword [ebp - 0xe28]
mov dword [ebp - 0xeb4], ecx
jmp 0x100c8bd1
mov eax, dword [ebp - 0xe70]
mov ecx, dword [ebp - 0xe2c]
mov esi, dword [ebp - 0xe28]
mov dword [ecx], eax
mov ecx, dword [ebp - 0xe68]
mov eax, dword [ebp - 0xe6c]
sub ecx, edi
sbb eax, dword [ebp - 0xe60]
add ecx, dword [ebp - 0xe50]
mov dword [ebp - 0xeb4], ecx
adc eax, dword [ebp - 0xe18]
add esi, dword [ebp - 0xe24]
mov dword [ebp - 0xee8], eax
mov dword [ebp - 0xdc4], eax
mov eax, dword [ebp - 0xd5c]
cdq
mov dword [ebp - 0xdc8], ecx
mov ecx, dword [ebp - 0xe58]
adc ecx, dword [ebp - 0xe14]
push edx
push eax
push ecx
push esi
call fcn.101e97d0
mov esi, dword [ebp - 0xe14]
mov ecx, edi
shrd eax, edx, 5
sar edx, 5
sub ecx, eax
mov eax, dword [ebp - 0xe60]
sbb eax, edx
mov dword [ebp - 0xee4], ecx
mov dword [ebp - 0xe70], eax
mov dword [ebp - 0xdbc], eax
mov eax, dword [ebp - 0xd58]
mov dword [ebp - 0xdc0], ecx
mov ecx, dword [ebp - 0xe24]
add ecx, dword [ebp - 0xeb0]
cdq
adc esi, dword [ebp - 0xe78]
push edx
push eax
push esi
push ecx
call fcn.101e97d0
mov ecx, dword [ebp - 0xe50]
mov esi, dword [ebp - 0xea4]
shrd eax, edx, 5
sar edx, 5
sub ecx, eax
mov eax, dword [ebp - 0xe18]
sbb eax, edx
mov dword [ebp - 0xe34], ecx
mov dword [ebp - 0xe94], eax
mov dword [ebp - 0xdb4], eax
mov eax, dword [ebp - 0xd44]
mov dword [ebp - 0xdb8], ecx
mov ecx, dword [ebp - 0xe90]
sub ecx, dword [ebp - 0xe50]
cdq
sbb esi, dword [ebp - 0xe18]
push edx
push eax
push esi
push ecx
call fcn.101e97d0
mov ecx, dword [ebp - 0xea8]
mov esi, eax
sub ecx, dword [ebp - 0xe64]
mov edi, edx
mov eax, dword [ebp - 0xe84]
sbb eax, dword [ebp - 0xe60]
mov dword [ebp - 0xe84], eax
mov eax, dword [ebp - 0xd48]
cdq
push edx
mov edx, dword [ebp - 0xe84]
push eax
push edx
push ecx
call fcn.101e97d0
add esi, eax
mov ecx, dword [ebp - 0xe58]
adc edi, edx
mov eax, dword [ebp - 0xd4c]
push ecx
push dword [ebp - 0xe28]
cdq
push edx
push eax
call fcn.101e97d0
push dword [ebp - 0xe78]
add esi, eax
mov eax, dword [ebp - 0xd54]
push dword [ebp - 0xeb0]
adc edi, edx
cdq
push edx
push eax
call fcn.101e97d0
push dword [ebp - 0xe48]
add esi, eax
mov eax, dword [ebp - 0xd50]
push dword [ebp - 0xe30]
adc edi, edx
cdq
push edx
push eax
call fcn.101e97d0
movups xmm1, xmmword [ebp - 0xc28]
mov ecx, dword [ebp - 0xe64]
add esi, eax
mov eax, dword [ebp - 0xe60]
adc edi, edx
movaps xmm0, xmm1
shrd esi, edi, 5
psrldq xmm0, 4
sar edi, 5
sub ecx, esi
mov dword [ebp - 0xe24], ecx
sbb eax, edi
mov dword [ebp - 0xdb0], ecx
movd ecx, xmm0
movaps xmm0, xmm1
psrldq xmm0, 8
mov dword [ebp - 0xe14], eax
mov dword [ebp - 0xdac], eax
movd eax, xmm0
movaps xmm0, xmm1
movd edi, xmm1
psrldq xmm0, 0xc
push dword [ebp - 0xe14]
add ecx, edi
add ecx, eax
movd eax, xmm0
movaps xmm0, xmm1
psrldq xmm0, 4
add ecx, eax
movd esi, xmm0
bsr eax, ecx
movaps xmm0, xmm1
mov ecx, 0x1f
sub ecx, eax
psrldq xmm0, 8
xor ecx, 0x1f
psrldq xmm1, 0xc
add ecx, 0xfffffffc
movd edx, xmm0
movd eax, xmm1
shr edi, cl
shr edx, cl
shr eax, cl
shr esi, cl
mov dword [ebp - 0xea8], edi
mov dword [ebp - 0xe58], esi
lea ecx, [eax + edx]
mov dword [ebp - 0xe28], edx
add ecx, esi
add ecx, edi
mov dword [ebp - 0xe90], ecx
shr ecx, 1
dec ecx
mov dword [ebp - 0xea4], ecx
push dword [ebp - 0xe24]
push 0
push eax
call fcn.101e97d0
push dword [ebp - 0xe94]
mov esi, eax
mov edi, edx
push dword [ebp - 0xe34]
push 0
push dword [ebp - 0xe28]
call fcn.101e97d0
push dword [ebp - 0xe70]
add esi, eax
push dword [ebp - 0xee4]
adc edi, edx
push 0
push dword [ebp - 0xe58]
call fcn.101e97d0
push dword [ebp - 0xee8]
add esi, eax
push dword [ebp - 0xeb4]
adc edi, edx
push 0
push dword [ebp - 0xea8]
call fcn.101e97d0
mov ecx, dword [ebp - 0xea4]
add esi, eax
mov eax, 0
adc edi, edx
add ecx, esi
adc eax, edi
push eax
mov eax, dword [ebp - 0xe90]
push ecx
push 0
push dword [ebp + eax*4 - 0xd34]
call fcn.101e97d0
mov esi, dword [ebp - 0xe48]
mov ecx, eax
mov eax, dword [ebp - 0xeb0]
mov edi, edx
mov edx, dword [ebp - 0xe30]
xor eax, edx
xor edx, dword [ebp - 0xe38]
xor dword [ebp - 0xe78], esi
or eax, edx
xor esi, dword [ebp - 0xe1c]
mov edx, dword [ebp - 0xe78]
shrd ecx, edi, 0x18
sar edi, 0x18
or edx, esi
mov dword [ebp - 0xe28], ecx
mov dword [ebp - 0xda8], ecx
mov dword [ebp - 0xda4], edi
mov dword [ebp - 0xeb4], edx
jl 0x100c8f3b
jg 0x100c8f2e
test eax, eax
je 0x100c8f3b
mov esi, ecx
mov dword [ebp - 0xe14], ecx
jmp 0x100c9021
mov ecx, dword [ebp - 0xe60]
mov eax, dword [ebp - 0xe64]
cmp dword [ebp - 0xe6c], ecx
jg 0x100c8f67
jl 0x100c8f5b
mov edx, dword [ebp - 0xe68]
cmp edx, eax
jae 0x100c8f6d
mov esi, eax
mov dword [ebp - 0xe1c], ecx
mov edx, ecx
jmp 0x100c8f7b
mov edx, dword [ebp - 0xe68]
mov esi, edx
mov edx, dword [ebp - 0xe6c]
mov dword [ebp - 0xe1c], edx
cmp dword [ebp - 0xe18], edx
mov edx, dword [ebp - 0xe50]
jg 0x100c8f8f
jl 0x100c8fa3
cmp edx, esi
jb 0x100c8fa3
mov esi, edx
mov edx, dword [ebp - 0xe18]
mov dword [ebp - 0xe1c], edx
mov edx, dword [ebp - 0xe50]
cmp ecx, dword [ebp - 0xe6c]
jg 0x100c8fb5
jl 0x100c8fc1
cmp eax, dword [ebp - 0xe68]
jb 0x100c8fc1
mov eax, dword [ebp - 0xe68]
mov ecx, dword [ebp - 0xe6c]
cmp ecx, dword [ebp - 0xe18]
jg 0x100c8fcf
jl 0x100c8fd7
cmp eax, edx
jb 0x100c8fd7
mov ecx, dword [ebp - 0xe18]
mov eax, edx
mov edx, dword [ebp - 0xe1c]
cmp edi, edx
jg 0x100c8ff7
mov edx, dword [ebp - 0xe28]
jl 0x100c8fed
cmp edx, esi
jae 0x100c8ff1
mov esi, edx
jmp 0x100c8ff9
mov edx, dword [ebp - 0xe1c]
mov edi, edx
cmp ecx, edi
jg 0x100c9003
jl 0x100c9007
cmp eax, esi
jb 0x100c9007
mov esi, eax
mov edi, ecx
mov edx, esi
mov dword [ebp - 0xda8], esi
mov dword [ebp - 0xe28], edx
mov dword [ebp - 0xda4], edi
mov dword [ebp - 0xe14], edx
add esi, 3
mov edx, dword [ebp - 0xe88]
mov eax, edi
lea ecx, [ebp - 0xee0]
adc eax, 0
shrd esi, eax, 3
sar eax, 3
mov dword [ebp - 0xeb4], eax
mov eax, dword [ebp - 0xe2c]
mov dword [ebp - 0xeb4], edi
mov dword [ebp - 0xeb4], edi
mov edi, dword [ebp - 0xe40]
cmp dword [eax], 0xfffffe00
cmovg ecx, eax
lea eax, [ebp - 0xe5c]
mov edx, dword [edx + edi*4]
cmp dword [ecx], 0x1ff
cmovle eax, ecx
mov eax, dword [eax]
movzx ecx, word [ebp + eax*2 - 0x810]
movsx eax, byte [ebp + eax - 0x210]
sub edx, eax
sub edx, esi
lea esi, [ecx + ecx]
mov ecx, edx
not ecx
shr ecx, 0x1f
lea eax, [edx + edx]
dec ecx
xor ecx, eax
mov eax, dword [ebp - 0xe44]
mov dword [eax + 4], ecx
mov dword [eax], esi
add eax, 8
mov dword [ebp - 0xe44], eax
mov eax, dword [ebp - 0xe88]
mov eax, dword [eax + edi*4]
cdq
mov esi, eax
mov edi, edx
mov eax, dword [ebp - 0xe3c]
mov edx, dword [ebp - 0xe20]
shld edi, esi, 3
mov ecx, dword [eax + 0x18]
xor eax, eax
add ecx, 2
shl esi, 3
test edx, edx
mov dword [ebp - 0xe48], ecx
cmove eax, ecx
mov ecx, dword [ebp - 0xe40]
add ecx, eax
mov eax, dword [ebp - 0xd70]
test edx, edx
mov dword [ebp - 0xe1c], ecx
mov edx, dword [ebp - 0xe28]
cmove edx, dword [ebp - 0xe14]
sub edx, esi
mov dword [eax + ecx*4], edx
mov ecx, dword [ebp - 0xdc8]
mov eax, dword [ebp - 0xdc4]
sub ecx, esi
sbb eax, edi
cdq
xor eax, edx
xor ecx, edx
sub ecx, edx
sbb eax, edx
mov edx, dword [ebp - 0xe1c]
add ecx, 3
adc eax, 0
shrd ecx, eax, 3
mov eax, dword [ebp - 0xda0]
mov dword [eax + edx*4], ecx
xor eax, eax
cmp dword [ebp - 0xe20], eax
mov edx, dword [ebp - 0xe48]
cmove edx, eax
add edx, dword [ebp - 0xe40]
shl edx, 2
mov dword [ebp - 0xe48], edx
mov eax, dword [ebp - 0xda0]
add dword [eax + edx + 4], ecx
mov ecx, dword [ebp - 0xdc0]
mov eax, dword [ebp - 0xdbc]
sub ecx, esi
sbb eax, edi
cdq
xor eax, edx
xor ecx, edx
sub ecx, edx
sbb eax, edx
mov edx, dword [ebp - 0xe1c]
add ecx, 3
adc eax, 0
shrd ecx, eax, 3
mov eax, dword [ebp - 0xd94]
mov dword [eax + edx*4], ecx
mov eax, dword [ebp - 0xd94]
mov edx, dword [ebp - 0xe48]
add dword [eax + edx + 4], ecx
mov ecx, dword [ebp - 0xdb8]
mov eax, dword [ebp - 0xdb4]
sub ecx, esi
sbb eax, edi
cdq
xor eax, edx
xor ecx, edx
sub ecx, edx
sbb eax, edx
mov edx, dword [ebp - 0xe1c]
add ecx, 3
adc eax, 0
shrd ecx, eax, 3
mov eax, dword [ebp - 0xd88]
mov dword [eax + edx*4], ecx
mov eax, dword [ebp - 0xd88]
mov edx, dword [ebp - 0xe48]
add dword [eax + edx + 4], ecx
mov ecx, dword [ebp - 0xdb0]
mov eax, dword [ebp - 0xdac]
sub ecx, esi
mov esi, dword [ebp - 0xe7c]
sbb eax, edi
mov dword [ebp - 0xe40], esi
cdq
xor eax, edx
mov edi, dword [ebp - 0xe88]
xor ecx, edx
sub ecx, edx
sbb eax, edx
mov edx, dword [ebp - 0xe1c]
add ecx, 3
adc eax, 0
shrd ecx, eax, 3
sar eax, 3
mov dword [ebp - 0xeb4], eax
mov eax, dword [ebp - 0xd7c]
mov dword [eax + edx*4], ecx
mov eax, dword [ebp - 0xd7c]
mov edx, dword [ebp - 0xe48]
add dword [eax + edx + 4], ecx
mov eax, dword [ebp - 0xe3c]
mov ecx, dword [ebp - 0xe8c]
mov eax, dword [eax + 0x18]
mov dword [ebp - 0xe30], eax
cmp esi, eax
jb 0x100c8750
mov esi, dword [ebp - 0xe3c]
inc ecx
mov dword [ebp - 0xe8c], ecx
cmp ecx, dword [esi + 0x1c]
jb 0x100c8700
mov edx, dword [ebp - 0xe2c]
test edx, edx
je 0x100c9290
push 4
push edx
call fcn.101e8bf4
add esp, 8
lea ecx, [ebp - 0xdc8]
call fcn.1008be00
jmp 0x100ca0b8
mov eax, dword [ebp - 0xec0]
mov edx, dword [ebp - 0xec4]
sub eax, edx
sar eax, 5
mov dword [ebp - 0xe7c], edx
mov dword [ebp - 0xe14], eax
cmp eax, 1
jne 0x100c94fb
cmp dword [edx + 4], 5
jne 0x100c94fb
cmp dword [edx + 0xc], eax
jne 0x100c94fb
mov eax, dword [edx + 0x18]
or eax, dword [edx + 0x1c]
jne 0x100c94f5
test cl, cl
jne 0x100c94f5
xor ecx, ecx
mov word [ebp - 0xe18], 0xff
mov ax, word [ebp - 0xe18]
lea edi, [ebp - 0xe0c]
or dl, 0xff
mov dword [ebp - 0xe14], ecx
mov word [ebp - 0xe18], ax
mov byte [ebp - 0xe16], dl
nop dword [eax + eax]
movzx eax, byte [ebp + ecx - 0xe18]
xor esi, esi
movd xmm0, eax
cvtdq2ps xmm0, xmm0
cmp dword [edi], esi
jbe 0x100c935f
mov ecx, dword [edi - 4]
mov edx, dword [edi + 0xc]
xor eax, eax
imul edx, esi
add edx, dword [edi + 0x10]
test ecx, ecx
je 0x100c9354
movss dword [edx + eax*4], xmm0
inc eax
mov ecx, dword [edi - 4]
cmp eax, ecx
jb 0x100c9347
inc esi
cmp esi, dword [edi]
jb 0x100c9338
mov ecx, dword [ebp - 0xe14]
inc ecx
add edi, 0x18
mov dword [ebp - 0xe14], ecx
cmp ecx, 3
jb 0x100c9320
mov esi, dword [ebp - 0xe3c]
mov edi, dword [ebp - 0xe44]
mov eax, dword [esi + 0x10]
shr eax, 2
mov dword [ebp - 0xe2c], eax
xor eax, eax
mov dword [ebp - 0xe28], eax
cmp dword [esi + 0x1c], eax
jbe 0x100ca0b8
mov ecx, dword [esi + 0x18]
mov dword [ebp - 0xe24], ecx
mov ecx, dword [esi + 0x10]
xor edx, edx
imul ecx, eax
mov dword [ebp - 0xe14], edx
add ecx, dword [esi + 0x14]
mov dword [ebp - 0xe38], ecx
cmp dword [ebp - 0xe24], edx
jbe 0x100c94e0
test edx, edx
je 0x100c93e8
mov esi, dword [ecx + edx*4 - 4]
test eax, eax
je 0x100c941a
mov eax, edx
sub eax, dword [ebp - 0xe2c]
mov ecx, dword [ecx + eax*4]
mov eax, dword [ebp - 0xe28]
mov dword [ebp - 0xe20], ecx
jmp 0x100c9422
test eax, eax
je 0x100c9418
mov eax, dword [ebp - 0xe2c]
shl eax, 2
sub ecx, eax
mov eax, edx
sub eax, dword [ebp - 0xe2c]
mov esi, dword [ecx]
mov ecx, dword [ebp - 0xe38]
mov ecx, dword [ecx + eax*4]
mov eax, dword [ebp - 0xe28]
mov dword [ebp - 0xe20], ecx
jmp 0x100c9422
xor esi, esi
mov ecx, esi
mov dword [ebp - 0xe20], esi
test edx, edx
je 0x100c944a
test eax, eax
je 0x100c944a
mov edi, dword [ebp - 0xe38]
mov eax, edx
sub eax, dword [ebp - 0xe2c]
mov eax, dword [edi + eax*4 - 4]
mov edi, dword [ebp - 0xe44]
mov dword [ebp - 0xe1c], eax
jmp 0x100c9450
mov dword [ebp - 0xe1c], esi
mov eax, dword [ebp - 0xe20]
cmp esi, eax
cmovl ecx, esi
cmp eax, esi
cmovl eax, esi
sub esi, dword [ebp - 0xe1c]
add esi, dword [ebp - 0xe20]
cmp dword [ebp - 0xe1c], ecx
cmovl esi, eax
cmp dword [ebp - 0xe1c], eax
mov eax, dword [ebp - 0xe38]
cmovg esi, ecx
mov edx, dword [eax + edx*4]
mov eax, dword [ebp - 0xec4]
sub edx, esi
mov ecx, edx
not ecx
shr ecx, 0x1f
mov eax, dword [eax + 8]
dec ecx
lea esi, [eax + eax]
lea eax, [edx + edx]
mov dword [edi], esi
mov esi, dword [ebp - 0xe3c]
xor ecx, eax
mov edx, dword [ebp - 0xe14]
mov dword [edi + 4], ecx
inc edx
mov ecx, dword [ebp - 0xe38]
add edi, 8
mov eax, dword [esi + 0x18]
cmp edx, eax
mov dword [ebp - 0xe24], eax
mov eax, dword [ebp - 0xe28]
mov dword [ebp - 0xe44], edi
mov dword [ebp - 0xe14], edx
jb 0x100c93c3
inc eax
mov dword [ebp - 0xe28], eax
cmp eax, dword [esi + 0x1c]
jb 0x100c93a0
jmp 0x100ca0b8
mov eax, dword [ebp - 0xe14]
test ch, ch
je 0x100c97bb
test cl, cl
jne 0x100c97bb
xor ecx, ecx
mov word [ebp - 0xe18], 0xff
mov ax, word [ebp - 0xe18]
lea edi, [ebp - 0xe0c]
or dl, 0xff
mov dword [ebp - 0xe14], ecx
mov word [ebp - 0xe18], ax
mov byte [ebp - 0xe16], dl
nop dword [eax]
movzx eax, byte [ebp + ecx - 0xe18]
xor esi, esi
movd xmm0, eax
cvtdq2ps xmm0, xmm0
cmp dword [edi], esi
jbe 0x100c957f
mov ecx, dword [edi - 4]
mov edx, dword [edi + 0xc]
xor eax, eax
imul edx, esi
add edx, dword [edi + 0x10]
test ecx, ecx
je 0x100c9574
movss dword [edx + eax*4], xmm0
inc eax
mov ecx, dword [edi - 4]
cmp eax, ecx
jb 0x100c9567
inc esi
cmp esi, dword [edi]
jb 0x100c9558
mov ecx, dword [ebp - 0xe14]
inc ecx
add edi, 0x18
mov dword [ebp - 0xe14], ecx
cmp ecx, 3
jb 0x100c9540
mov esi, dword [ebp - 0xe3c]
mov eax, dword [esi + 0x10]
shr eax, 2
mov dword [ebp - 0xe2c], eax
xor eax, eax
mov dword [ebp - 0xe48], eax
cmp dword [esi + 0x1c], eax
jbe 0x100ca0b8
mov ecx, dword [esi + 0x18]
mov dword [ebp - 0xe14], ecx
nop word [eax + eax]
mov edx, dword [esi + 0x10]
xor ecx, ecx
imul edx, eax
mov dword [ebp - 0xe1c], ecx
add edx, dword [esi + 0x14]
mov dword [ebp - 0xe38], edx
cmp dword [ebp - 0xe14], ecx
jbe 0x100c97a6
test ecx, ecx
je 0x100c9619
cmp dword [ebp - 0xe48], 0
mov esi, dword [edx + ecx*4 - 4]
mov eax, esi
cdq
mov edi, eax
mov dword [ebp - 0xe20], edx
je 0x100c9674
mov edx, dword [ebp - 0xe38]
mov eax, ecx
sub eax, dword [ebp - 0xe2c]
mov eax, dword [edx + eax*4]
cdq
mov dword [ebp - 0xe14], eax
jmp 0x100c967a
test eax, eax
je 0x100c9655
mov eax, dword [ebp - 0xe2c]
mov ecx, dword [ebp - 0xe1c]
shl eax, 2
sub edx, eax
mov esi, dword [edx]
mov eax, esi
cdq
mov edi, eax
mov dword [ebp - 0xe20], edx
mov edx, dword [ebp - 0xe38]
mov eax, ecx
sub eax, dword [ebp - 0xe2c]
mov eax, dword [edx + eax*4]
cdq
mov dword [ebp - 0xe14], eax
jmp 0x100c967a
xorps xmm0, xmm0
xor esi, esi
movlpd qword [ebp - 0xecc], xmm0
mov edx, dword [ebp - 0xec8]
mov edi, dword [ebp - 0xecc]
mov dword [ebp - 0xe20], edx
mov dword [ebp - 0xe14], edi
mov dword [ebp - 0xe24], edx
test ecx, ecx
je 0x100c96ae
cmp dword [ebp - 0xe48], 0
je 0x100c96ae
mov eax, ecx
mov ecx, dword [ebp - 0xe38]
sub eax, dword [ebp - 0xe2c]
mov eax, dword [ecx + eax*4 - 4]
cdq
mov dword [ebp - 0xe40], eax
mov dword [ebp - 0xe30], edx
jmp 0x100c96c0
mov eax, dword [ebp - 0xe20]
mov dword [ebp - 0xe40], edi
mov dword [ebp - 0xe30], eax
mov edx, dword [ebp - 0xe14]
cmp esi, edx
mov ecx, edx
mov eax, edx
cmovg eax, esi
cmovl ecx, esi
sub esi, dword [ebp - 0xe40]
add esi, edx
cmp dword [ebp - 0xe40], ecx
cmovl esi, eax
cmp dword [ebp - 0xe40], eax
mov eax, dword [ebp - 0xe24]
cmovg esi, ecx
sub edx, dword [ebp - 0xe40]
sbb eax, dword [ebp - 0xe30]
add edx, edi
adc eax, dword [ebp - 0xe20]
cmp eax, 0xffffffff
jl 0x100c972a
jg 0x100c9715
cmp edx, 0xfffffe00
jbe 0x100c972a
test eax, eax
jl 0x100c972f
jg 0x100c9723
cmp edx, 0x1ff
jbe 0x100c972f
mov edx, 0x1ff
jmp 0x100c972f
mov edx, 0xfffffe00
movzx ecx, word [ebp + edx*2 - 0x810]
movsx eax, byte [ebp + edx - 0x210]
mov edx, dword [ebp - 0xe1c]
mov edi, dword [ebp - 0xe38]
mov edx, dword [edi + edx*4]
mov edi, dword [ebp - 0xe44]
sub edx, eax
sub edx, esi
lea esi, [ecx + ecx]
mov ecx, edx
not ecx
shr ecx, 0x1f
dec ecx
mov dword [edi], esi
mov esi, dword [ebp - 0xe3c]
lea eax, [edx + edx]
mov edx, dword [ebp - 0xe38]
xor ecx, eax
mov dword [edi + 4], ecx
add edi, 8
mov ecx, dword [ebp - 0xe1c]
mov eax, dword [esi + 0x18]
inc ecx
mov dword [ebp - 0xe14], eax
cmp ecx, eax
mov eax, dword [ebp - 0xe48]
mov dword [ebp - 0xe44], edi
mov dword [ebp - 0xe1c], ecx
jb 0x100c95e3
inc eax
mov dword [ebp - 0xe48], eax
cmp eax, dword [esi + 0x1c]
jb 0x100c95c0
jmp 0x100ca0b8
cmp eax, 1
jne 0x100c9b1e
cmp dword [edx + 4], 0
jne 0x100c9903
cmp dword [edx + 0xc], eax
jne 0x100c9903
mov eax, dword [edx + 0x18]
or eax, dword [edx + 0x1c]
jne 0x100c9903
test cl, cl
jne 0x100c9903
xor ecx, ecx
lea edi, [ebp - 0xe0c]
xor dl, dl
mov word [ebp - 0xe18], cx
mov ax, cx
mov dword [ebp - 0xe14], ecx
mov word [ebp - 0xe18], ax
mov byte [ebp - 0xe16], dl
movzx eax, byte [ebp + ecx - 0xe18]
xor esi, esi
movd xmm0, eax
cvtdq2ps xmm0, xmm0
cmp dword [edi], esi
jbe 0x100c9858
mov ecx, dword [edi - 4]
nop word [eax + eax]
mov edx, dword [edi + 0xc]
xor eax, eax
imul edx, esi
add edx, dword [edi + 0x10]
test ecx, ecx
je 0x100c984d
nop
movss dword [edx + eax*4], xmm0
inc eax
mov ecx, dword [edi - 4]
cmp eax, ecx
jb 0x100c9840
inc esi
cmp esi, dword [edi]
jb 0x100c9830
mov ecx, dword [ebp - 0xe14]
inc ecx
add edi, 0x18
mov dword [ebp - 0xe14], ecx
cmp ecx, 3
jb 0x100c9812
mov esi, dword [ebp - 0xe3c]
xor eax, eax
mov edi, dword [ebp - 0xe44]
mov dword [ebp - 0xe24], eax
cmp dword [esi + 0x1c], eax
jbe 0x100ca0b8
mov ecx, dword [esi + 0x18]
mov edx, dword [esi + 0x10]
imul edx, eax
xor eax, eax
mov dword [ebp - 0xe14], eax
add edx, dword [esi + 0x14]
mov dword [ebp - 0xe7c], edx
test ecx, ecx
je 0x100c98ec
mov ecx, dword [edx + eax*4]
mov edx, ecx
mov eax, dword [ebp - 0xec4]
not edx
shr edx, 0x1f
dec edx
mov eax, dword [eax + 8]
lea esi, [eax + eax]
lea eax, [ecx + ecx]
mov dword [edi], esi
mov esi, dword [ebp - 0xe3c]
xor edx, eax
mov eax, dword [ebp - 0xe14]
mov dword [edi + 4], edx
inc eax
mov edx, dword [ebp - 0xe7c]
add edi, 8
mov ecx, dword [esi + 0x18]
mov dword [ebp - 0xe14], eax
cmp eax, ecx
jb 0x100c98a2
mov dword [ebp - 0xe44], edi
mov eax, dword [ebp - 0xe24]
inc eax
mov dword [ebp - 0xe24], eax
cmp eax, dword [esi + 0x1c]
jb 0x100c9887
jmp 0x100ca0b8
cmp dword [edx + 4], 6
je 0x100c9b1e
mov ecx, dword [edx + 0xc]
lea eax, [ecx - 1]
test ecx, eax
jne 0x100c9b1e
mov eax, dword [edx + 0x18]
or eax, dword [edx + 0x1c]
mov al, byte [ebp + 0x28]
jne 0x100c9b21
test al, al
jne 0x100c9b21
xor esi, esi
lea edi, [ebp - 0xe0c]
mov dword [ebp - 0xe14], esi
push dword [edx + 4]
lea eax, [ebp - 0xe50]
push eax
call fcn.100cca90
mov ecx, eax
add esp, 8
mov ax, word [ecx]
mov word [ebp - 0xe18], ax
mov al, byte [ecx + 2]
mov byte [ebp - 0xe16], al
movzx eax, byte [ebp + esi - 0xe18]
xor esi, esi
movd xmm0, eax
cvtdq2ps xmm0, xmm0
cmp dword [edi], esi
jbe 0x100c99a8
mov ecx, dword [edi - 4]
nop
mov edx, dword [edi + 0xc]
xor eax, eax
imul edx, esi
add edx, dword [edi + 0x10]
test ecx, ecx
je 0x100c999d
nop
movss dword [edx + eax*4], xmm0
inc eax
mov ecx, dword [edi - 4]
cmp eax, ecx
jb 0x100c9990
inc esi
cmp esi, dword [edi]
jb 0x100c9980
mov edx, dword [ebp - 0xe7c]
mov esi, dword [ebp - 0xe14]
add edi, 0x18
inc esi
mov dword [ebp - 0xe14], esi
cmp esi, 3
jb 0x100c9940
mov eax, dword [ebp - 0xec4]
mov ecx, 0x1f
mov esi, dword [ebp - 0xe3c]
xor edx, edx
mov edi, dword [ebp - 0xe44]
mov dword [ebp - 0xe30], edx
mov eax, dword [eax + 0xc]
bsr eax, eax
sub ecx, eax
mov eax, dword [esi + 0x10]
xor ecx, 0x1f
shr eax, 2
mov dword [ebp - 0xe5c], ecx
mov dword [ebp - 0xe7c], eax
cmp dword [esi + 0x1c], edx
jbe 0x100ca0b8
mov eax, dword [esi + 0x18]
mov dword [ebp - 0xe24], eax
nop dword [eax + eax]
mov ecx, dword [esi + 0x10]
imul ecx, edx
xor edx, edx
mov dword [ebp - 0xe14], edx
add ecx, dword [esi + 0x14]
mov dword [ebp - 0xe2c], ecx
test eax, eax
je 0x100c9b03
nop
mov eax, dword [ebp - 0xec4]
push 0
push 0
push 0
push 0
push dword [eax + 4]
lea eax, [ebp - 0xc30]
push dword [ebp - 0xe30]
push edx
push dword [ebp - 0xe7c]
push ecx
push dword [ebp - 0xe24]
push 0
push eax
call fcn.10087bd0
add esp, 0x30
movups xmm1, xmmword [eax]
movq xmm0, qword [eax + 0x10]
mov eax, dword [ebp - 0xe2c]
movq qword [ebp - 0xc20], xmm0
movaps xmm0, xmm1
psrldq xmm0, 8
psrldq xmm1, 0xc
mov eax, dword [eax]
cdq
mov ecx, eax
movd eax, xmm0
sub ecx, eax
movd eax, xmm1
sbb edx, eax
mov eax, ecx
mov ecx, dword [ebp - 0xe5c]
call fcn.101e9cf0
mov ecx, eax
mov eax, dword [ebp - 0xec4]
mov edx, ecx
not edx
shr edx, 0x1f
mov eax, dword [eax + 8]
dec edx
lea esi, [eax + eax]
lea eax, [ecx + ecx]
mov dword [edi], esi
mov esi, dword [ebp - 0xe3c]
xor edx, eax
mov ecx, dword [ebp - 0xe2c]
mov dword [edi + 4], edx
add ecx, 4
mov edx, dword [ebp - 0xe14]
add edi, 8
mov eax, dword [esi + 0x18]
inc edx
mov dword [ebp - 0xe14], edx
mov dword [ebp - 0xe2c], ecx
mov dword [ebp - 0xe24], eax
cmp edx, eax
jb 0x100c9a30
mov dword [ebp - 0xe44], edi
mov edx, dword [ebp - 0xe30]
inc edx
mov dword [ebp - 0xe30], edx
cmp edx, dword [esi + 0x1c]
jb 0x100c9a10
jmp 0x100ca0b8
mov al, byte [ebp + 0x28]
cmp byte [ebp - 0xe71], 0
jne 0x100c9d1d
test al, al
jne 0x100c9d1d
mov eax, dword [esi + 0x10]
lea ecx, [ebp - 0xf10]
mov edi, dword [esi + 0x18]
shr eax, 2
mov dword [ebp - 0xe7c], eax
mov eax, dword [ebp - 0xe9c]
sub eax, dword [ebp - 0xea0]
sar eax, 2
push 4
push edi
lea esi, [eax - 0x10]
push esi
call fcn.10199ce0
mov dword [ebp - 0xef8], esi
mov dword [ebp - 0xef4], edi
mov dword [ebp - 0xef0], 0
mov dword [ebp - 0xeec], 0
mov edi, dword [ebp - 0xe3c]
xor edx, edx
mov byte [ebp - 4], 6
mov dword [ebp - 0xe20], edx
cmp dword [edi + 0x1c], edx
jbe 0x100c9d14
mov esi, dword [edi + 0x10]
lea eax, [ebp - 0xf10]
push eax
push dword [ebp - 0xe2c]
imul esi, edx
push dword [ebp - 0xe30]
push edx
push edi
add esi, dword [edi + 0x14]
mov dword [ebp - 0xe24], esi
call fcn.100cc8b0
mov ecx, dword [ebp - 0xea0]
add esp, 0x14
mov eax, dword [ebp - 0xc18]
mov edx, dword [ebp - 0xe20]
mov dword [ecx], eax
mov eax, dword [ebp - 0xc14]
mov dword [ecx + 4], eax
xor eax, eax
mov dword [ecx + 8], edx
mov dword [ecx + 0x24], 0
mov ecx, dword [edi + 0x18]
mov dword [ebp - 0xe14], eax
test ecx, ecx
je 0x100c9d04
nop word [eax + eax]
push 0
push 0
lea edi, [ebp - 0xf10]
push edi
lea edi, [ebp - 0xe28]
push edi
push 0
push edx
push eax
push dword [ebp - 0xe7c]
lea eax, [ebp - 0xea0]
push esi
push ecx
push eax
lea eax, [ebp - 0xf28]
push eax
call fcn.100c5000
add esp, 0x30
movups xmm1, xmmword [eax]
push ebx
movq xmm0, qword [eax + 0x10]
mov eax, dword [esi]
cdq
movq qword [ebp - 0xc20], xmm0
mov esi, eax
movaps xmm0, xmm1
mov ecx, edx
psrldq xmm0, 8
movd eax, xmm0
movups xmmword [ebp - 0xc30], xmm1
sub esi, eax
psrldq xmm1, 0xc
movd eax, xmm1
sbb ecx, eax
mov eax, dword [ebp - 0xc1c]
cdq
push edx
push eax
push ecx
push esi
call fcn.101e9c10
or ecx, ebx
pop ebx
nop
mov edi, dword [ebp - 0xe3c]
mov dword [ebp - 0xe5c], eax
mov dword [ebp - 0xec8], edx
jne 0x100ca1cc
mov eax, dword [ebp - 0xc30]
mov esi, dword [ebp - 0xe24]
add esi, 4
mov dword [ebp - 0xe24], esi
lea edx, [eax + eax]
mov eax, dword [ebp - 0xe5c]
mov ecx, eax
add eax, eax
not ecx
shr ecx, 0x1f
dec ecx
xor ecx, eax
mov eax, dword [ebp - 0xe44]
mov dword [eax], edx
mov edx, dword [ebp - 0xe20]
mov dword [eax + 4], ecx
add eax, 8
mov ecx, dword [edi + 0x18]
mov dword [ebp - 0xe44], eax
mov eax, dword [ebp - 0xe14]
inc eax
mov dword [ebp - 0xe14], eax
cmp eax, ecx
jb 0x100c9c10
inc edx
mov dword [ebp - 0xe20], edx
cmp edx, dword [edi + 0x1c]
jb 0x100c9ba1
mov byte [ebp - 4], 7
jmp 0x100ca0a5
mov eax, dword [esi + 0x10]
lea ecx, [ebp - 0xf10]
mov edi, dword [esi + 0x18]
shr eax, 2
mov dword [ebp - 0xe7c], eax
mov eax, dword [ebp - 0xe9c]
sub eax, dword [ebp - 0xea0]
sar eax, 2
push 4
push edi
lea esi, [eax - 0x10]
push esi
call fcn.10199ce0
mov dword [ebp - 0xef8], esi
mov dword [ebp - 0xef4], edi
mov dword [ebp - 0xef0], 0
mov dword [ebp - 0xeec], 0
mov esi, dword [ebp - 0xe3c]
mov byte [ebp - 4], 8
push dword [esi + 0x1c]
push dword [esi + 0x18]
sub esp, 0x34
mov ecx, esp
push dword [ebp - 0xe24]
call fcn.100c82d0
lea ecx, [ebp - 0xdc8]
call fcn.1008b590
xor edx, edx
mov byte [ebp - 4], 9
mov dword [ebp - 0xe38], edx
cmp dword [esi + 0x1c], edx
jbe 0x100ca096
nop dword [eax]
mov edi, dword [esi + 0x10]
lea eax, [ebp - 0xf10]
push eax
push dword [ebp - 0xe2c]
imul edi, edx
push dword [ebp - 0xe30]
push edx
push esi
add edi, dword [esi + 0x14]
mov dword [ebp - 0xe24], edi
call fcn.100cc8b0
mov ecx, dword [ebp - 0xea0]
add esp, 0x14
mov eax, dword [ebp - 0xc18]
mov edx, dword [ebp - 0xe38]
mov dword [ecx], eax
mov eax, dword [ebp - 0xc14]
mov dword [ecx + 4], eax
xor eax, eax
mov dword [ecx + 8], edx
mov dword [ecx + 0x24], 0
mov ecx, dword [esi + 0x18]
mov dword [ebp - 0xe1c], eax
test ecx, ecx
je 0x100ca086
mov esi, edx
and esi, 1
mov dword [ebp - 0xe14], esi
push 0
lea esi, [ebp - 0xdc8]
push esi
lea esi, [ebp - 0xf10]
push esi
lea esi, [ebp - 0xe28]
push esi
push 0
push edx
push eax
push dword [ebp - 0xe7c]
lea eax, [ebp - 0xea0]
push edi
push ecx
push eax
lea eax, [ebp - 0xf28]
push eax
call fcn.100c5430
add esp, 0x30
movups xmm1, xmmword [eax]
push ebx
movq xmm0, qword [eax + 0x10]
mov eax, dword [edi]
cdq
movq qword [ebp - 0xc20], xmm0
mov esi, eax
movaps xmm0, xmm1
mov ecx, edx
psrldq xmm0, 8
movd eax, xmm0
movups xmmword [ebp - 0xc30], xmm1
sub esi, eax
psrldq xmm1, 0xc
movd eax, xmm1
sbb ecx, eax
mov eax, dword [ebp - 0xc1c]
cdq
push edx
push eax
push ecx
push esi
call fcn.101e9c10
or ecx, ebx
pop ebx
nop
mov dword [ebp - 0xe5c], eax
mov dword [ebp - 0xec8], edx
jne 0x100ca14f
mov eax, dword [ebp - 0xc30]
lea edx, [eax + eax]
mov eax, dword [ebp - 0xe5c]
mov ecx, eax
add eax, eax
not ecx
shr ecx, 0x1f
dec ecx
xor ecx, eax
mov eax, dword [ebp - 0xe44]
mov dword [eax + 4], ecx
mov dword [eax], edx
add eax, 8
mov dword [ebp - 0xe44], eax
mov eax, dword [edi]
cdq
mov esi, eax
mov edi, edx
mov eax, dword [ebp - 0xe3c]
mov edx, dword [ebp - 0xe1c]
shld edi, esi, 3
mov ecx, dword [eax + 0x18]
xor eax, eax
add ecx, 2
shl esi, 3
cmp dword [ebp - 0xe14], eax
mov dword [ebp - 0xe40], ecx
cmove eax, ecx
mov ecx, dword [ebp - 0xd70]
add edx, eax
mov eax, dword [ebp - 0xda8]
sub eax, esi
mov dword [ebp - 0xe20], edx
mov dword [ecx + edx*4], eax
mov ecx, dword [ebp - 0xdc8]
mov eax, dword [ebp - 0xdc4]
sub ecx, esi
sbb eax, edi
cdq
xor eax, edx
xor ecx, edx
sub ecx, edx
sbb eax, edx
mov edx, dword [ebp - 0xe20]
add ecx, 3
adc eax, 0
shrd ecx, eax, 3
mov eax, dword [ebp - 0xda0]
mov dword [eax + edx*4], ecx
xor eax, eax
cmp dword [ebp - 0xe14], eax
mov edx, dword [ebp - 0xe40]
cmove edx, eax
mov eax, dword [ebp - 0xda0]
add edx, dword [ebp - 0xe1c]
shl edx, 2
mov dword [ebp - 0xe40], edx
add dword [edx + eax + 4], ecx
mov ecx, dword [ebp - 0xdc0]
mov eax, dword [ebp - 0xdbc]
sub ecx, esi
sbb eax, edi
cdq
xor eax, edx
xor ecx, edx
sub ecx, edx
sbb eax, edx
mov edx, dword [ebp - 0xe20]
add ecx, 3
adc eax, 0
shrd ecx, eax, 3
mov eax, dword [ebp - 0xd94]
mov dword [eax + edx*4], ecx
mov eax, dword [ebp - 0xd94]
mov edx, dword [ebp - 0xe40]
add dword [edx + eax + 4], ecx
mov ecx, dword [ebp - 0xdb8]
mov eax, dword [ebp - 0xdb4]
sub ecx, esi
sbb eax, edi
cdq
xor eax, edx
xor ecx, edx
sub ecx, edx
sbb eax, edx
mov edx, dword [ebp - 0xe20]
add ecx, 3
adc eax, 0
shrd ecx, eax, 3
mov eax, dword [ebp - 0xd88]
mov dword [eax + edx*4], ecx
mov eax, dword [ebp - 0xd88]
mov edx, dword [ebp - 0xe40]
add dword [edx + eax + 4], ecx
mov ecx, dword [ebp - 0xdb0]
mov eax, dword [ebp - 0xdac]
sub ecx, esi
mov esi, dword [ebp - 0xe3c]
sbb eax, edi
mov edi, dword [ebp - 0xe24]
cdq
xor eax, edx
xor ecx, edx
sub ecx, edx
sbb eax, edx
mov edx, dword [ebp - 0xe20]
add ecx, 3
adc eax, 0
add edi, 4
shrd ecx, eax, 3
mov eax, dword [ebp - 0xd7c]
mov dword [ebp - 0xe24], edi
mov dword [eax + edx*4], ecx
mov eax, dword [ebp - 0xd7c]
mov edx, dword [ebp - 0xe40]
add dword [edx + eax + 4], ecx
mov eax, dword [ebp - 0xe1c]
mov ecx, dword [esi + 0x18]
inc eax
mov edx, dword [ebp - 0xe38]
mov dword [ebp - 0xe1c], eax
cmp eax, ecx
jb 0x100c9e21
inc edx
mov dword [ebp - 0xe38], edx
cmp edx, dword [esi + 0x1c]
jb 0x100c9db0
lea ecx, [ebp - 0xdc8]
call fcn.1008be00
mov byte [ebp - 4], 0xa
mov eax, dword [ebp - 0xefc]
test eax, eax
je 0x100ca0b8
push eax
call fcn.100de900
add esp, 4
mov edx, dword [ebp - 0xedc]
mov esi, dword [ebp - 0xed8]
mov ecx, dword [ebp - 0xea0]
mov eax, dword [ebp - 0xe44]
mov dword [edx], eax
mov dword [esi], 0
mov byte [ebp - 4], 3
test ecx, ecx
je 0x100ca116
mov eax, dword [ebp - 0xe98]
sub eax, ecx
sar eax, 2
lea edx, [eax*4]
mov eax, ecx
cmp edx, 0x1000
jb 0x100ca10c
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100ca149
push edx
push ecx
call fcn.101e8bf4
add esp, 8
mov edx, dword [ebp - 0xec4]
mov byte [ebp - 4], 0
test edx, edx
je 0x100ca186
mov ecx, dword [ebp - 0xebc]
mov eax, edx
sub ecx, edx
and ecx, 0xffffffe0
cmp ecx, 0x1000
jb 0x100ca15e
mov edx, dword [edx - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x100ca15e
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push str.residual___res.multiplier__0
push 0x169
jmp 0x100ca1d6
push ecx
push edx
call fcn.101e8bf4
add esp, 8
mov dword [ebp - 0xec4], 0
mov dword [ebp - 0xec0], 0
mov dword [ebp - 0xebc], 0
push fcn.100075e0
push 3
push 0x18
lea eax, [ebp - 0xe10]
mov dword [ebp - 4], 0x10
push eax
call fcn.101e8aaf
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.101e8c02
mov esp, ebp
pop ebp
ret
push str.channel.w___0__channel.h___0
push 0xaa
jmp 0x100ca1d6
push str.residual___res.multiplier__0
push 0x14d
push 0x10204d5c
push str._s:_d:_JXL_ASSERT:__s_n
call fcn.100def30
add esp, 0x10
call fcn.100def20
int3