Function at 0x100bfa00
Capabilities:
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x184
cmp dword [esp + 0x194], 0
push ebx
mov ebx, dword [esp + 0x18c]
push ebp
mov ebp, dword [esp + 0x1a4]
push esi
mov esi, dword [esp + 0x198]
push edi
je 0x100bfa7a
mov esi, dword [esp + 0x1b0]
test esi, esi
je 0x100bfa5d
push esi
call fcn.1009aec0
push 0x101aa614
push 1
push ebp
call fcn.1008aab0
push esi
call fcn.1009aed0
add esp, 0x14
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x184
ret
push 0x101aa614
push 1
push ebp
call fcn.1008aab0
add esp, 0xc
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x184
ret
mov ecx, dword [esi + 0x10]
sub ecx, dword [esi + 8]
mov eax, dword [esi + 0x14]
mov ebp, ecx
sub eax, dword [esi + 0xc]
imul ebp, eax
mov dword [esp + 0x108], ecx
mov dword [esp + 0x2c], eax
lea ecx, [ebp*4]
mov dword [esp + 0x18], ecx
cmp ebp, dword [ebx + 0x84]
jbe 0x100bfad6
push dword [ebx + 0x74]
call fcn.1008aa00
lea eax, [ebp*4]
push eax
call fcn.1008aa10
add esp, 8
mov dword [ebx + 0x74], eax
test eax, eax
je 0x100c79a9
mov ecx, dword [esp + 0x18]
mov dword [ebx + 0x84], ebp
mov eax, dword [ebx + 0x74]
test eax, eax
je 0x100bfae9
push ecx
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
cmp dword [ebx + 0x88], 0xa50
jae 0x100bfb15
push dword [ebx + 0x78]
call fcn.1008aa00
push 0xa50
call fcn.1008aa10
add esp, 8
mov dword [ebx + 0x78], eax
test eax, eax
je 0x100c79a9
push 0xa50
mov dword [ebx + 0x88], 0xa50
push 0
push dword [ebx + 0x78]
call sub.VCRUNTIME140.dll_memset
mov eax, dword [esp + 0x114]
add esp, 0xc
mov dword [ebx + 0x7c], eax
mov eax, dword [esp + 0x2c]
mov dword [ebx + 0x80], eax
mov eax, dword [esi + 0x18]
test eax, eax
je 0x100c790e
sub eax, dword [esi + 0x1c]
xor edi, edi
inc eax
xor ecx, ecx
mov dword [esp + 0x108], eax
mov eax, dword [esi + 0x34]
test eax, eax
je 0x100bfbf8
cmp eax, 8
jb 0x100bfbf8
mov edi, dword [esi + 4]
mov edx, eax
and edx, 0xfffffff8
xorps xmm5, xmm5
xorps xmm4, xmm4
movd xmm2, dword [edi + ecx*8 + 0x1c]
movd xmm0, dword [edi + ecx*8 + 0x14]
movd xmm1, dword [edi + ecx*8 + 0xc]
movd xmm3, dword [edi + ecx*8 + 4]
punpckldq xmm3, xmm0
movd xmm0, dword [edi + ecx*8 + 0x34]
punpckldq xmm1, xmm2
movd xmm2, dword [edi + ecx*8 + 0x3c]
punpckldq xmm3, xmm1
movd xmm1, dword [edi + ecx*8 + 0x2c]
paddd xmm5, xmm3
movd xmm3, dword [edi + ecx*8 + 0x24]
add ecx, 8
punpckldq xmm3, xmm0
punpckldq xmm1, xmm2
punpckldq xmm3, xmm1
paddd xmm4, xmm3
cmp ecx, edx
jb 0x100bfb81
paddd xmm4, xmm5
movaps xmm0, xmm4
psrldq xmm0, 8
paddd xmm4, xmm0
movups xmm0, xmm4
psrldq xmm0, 4
paddd xmm4, xmm0
movd edi, xmm4
xor edx, edx
xor ebp, ebp
cmp ecx, eax
jae 0x100bfc3f
sub eax, ecx
cmp eax, 2
jb 0x100bfc30
mov eax, dword [esi + 0x34]
lea ebx, [eax - 1]
mov dword [esp + 0x18], ebx
mov ebx, dword [esi + 4]
add edx, dword [ebx + ecx*8 + 4]
add ebp, dword [ebx + ecx*8 + 0xc]
add ecx, 2
cmp ecx, dword [esp + 0x18]
jb 0x100bfc14
mov ebx, dword [esp + 0x198]
cmp ecx, eax
jae 0x100bfc37
mov eax, dword [esi + 4]
add edi, dword [eax + ecx*8 + 4]
lea eax, [edx + ebp]
add edi, eax
mov eax, dword [esi + 0x34]
cmp eax, 1
ja 0x100bfc61
cmp dword [ebx + 0x90], 0
jne 0x100bfc61
cmp eax, 1
jne 0x100c790e
mov eax, dword [esi + 4]
mov ebp, dword [eax]
mov dword [esp + 0x64], ebp
jmp 0x100bfcd1
cmp edi, dword [ebx + 0x98]
jbe 0x100bfc8c
push edi
push dword [ebx + 0x94]
call fcn.1008aa90
add esp, 8
test eax, eax
je 0x100c79a9
mov dword [ebx + 0x94], eax
mov dword [ebx + 0x98], edi
mov eax, dword [ebx + 0x94]
xor edi, edi
xor ebp, ebp
mov dword [esp + 0x64], eax
cmp dword [esi + 0x34], edi
jbe 0x100bfccd
mov eax, dword [esi + 4]
mov ebx, dword [esp + 0x64]
push dword [eax + ebp*8 + 4]
push dword [eax + ebp*8]
lea eax, [edi + ebx]
push eax
call sub.VCRUNTIME140.dll_memcpy
mov eax, dword [esi + 4]
add esp, 0xc
add edi, dword [eax + ebp*8 + 4]
inc ebp
cmp ebp, dword [esi + 0x34]
jb 0x100bfca6
mov ebx, dword [esp + 0x198]
mov ebp, dword [esp + 0x64]
mov ecx, dword [esi + 0x28]
mov eax, dword [ebx + 0x74]
mov dword [esp + 0x10c], eax
test ecx, ecx
je 0x100bfcf1
mov eax, dword [esi]
mov edx, dword [eax + 8]
cmp ecx, 1
jbe 0x100bfcf3
mov eax, dword [eax + 0x20]
jmp 0x100bfcf5
xor edx, edx
xor eax, eax
add edx, eax
mov dword [esp + 0xd4], edx
je 0x100bfd16
mov eax, dword [esi]
mov ecx, dword [eax]
mov dword [esp + 0x20], ecx
cmp edx, 1
jbe 0x100bfd1c
mov edx, dword [eax + 0x18]
mov dword [esp + 0x20], ecx
jmp 0x100bfd1e
xor ecx, ecx
mov dword [esp + 0x20], ecx
xor edx, edx
mov eax, dword [esi + 0x10]
sub eax, dword [esi + 8]
mov dword [esp + 0x3c], eax
mov eax, dword [esi + 0x14]
sub eax, dword [esi + 0xc]
cmp dword [esp + 0xd4], 1
mov dword [esp + 0x104], eax
mov eax, dword [ebx + 0x78]
mov dword [esp + 0xc0], edx
mov dword [esp + 0x100], eax
mov dword [esp + 0xc8], eax
lea ecx, [eax + 0x210]
mov dword [esp + 0xf8], 0
mov dword [esp + 0x110], ecx
mov ecx, dword [esp + 0x1b0]
jbe 0x100bfdec
test edx, edx
jne 0x100bfdec
test ecx, ecx
je 0x100bfdc0
push ecx
call fcn.1009aec0
mov ebx, dword [esp + 0x1b0]
push str.A_malformed_codeblock_that_has_more_than_one_coding_pass__but_zero_length_for_2nd_and_potentially_the_3rd_pass_in_an_HT_codeblock._n
push 2
push ebx
call fcn.1008aab0
mov eax, dword [esp + 0x1c0]
push eax
call fcn.1009aed0
mov ecx, dword [esp + 0x1c4]
mov edx, 1
add esp, 0x14
mov dword [esp + 0xd4], edx
jmp 0x100bfe61
mov ebx, dword [esp + 0x1ac]
push str.A_malformed_codeblock_that_has_more_than_one_coding_pass__but_zero_length_for_2nd_and_potentially_the_3rd_pass_in_an_HT_codeblock._n
push 2
push ebx
call fcn.1008aab0
mov ecx, dword [esp + 0x1bc]
mov edx, 1
add esp, 0xc
mov dword [esp + 0xd4], edx
jmp 0x100bfe61
mov edx, dword [esp + 0xd4]
cmp edx, 3
jbe 0x100bfe5a
mov esi, ecx
test esi, esi
je 0x100bfe35
push esi
call fcn.1009aec0
push dword [esp + 0xd8]
mov ebx, dword [esp + 0x1b4]
push str.We_do_not_support_more_than_3_coding_passes_in_an_HT_codeblock__This_codeblocks_has__d_passes._n
push 1
push ebx
call fcn.1008aab0
push esi
call fcn.1009aed0
add esp, 0x18
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x184
ret
mov ebx, dword [esp + 0x1ac]
push edx
push str.We_do_not_support_more_than_3_coding_passes_in_an_HT_codeblock__This_codeblocks_has__d_passes._n
push 1
push ebx
call fcn.1008aab0
add esp, 0x10
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x184
ret
mov ebx, dword [esp + 0x1ac]
mov eax, dword [esi + 0x18]
cmp eax, 0x1e
jbe 0x100bfebe
test ecx, ecx
je 0x100bfea0
push ecx
call fcn.1009aec0
push dword [esi + 0x18]
push str.32_bits_are_not_enough_to_decode_this_codeblock__since_the_number_of_bitplane___d__is_larger_than_30._n
push 1
push ebx
call fcn.1008aab0
mov eax, dword [esp + 0x1c4]
push eax
call fcn.1009aed0
add esp, 0x18
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x184
ret
push eax
push str.32_bits_are_not_enough_to_decode_this_codeblock__since_the_number_of_bitplane___d__is_larger_than_30._n
push 1
push ebx
call fcn.1008aab0
add esp, 0x10
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x184
ret
mov ebx, dword [esp + 0x108]
cmp ebx, eax
jbe 0x100bff2c
test ecx, ecx
je 0x100bff07
push ecx
call fcn.1009aec0
push dword [esi + 0x18]
push ebx
push str.Malformed_HT_codeblock._Decoding_this_codeblock_is_stopped._There_are__d_zero_bitplanes_in__d_bitplanes._n
push 1
push dword [esp + 0x1c0]
call fcn.1008aab0
mov eax, dword [esp + 0x1c8]
push eax
call fcn.1009aed0
add esp, 0x1c
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x184
ret
push eax
push ebx
push str.Malformed_HT_codeblock._Decoding_this_codeblock_is_stopped._There_are__d_zero_bitplanes_in__d_bitplanes._n
push 1
push dword [esp + 0x1bc]
call fcn.1008aab0
add esp, 0x14
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x184
ret
jne 0x100bffa2
cmp edx, 1
jbe 0x100bffa2
cmp dword [0x101ec1ac], 0
jne 0x100bff97
test ecx, ecx
je 0x100bff59
push ecx
call fcn.1009aec0
add esp, 4
cmp dword [0x101ec1ac], 0
jne 0x100bff87
mov edx, dword [esp + 0xd4]
push edx
push str.Malformed_HT_codeblock._When_the_number_of_zero_planes_bitplanes_is_equal_to_the_number_of_bitplanes__only_the_cleanup_pass_makes_sense__but_we_have__d_passes_in_this_codeblock._Therefore__only_the_cleanup_pass_will_be_decoded._This_message_will_not_be_displayed_again._n
push 2
push dword [esp + 0x1b8]
mov dword [0x101ec1ac], 1
call fcn.1008aab0
mov eax, dword [esp + 0x1c0]
add esp, 0x10
test eax, eax
je 0x100bff97
jmp 0x100bff8e
mov eax, dword [esp + 0x1b0]
push eax
call fcn.1009aed0
add esp, 4
mov dword [esp + 0xd4], 1
mov edx, dword [esp + 0x20]
inc ebx
mov eax, dword [esi + 0x1c]
mov dword [esp + 0xd0], eax
mov dword [esp + 0x108], ebx
cmp edx, 2
jb 0x100c797b
cmp edx, edi
ja 0x100c797b
mov eax, dword [esp + 0xc0]
add eax, edx
mov dword [esp + 0x8c], eax
cmp eax, edi
ja 0x100c797b
movzx ecx, byte [edx + ebp - 1]
lea ebx, [edx + ebp]
movzx eax, byte [ebx - 2]
shl ecx, 4
and eax, 0xf
add eax, ecx
mov dword [esp + 0x90], ebx
mov dword [esp + 0x54], eax
cmp eax, 2
jb 0x100c791e
cmp eax, edx
jg 0x100c791e
cmp eax, 0xfef
ja 0x100c791e
sub edx, eax
xor ecx, ecx
mov dword [esp + 0xf4], ecx
xorps xmm0, xmm0
mov dword [esp + 0x80], ecx
mov ecx, 4
mov dword [esp + 0x20], edx
lea esi, [edx + ebp]
movlpd qword [esp + 0x70], xmm0
lea ebp, [eax - 1]
mov dword [esp + 0x60], esi
mov eax, esi
mov dword [esp + 0xa4], ebp
and eax, 3
movlpd qword [esp + 0x18c], xmm0
xor edx, edx
sub ecx, eax
mov dword [esp + 0x50], edx
mov dword [esp + 0xe4], edx
mov dword [esp + 0x84], ecx
test ecx, ecx
jle 0x100c0195
mov edi, dword [esp + 0x74]
mov ebx, dword [esp + 0x70]
jmp 0x100c0097
mov ebp, dword [esp + 0xa4]
mov eax, ebp
mov ecx, esi
mov dword [esp + 0x18], eax
test ebp, ebp
jle 0x100c0129
movzx eax, byte [esi]
mov ecx, dword [esp + 0xa4]
cdq
mov dword [esp + 0x2c], edx
mov ebp, eax
cmp ecx, 1
jne 0x100c00c4
or ebp, 0xf
mov dword [esp + 0x2c], edx
dec ecx
mov eax, ebx
mov dword [esp + 0xa4], ecx
mov edx, edi
xor ecx, ecx
cmp dword [esp + 0x18], ecx
setg cl
add esi, ecx
mov dword [esp + 0x60], esi
mov esi, 8
sub esi, dword [esp + 0xe4]
mov ecx, esi
call fcn.10104c00
mov edi, edx
mov ebx, eax
mov edx, dword [esp + 0x50]
or ebx, ebp
mov eax, dword [esp + 0x2c]
add edx, esi
or edi, eax
mov dword [esp + 0x70], ebx
mov dword [esp + 0x74], edi
mov dword [esp + 0x50], edx
cmp ebp, 0xff
jne 0x100c011c
test eax, eax
je 0x100c0171
mov dword [esp + 0xe4], 0
jmp 0x100c017c
xor edx, edx
mov esi, 8
sub esi, dword [esp + 0xe4]
dec ebp
test eax, eax
mov dword [esp + 0xa4], ebp
mov eax, ebx
setg dl
add edx, ecx
mov ecx, esi
mov dword [esp + 0x60], edx
mov edx, edi
call fcn.10104c00
mov edi, edx
mov ebx, eax
mov edx, dword [esp + 0x50]
or ebx, 0xff
add edx, esi
mov dword [esp + 0x70], ebx
mov dword [esp + 0x74], edi
mov dword [esp + 0x50], edx
mov dword [esp + 0xe4], 1
sub dword [esp + 0x84], 1
mov esi, dword [esp + 0x60]
jne 0x100c0090
mov ebx, dword [esp + 0x90]
movzx ecx, byte [ebx - 2]
lea edi, [ebx - 3]
movq xmm1, qword [esp + 0x70]
mov eax, 0x40
mov ebp, dword [esp + 0x54]
sub eax, edx
mov dword [esp + 0x84], eax
add ebp, 0xfffffffe
mov dword [esp + 0xe0], ebp
mov edx, 3
mov dword [esp + 0xc4], edi
movd xmm0, eax
mov eax, ecx
shr eax, 4
mov dword [esp + 0x44], eax
and eax, 7
mov dword [esp + 0x48], 0
psllq xmm1, xmm0
movq qword [esp + 0x70], xmm1
cmp eax, 7
je 0x100c01f6
mov edx, 4
or ecx, 0xf
mov dword [esp + 0x78], edx
mov eax, 0x8f
cmp eax, ecx
mov eax, edi
mov ecx, ebp
sbb ebx, ebx
and eax, 3
inc eax
neg ebx
cmp eax, ebp
mov dword [esp + 0xe8], ebx
cmovl ecx, eax
mov dword [esp + 0x18], ecx
test ecx, ecx
jle 0x100c02b0
mov ebp, ecx
nop word [eax + eax]
movzx eax, byte [edi]
dec edi
cmp dword [esp + 0xe8], 0
cdq
mov esi, eax
mov dword [esp + 0xc4], edi
mov ebx, edx
je 0x100c0259
mov ecx, esi
and ecx, 0x7f
cmp ecx, 0x7f
jne 0x100c0259
lea edi, [ecx - 0x7e]
jmp 0x100c025b
xor edi, edi
mov ecx, dword [esp + 0x78]
mov eax, esi
mov edx, ebx
call fcn.10104c00
or dword [esp + 0x44], eax
mov eax, 8
or dword [esp + 0x48], edx
sub eax, edi
mov edx, dword [esp + 0x78]
add edx, eax
mov dword [esp + 0x78], edx
test ebx, ebx
jne 0x100c028d
cmp esi, 0x8f
jbe 0x100c0292
mov ebx, 1
mov edi, dword [esp + 0xc4]
mov dword [esp + 0xe8], ebx
sub ebp, 1
jne 0x100c0230
mov ecx, dword [esp + 0x18]
mov ebp, dword [esp + 0xe0]
sub ebp, ecx
mov dword [esp + 0xe0], ebp
cmp edx, 0x20
ja 0x100c03dc
xor edx, edx
cmp ebp, 3
jle 0x100c02d4
mov edx, dword [edi - 3]
sub edi, 4
add ebp, 0xfffffffc
jmp 0x100c02f0
test ebp, ebp
jle 0x100c02fe
mov ecx, 0x18
nop dword [eax]
movzx eax, byte [edi]
dec ebp
shl eax, cl
dec edi
or edx, eax
sub ecx, 8
test ebp, ebp
jg 0x100c02e0
mov dword [esp + 0xe0], ebp
mov dword [esp + 0xc4], edi
mov ebp, edx
shr ebp, 0x18
mov edi, ebp
test ebx, ebx
je 0x100c0317
mov eax, ebp
mov esi, 7
and eax, 0x7f
cmp al, 0x7f
je 0x100c031c
mov esi, 8
mov ebx, edx
mov ecx, esi
shr ebx, 0x10
movzx eax, bl
mov dword [esp + 0x18], eax
shl eax, cl
or edi, eax
cmp ebp, 0x8f
jbe 0x100c0345
and ebx, 0x7f
cmp bl, 0x7f
jne 0x100c0345
mov eax, 1
jmp 0x100c0347
xor eax, eax
sub esi, eax
mov ebx, edx
shr ebx, 8
add esi, 8
movzx eax, bl
mov ecx, esi
mov dword [esp + 0x2c], eax
shl eax, cl
or edi, eax
cmp dword [esp + 0x18], 0x8f
jbe 0x100c0377
and ebx, 0x7f
cmp bl, 0x7f
jne 0x100c0377
mov ecx, 1
jmp 0x100c0379
xor ecx, ecx
mov eax, 8
movzx ebp, dl
sub eax, ecx
add esi, eax
mov eax, ebp
mov ecx, esi
shl eax, cl
or edi, eax
cmp dword [esp + 0x2c], 0x8f
jbe 0x100c03a6
and edx, 0x7f
cmp dl, 0x7f
jne 0x100c03a6
mov ebx, 1
jmp 0x100c03a8
xor ebx, ebx
mov eax, edi
xor edx, edx
mov edi, dword [esp + 0x78]
mov ecx, edi
call fcn.10104c00
or dword [esp + 0x44], eax
sub esi, ebx
or dword [esp + 0x48], edx
add edi, 8
add edi, esi
mov eax, 0x8f
cmp eax, ebp
mov dword [esp + 0x78], edi
sbb eax, eax
neg eax
mov dword [esp + 0xe8], eax
mov eax, dword [esp + 0x64]
mov ecx, 4
mov edx, eax
xorps xmm0, xmm0
and eax, 3
mov dword [esp + 0x14], edx
sub ecx, eax
movlpd qword [esp + 0x12c], xmm0
xor ebp, ebp
mov dword [esp + 0x2c], ecx
xor edi, edi
test ecx, ecx
jle 0x100c04b5
mov eax, dword [esp + 0x130]
mov ecx, dword [esp + 0x12c]
mov dword [esp + 0x24], eax
mov dword [esp + 0x30], ecx
jmp 0x100c0428
mov eax, dword [esp + 0x24]
mov esi, ecx
mov ebx, eax
mov ecx, dword [esp + 0x20]
mov eax, ecx
dec ecx
mov dword [esp + 0x20], ecx
mov ecx, ebp
test eax, eax
jle 0x100c0480
mov al, byte [edx]
inc edx
movzx eax, al
mov dword [esp + 0x14], edx
cdq
mov esi, eax
mov ebx, edx
call fcn.10104c00
mov ecx, dword [esp + 0x30]
or dword [esp + 0x24], edx
or ecx, eax
mov eax, 8
mov dword [esp + 0x30], ecx
sub eax, edi
add ebp, eax
cmp esi, 0xff
jne 0x100c0474
test ebx, ebx
je 0x100c049f
mov edx, dword [esp + 0x14]
xor edi, edi
mov dword [esp + 0x14], edx
jmp 0x100c04a8
mov eax, 0xff
xor edx, edx
call fcn.10104c00
mov ecx, eax
or edx, ebx
or ecx, esi
mov dword [esp + 0x24], edx
sub ebp, edi
mov dword [esp + 0x30], ecx
add ebp, 8
mov edx, dword [esp + 0x14]
mov edi, 1
sub dword [esp + 0x2c], 1
jne 0x100c0424
jmp 0x100c04cb
mov ecx, dword [esp + 0x130]
mov eax, dword [esp + 0x12c]
mov dword [esp + 0x24], ecx
mov dword [esp + 0x30], eax
mov esi, dword [esp + 0x20]
cmp esi, 3
jle 0x100c04e6
mov ecx, dword [edx]
add edx, 4
sub esi, 4
mov dword [esp + 0x14], edx
mov dword [esp + 0x20], esi
jmp 0x100c0522
test esi, esi
jle 0x100c051f
xor ecx, ecx
or ebx, 0xffffffff
jmp 0x100c04f5
mov edx, dword [esp + 0x14]
movzx edx, byte [edx]
mov eax, 0xff
inc dword [esp + 0x14]
dec esi
shl eax, cl
not eax
shl edx, cl
and ebx, eax
add ecx, 8
or ebx, edx
test esi, esi
jg 0x100c04f1
mov dword [esp + 0x20], esi
mov ecx, ebx
mov dword [esp + 0x40], ebx
jmp 0x100c0526
or ecx, 0xffffffff
mov dword [esp + 0x40], ecx
mov eax, ecx
mov ebx, 8
shr eax, 8
sub ebx, edi
movzx edx, al
movzx eax, cl
mov edi, edx
mov ecx, ebx
shl edi, cl
xor ecx, ecx
or edi, eax
cmp eax, 0xff
mov eax, 8
sete cl
sub eax, ecx
add ebx, eax
mov eax, dword [esp + 0x40]
shr eax, 0x10
mov ecx, ebx
movzx esi, al
mov eax, esi
shl eax, cl
xor ecx, ecx
or edi, eax
cmp edx, 0xff
mov eax, 8
sete cl
sub eax, ecx
xor ecx, ecx
add ebx, eax
mov eax, dword [esp + 0x40]
shr eax, 0x18
cmp eax, 0xff
sete cl
xor edx, edx
mov dword [esp + 0x28], ecx
mov ecx, ebx
shl eax, cl
mov ecx, ebp
or eax, edi
call fcn.10104c00
or dword [esp + 0x30], eax
xor eax, eax
or dword [esp + 0x24], edx
cmp esi, 0xff
sete al
sub ebx, eax
lea eax, [ebx + 8]
add eax, ebp
cmp dword [esp + 0xd4], 1
mov dword [esp + 0x1c], eax
jbe 0x100c0812
mov esi, dword [esp + 0x90]
mov ecx, 4
mov ebp, dword [esp + 0xc0]
mov eax, esi
and eax, 3
mov dword [esp + 0xbc], 0
xorps xmm0, xmm0
mov dword [esp + 0xec], ebp
sub ecx, eax
movlpd qword [esp + 0x14c], xmm0
mov ebx, dword [esp + 0x14c]
xor edi, edi
mov dword [esp + 0x114], edi
mov dword [esp + 0xcc], ecx
test ecx, ecx
jle 0x100c06d5
mov edx, dword [esp + 0x150]
mov dword [esp + 0xb0], edx
jmp 0x100c0637
mov edx, dword [esp + 0xb0]
mov eax, ebp
dec ebp
mov dword [esp + 0xec], ebp
test eax, eax
jle 0x100c06a0
mov al, byte [esi]
inc esi
mov ecx, dword [esp + 0xbc]
movzx eax, al
cdq
mov dword [esp + 0x90], esi
mov ebp, edx
mov esi, eax
call fcn.10104c00
or dword [esp + 0xb0], edx
or ebx, eax
mov ecx, dword [esp + 0xcc]
mov eax, 8
sub eax, edi
add dword [esp + 0xbc], eax
cmp esi, 0xff
mov esi, dword [esp + 0x90]
jne 0x100c06ba
test ebp, ebp
jne 0x100c06ba
lea edi, [ebp + 1]
mov dword [esp + 0x90], esi
jmp 0x100c06bc
mov dword [esp + 0xb0], edx
mov edx, dword [esp + 0xbc]
sub edx, edi
add edx, 8
mov dword [esp + 0xbc], edx
xor edi, edi
mov ebp, dword [esp + 0xec]
sub ecx, 1
mov dword [esp + 0xcc], ecx
jne 0x100c0630
jmp 0x100c06e3
mov eax, dword [esp + 0x150]
mov dword [esp + 0xb0], eax
mov dword [esp + 0x38], ebx
cmp ebp, 3
jle 0x100c0704
mov edx, dword [esi]
add esi, 4
sub ebp, 4
mov dword [esp + 0x90], esi
mov dword [esp + 0xec], ebp
jmp 0x100c0749
test ebp, ebp
jle 0x100c0747
xor ecx, ecx
xor ebx, ebx
nop dword [eax]
movzx edx, byte [esi]
mov eax, 0xff
shl eax, cl
dec ebp
not eax
shl edx, cl
and ebx, eax
inc esi
or ebx, edx
add ecx, 8
test ebp, ebp
jg 0x100c0710
mov dword [esp + 0x10], ebx
mov ebx, dword [esp + 0x38]
mov edx, dword [esp + 0x10]
mov dword [esp + 0x90], esi
mov dword [esp + 0xec], ebp
jmp 0x100c074d
xor edx, edx
mov dword [esp + 0x10], edx
mov eax, edx
mov ecx, 8
shr eax, 8
sub ecx, edi
movzx esi, al
movzx edx, dl
mov eax, esi
shl eax, cl
or eax, edx
mov dword [esp + 0x18], eax
xor eax, eax
cmp edx, 0xff
mov edx, dword [esp + 0x10]
sete al
sub ecx, eax
mov eax, edx
shr eax, 0x10
movzx ebp, al
xor eax, eax
cmp esi, 0xff
mov esi, dword [esp + 0xbc]
lea edi, [ecx + 8]
setne al
add ecx, 7
add eax, ecx
shr edx, 0x18
xor ecx, ecx
mov dword [esp + 0x2c], eax
cmp edx, 0xff
mov dword [esp + 0x10], edx
sete cl
mov dword [esp + 0x118], ecx
lea ecx, [eax + 8]
mov eax, edx
mov edx, ebp
shl eax, cl
mov ecx, edi
shl edx, cl
mov ecx, esi
or eax, edx
xor edx, edx
or eax, dword [esp + 0x18]
call fcn.10104c00
or ebx, eax
mov eax, dword [esp + 0xb0]
or eax, edx
mov dword [esp + 0x14c], ebx
mov dword [esp + 0xb0], eax
mov dword [esp + 0x150], eax
xor eax, eax
cmp ebp, 0xff
setne al
add eax, 0xf
add eax, dword [esp + 0x2c]
add esi, eax
mov dword [esp + 0xbc], esi
jmp 0x100c086d
mov eax, dword [esp + 0x150]
mov ecx, dword [esp + 0xd8]
mov ebx, dword [esp + 0x14c]
mov dword [esp + 0xb0], eax
mov eax, dword [esp + 0xd8]
mov dword [esp + 0x90], eax
mov eax, dword [esp + 0xd8]
mov dword [esp + 0xbc], eax
mov eax, dword [esp + 0xd8]
mov dword [esp + 0xec], eax
mov eax, dword [esp + 0xd8]
mov dword [esp + 0x118], ecx
mov dword [esp + 0x114], eax
cmp dword [esp + 0xd4], 2
mov dword [esp + 0x38], ebx
jbe 0x100c0af1
mov ecx, dword [esp + 0x8c]
xorps xmm0, xmm0
mov edi, dword [esp + 0x64]
dec ecx
add edi, ecx
movlpd qword [esp + 0x12c], xmm0
mov edx, dword [esp + 0x130]
mov eax, edi
mov ecx, 1
mov dword [esp + 0xb8], edi
and eax, 3
mov dword [esp + 0xfc], ecx
add eax, ecx
mov dword [esp + 0xb4], 0
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x12c]
mov dword [esp + 0xf0], edx
mov dword [esp + 0x98], eax
je 0x100c09b1
mov ebx, dword [esp + 0xc0]
nop dword [eax + eax]
mov eax, ebx
dec ebx
test eax, eax
jle 0x100c090b
mov al, byte [edi]
dec edi
movzx eax, al
cdq
mov dword [esp + 0xb8], edi
mov esi, eax
mov edi, edx
jmp 0x100c0925
xorps xmm0, xmm0
movlpd qword [esp + 0xd8], xmm0
mov edi, dword [esp + 0xdc]
mov esi, dword [esp + 0xd8]
test ecx, ecx
je 0x100c0938
mov eax, esi
and eax, 0x7f
cmp eax, 0x7f
jne 0x100c0938
lea ebp, [eax - 0x7e]
jmp 0x100c093a
xor ebp, ebp
mov ecx, dword [esp + 0xb4]
mov eax, esi
mov edx, edi
call fcn.10104c00
or dword [esp + 0x98], eax
mov eax, 8
or dword [esp + 0xf0], edx
sub eax, ebp
mov edx, dword [esp + 0xb4]
add edx, eax
mov dword [esp + 0xb4], edx
test edi, edi
jne 0x100c097f
cmp esi, 0x8f
ja 0x100c097f
xor ecx, ecx
jmp 0x100c0984
mov ecx, 1
sub dword [esp + 0x2c], 1
mov edi, dword [esp + 0xb8]
jne 0x100c08f0
mov dword [esp + 0xc0], ebx
mov ebx, dword [esp + 0x38]
mov dword [esp + 0xfc], ecx
cmp edx, 0x20
ja 0x100c0b45
mov esi, dword [esp + 0xc0]
xor edx, edx
cmp esi, 3
jle 0x100c09ca
mov edx, dword [edi - 3]
sub edi, 4
sub esi, 4
jmp 0x100c09e3
test esi, esi
jle 0x100c09f1
mov ecx, 0x18
movzx eax, byte [edi]
dec esi
shl eax, cl
dec edi
or edx, eax
sub ecx, 8
test esi, esi
jg 0x100c09d3
mov dword [esp + 0xc0], esi
mov dword [esp + 0xb8], edi
mov ebp, edx
shr ebp, 0x18
cmp dword [esp + 0xfc], 0
mov edi, ebp
je 0x100c0a10
mov eax, ebp
mov esi, 7
and eax, 0x7f
cmp al, 0x7f
je 0x100c0a15
mov esi, 8
mov eax, edx
mov ecx, esi
shr eax, 0x10
mov dword [esp + 0x18], eax
movzx eax, al
mov dword [esp + 0x2c], eax
shl eax, cl
or edi, eax
cmp ebp, 0x8f
jbe 0x100c0a45
mov eax, dword [esp + 0x18]
and eax, 0x7f
cmp al, 0x7f
jne 0x100c0a45
mov eax, 1
jmp 0x100c0a47
xor eax, eax
sub esi, eax
mov eax, edx
shr eax, 8
add esi, 8
movzx ebp, al
mov ecx, esi
mov dword [esp + 0x18], eax
mov eax, ebp
shl eax, cl
or edi, eax
cmp dword [esp + 0x2c], 0x8f
jbe 0x100c0a7c
mov eax, dword [esp + 0x18]
and eax, 0x7f
cmp al, 0x7f
jne 0x100c0a7c
mov ecx, 1
jmp 0x100c0a7e
xor ecx, ecx
mov eax, 8
sub eax, ecx
add esi, eax
movzx eax, dl
mov ecx, esi
mov dword [esp + 0x18], eax
shl eax, cl
or edi, eax
cmp ebp, 0x8f
jbe 0x100c0aab
and edx, 0x7f
cmp dl, 0x7f
jne 0x100c0aab
mov ebp, 1
jmp 0x100c0aad
xor ebp, ebp
mov eax, edi
xor edx, edx
mov edi, dword [esp + 0xb4]
mov ecx, edi
call fcn.10104c00
or dword [esp + 0x98], eax
sub esi, ebp
or dword [esp + 0xf0], edx
add edi, 8
add edi, esi
mov eax, 0x8f
cmp eax, dword [esp + 0x18]
mov dword [esp + 0xb4], edi
sbb eax, eax
neg eax
mov dword [esp + 0xfc], eax
jmp 0x100c0b45
mov eax, dword [esp + 0x130]
mov dword [esp + 0xf0], eax
mov eax, dword [esp + 0x12c]
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0xd8]
mov dword [esp + 0xb8], eax
mov eax, dword [esp + 0xd8]
mov dword [esp + 0xc0], eax
mov eax, dword [esp + 0xd8]
mov dword [esp + 0xfc], eax
mov eax, dword [esp + 0xd8]
mov dword [esp + 0xb4], eax
mov eax, dword [esp + 0x110]
mov ebp, dword [esp + 0x50]
add eax, 0x630
mov dword [esp + 0x4c], eax
mov byte [eax], 0
mov eax, 1
cmp ebp, 6
jge 0x100c0ce0
mov esi, dword [esp + 0xa4]
or eax, 0xffffffff
mov dword [esp + 0x10], eax
cmp esi, 4
jle 0x100c0b8f
mov ecx, dword [esp + 0x60]
mov eax, dword [ecx]
add ecx, 4
mov dword [esp + 0x60], ecx
sub esi, 4
jmp 0x100c0bf8
test esi, esi
jle 0x100c0c03
mov edi, dword [esp + 0x60]
xor ecx, ecx
cmp esi, 1
jle 0x100c0bdb
dec esi
mov dword [esp + 0xa4], 1
or ebx, 0xffffffff
movzx edx, byte [edi]
mov eax, 0xff
shl eax, cl
inc edi
not eax
shl edx, cl
and ebx, eax
add ecx, 8
or ebx, edx
sub esi, 1
jne 0x100c0bb1
mov esi, dword [esp + 0xa4]
mov dword [esp + 0x10], ebx
mov ebx, dword [esp + 0x38]
movzx edx, byte [edi]
mov eax, 0xff
shl eax, cl
or edx, 0xf
not eax
shl edx, cl
and eax, dword [esp + 0x10]
inc edi
or eax, edx
mov dword [esp + 0x60], edi
dec esi
mov dword [esp + 0xa4], esi
mov dword [esp + 0x10], eax
xor ecx, ecx
movzx edi, al
shr eax, 8
mov esi, 0x20
movzx edx, al
mov eax, 0x1f
cmp edx, 0xff
sete cl
sub eax, dword [esp + 0xe4]
sub esi, dword [esp + 0xe4]
cmp edi, 0xff
mov dword [esp + 0x18], ecx
cmove esi, eax
mov eax, dword [esp + 0x10]
sub esi, ecx
shr eax, 0x10
xor ecx, ecx
movzx eax, al
cmp edi, 0xff
setne cl
add ecx, 7
shl edi, cl
mov ecx, 8
sub ecx, dword [esp + 0x18]
or edi, edx
shl edi, cl
xor edx, edx
or edi, eax
cmp eax, 0xff
mov eax, dword [esp + 0x10]
sete dl
xor ecx, ecx
sub esi, edx
shr eax, 0x18
cmp eax, 0xff
sete cl
mov dword [esp + 0xe4], ecx
mov ecx, 8
sub ecx, edx
xor edx, edx
shl edi, cl
mov ecx, dword [esp + 0x84]
or eax, edi
sub ecx, esi
call fcn.10104c00
mov ecx, dword [esp + 0x70]
add ebp, esi
mov edi, dword [esp + 0x74]
or ecx, eax
or edi, edx
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x70], ecx
mov dword [esp + 0x68], edi
mov dword [esp + 0x74], edi
mov dword [esp + 0x50], ebp
cmp ebp, 6
jge 0x100c0cf2
mov ecx, dword [esp + 0x190]
mov edx, dword [esp + 0x18c]
jmp 0x100c0e49
mov edi, dword [esp + 0x74]
mov ecx, dword [esp + 0x70]
mov dword [esp + 0x68], edi
mov dword [esp + 0x7c], ecx
jmp 0x100c0cf7
mov eax, 1
mov ecx, dword [esp + 0x190]
xor ebp, ebp
mov edx, dword [esp + 0x18c]
mov ebx, dword [esp + 0x7c]
mov dword [esp + 0x54], ebp
mov dword [esp + 0xac], ecx
mov dword [esp + 0xa8], edx
nop dword [eax]
cmp ebp, 0x38
jge 0x100c0e41
mov esi, dword [esp + 0xf4]
mov edx, dword [esi*4 + 0x101aa5d0]
mov ecx, edx
shl eax, cl
lea ebp, [eax - 1]
test edi, edi
jg 0x100c0d76
jl 0x100c0d48
test ebx, ebx
jae 0x100c0d76
lea eax, [esi + 1]
mov ecx, 0xc
cmp eax, ecx
cmovl ecx, eax
shld edi, ebx, 1
mov dword [esp + 0xf4], ecx
mov ecx, dword [esp + 0x50]
add ebx, ebx
mov dword [esp + 0x68], edi
add ebp, ebp
mov dword [esp + 0x70], ebx
mov dword [esp + 0x74], edi
jmp 0x100c0dd0
movq xmm1, qword [esp + 0x70]
mov eax, 0x3f
sub eax, edx
dec esi
movd xmm0, eax
lea eax, [edx + 1]
psrlq xmm1, xmm0
movd xmm0, eax
xor eax, eax
movd ecx, xmm1
movq xmm1, qword [esp + 0x70]
psllq xmm1, xmm0
and ecx, ebp
test esi, esi
movq qword [esp + 0x70], xmm1
mov ebx, dword [esp + 0x70]
cmovle esi, eax
mov eax, dword [esp + 0x74]
lea ebp, [ecx*2 + 1]
mov dword [esp + 0xf4], esi
mov ecx, dword [esp + 0x50]
sub ecx, edx
mov dword [esp + 0x68], eax
dec ecx
mov eax, 0x3f
mov dword [esp + 0x50], ecx
xor edx, edx
mov ecx, dword [esp + 0x54]
call fcn.10104c00
mov esi, eax
mov edi, edx
mov eax, ebp
not esi
mov ebp, dword [esp + 0x54]
not edi
and esi, dword [esp + 0xa8]
mov ecx, ebp
and edi, dword [esp + 0xac]
cdq
call fcn.10104c00
inc dword [esp + 0x80]
or edi, edx
or esi, eax
mov ecx, edi
mov edi, dword [esp + 0x68]
add ebp, 7
cmp dword [esp + 0x50], 6
mov edx, esi
mov dword [esp + 0xa8], esi
mov eax, 1
mov dword [esp + 0xac], ecx
mov dword [esp + 0x54], ebp
jge 0x100c0d20
mov dword [esp + 0x7c], ebx
mov ebx, dword [esp + 0x38]
mov eax, dword [esp + 0xd0]
mov esi, edx
dec dword [esp + 0x80]
and esi, 0x7f
mov edi, dword [esp + 0x3c]
mov ebp, dword [esp + 0x10c]
shrd edx, ecx, 7
mov dword [esp + 0x6c], esi
shr ecx, 7
mov dword [esp + 0xac], ecx
lea ecx, [eax - 1]
mov dword [esp + 0xa8], edx
mov dword [esp + 0xcc], 0
mov dword [esp + 0x5c], ebp
mov dword [esp + 0xa0], 0
mov dword [esp + 0x94], ecx
test edi, edi
jle 0x100c35d5
mov ebp, dword [esp + 0x44]
cmp dword [esp + 0x78], 0x20
jae 0x100c116a
mov ebp, dword [esp + 0xe0]
xor edx, edx
cmp ebp, 3
jle 0x100c0ee2
mov eax, dword [esp + 0xc4]
mov edx, dword [eax - 3]
sub eax, 4
mov dword [esp + 0xc4], eax
sub ebp, 4
jmp 0x100c0f09
test ebp, ebp
jle 0x100c0f10
mov esi, dword [esp + 0xc4]
mov ecx, 0x18
movzx eax, byte [esi]
dec ebp
shl eax, cl
dec esi
or edx, eax
sub ecx, 8
test ebp, ebp
jg 0x100c0ef2
mov dword [esp + 0xc4], esi
mov dword [esp + 0xe0], ebp
mov edi, edx
shr edi, 0x18
cmp dword [esp + 0xe8], 0
mov ebp, edi
je 0x100c0f2f
mov eax, edi
mov esi, 7
and eax, 0x7f
cmp al, 0x7f
je 0x100c0f34
mov esi, 8
mov eax, edx
mov ecx, esi
shr eax, 0x10
mov dword [esp + 0x18], eax
movzx eax, al
mov dword [esp + 0x2c], eax
shl eax, cl
or ebp, eax
cmp edi, 0x8f
jbe 0x100c0f64
mov eax, dword [esp + 0x18]
and eax, 0x7f
cmp al, 0x7f
jne 0x100c0f64
mov eax, 1
jmp 0x100c0f66
xor eax, eax
sub esi, eax
mov eax, edx
shr eax, 8
add esi, 8
movzx edi, al
mov ecx, esi
mov dword [esp + 0x18], eax
mov eax, edi
shl eax, cl
or ebp, eax
cmp dword [esp + 0x2c], 0x8f
jbe 0x100c0f9b
mov eax, dword [esp + 0x18]
and eax, 0x7f
cmp al, 0x7f
jne 0x100c0f9b
mov ecx, 1
jmp 0x100c0f9d
xor ecx, ecx
mov eax, 8
sub eax, ecx
add esi, eax
movzx eax, dl
mov ecx, esi
mov dword [esp + 0x18], eax
shl eax, cl
or ebp, eax
cmp edi, 0x8f
jbe 0x100c0fca
and edx, 0x7f
cmp dl, 0x7f
jne 0x100c0fca
mov edi, 1
jmp 0x100c0fcc
xor edi, edi
mov ecx, dword [esp + 0x78]
mov eax, ebp
xor edx, edx
call fcn.10104c00
mov ebp, dword [esp + 0x44]
sub esi, edi
or dword [esp + 0x48], edx
or ebp, eax
mov eax, dword [esp + 0x78]
mov ecx, 0x8f
add eax, 8
mov dword [esp + 0x44], ebp
add eax, esi
mov esi, dword [esp + 0x18]
cmp ecx, esi
mov dword [esp + 0x78], eax
sbb edi, edi
neg edi
mov dword [esp + 0xe8], edi
cmp eax, 0x20
jae 0x100c1166
mov ebp, dword [esp + 0xe0]
xor edx, edx
cmp ebp, 3
jle 0x100c103c
mov eax, dword [esp + 0xc4]
mov edx, dword [eax - 3]
sub eax, 4
mov dword [esp + 0xc4], eax
sub ebp, 4
jmp 0x100c1067
test ebp, ebp
jle 0x100c106e
mov edi, dword [esp + 0xc4]
mov ecx, 0x18
nop dword [eax]
movzx eax, byte [edi]
dec ebp
shl eax, cl
dec edi
or edx, eax
sub ecx, 8
test ebp, ebp
jg 0x100c1050
mov dword [esp + 0xc4], edi
mov dword [esp + 0xe0], ebp
mov edi, edx
shr edi, 0x18
mov ebp, edi
cmp esi, 0x8f
jbe 0x100c108b
mov eax, edi
mov esi, 7
and eax, 0x7f
cmp al, 0x7f
je 0x100c1090
mov esi, 8
mov eax, edx
mov ecx, esi
shr eax, 0x10
mov dword [esp + 0x18], eax
movzx eax, al
mov dword [esp + 0x2c], eax
shl eax, cl
or ebp, eax
cmp edi, 0x8f
jbe 0x100c10c0
mov eax, dword [esp + 0x18]
and eax, 0x7f
cmp al, 0x7f
jne 0x100c10c0
mov eax, 1
jmp 0x100c10c2
xor eax, eax
sub esi, eax
mov eax, edx
shr eax, 8
add esi, 8
movzx edi, al
mov ecx, esi
mov dword [esp + 0x18], eax
mov eax, edi
shl eax, cl
or ebp, eax
cmp dword [esp + 0x2c], 0x8f
jbe 0x100c10f7
mov eax, dword [esp + 0x18]
and eax, 0x7f
cmp al, 0x7f
jne 0x100c10f7
mov ecx, 1
jmp 0x100c10f9
xor ecx, ecx
mov eax, 8
sub eax, ecx
add esi, eax
movzx eax, dl
mov ecx, esi
mov dword [esp + 0x18], eax
shl eax, cl
or ebp, eax
cmp edi, 0x8f
jbe 0x100c1126
and edx, 0x7f
cmp dl, 0x7f
jne 0x100c1126
mov edi, 1
jmp 0x100c1128
xor edi, edi
mov ecx, dword [esp + 0x78]
mov eax, ebp
xor edx, edx
call fcn.10104c00
mov ebp, dword [esp + 0x44]
sub esi, edi
or dword [esp + 0x48], edx
or ebp, eax
mov eax, dword [esp + 0x78]
add eax, 8
mov dword [esp + 0x44], ebp
add eax, esi
mov dword [esp + 0x78], eax
mov eax, 0x8f
cmp eax, dword [esp + 0x18]
sbb eax, eax
neg eax
mov dword [esp + 0xe8], eax
mov esi, dword [esp + 0x6c]
mov edx, dword [esp + 0xcc]
mov ecx, ebp
and ecx, 0x7f
mov eax, edx
shl eax, 7
or ecx, eax
movzx ecx, word [ecx*2 + 0x101a95d0]
mov dword [esp + 0x58], ecx
test edx, edx
jne 0x100c149e
sub esi, 2
xor eax, eax
cmp esi, 0xffffffff
mov dword [esp + 0x6c], esi
cmovne ecx, eax
mov dword [esp + 0x58], ecx
test esi, esi
jns 0x100c149e
cmp dword [esp + 0x80], eax
jne 0x100c146b
cmp dword [esp + 0x50], 6
jge 0x100c132c
mov edi, dword [esp + 0xa4]
or eax, 0xffffffff
mov dword [esp + 0x6c], eax
cmp edi, 4
jle 0x100c11e9
mov ecx, dword [esp + 0x60]
mov eax, dword [ecx]
add ecx, 4
mov dword [esp + 0x60], ecx
sub edi, 4
jmp 0x100c124b
test edi, edi
jle 0x100c1256
xor ecx, ecx
cmp edi, 1
jle 0x100c122a
mov ebx, dword [esp + 0x6c]
lea esi, [edi - 1]
lea edi, [ecx + 1]
nop
mov eax, dword [esp + 0x60]
movzx edx, byte [eax]
inc eax
mov dword [esp + 0x60], eax
mov eax, 0xff
shl eax, cl
not eax
shl edx, cl
and ebx, eax
add ecx, 8
or ebx, edx
sub esi, edi
jne 0x100c1200
mov dword [esp + 0x6c], ebx
mov ebx, dword [esp + 0x38]
mov eax, dword [esp + 0x60]
movzx edx, byte [eax]
inc eax
mov dword [esp + 0x60], eax
or edx, 0xf
mov eax, 0xff
shl edx, cl
shl eax, cl
not eax
and eax, dword [esp + 0x6c]
or eax, edx
dec edi
mov dword [esp + 0xa4], edi
mov dword [esp + 0x6c], eax
xor ecx, ecx
movzx edi, al
shr eax, 8
mov esi, 0x20
movzx edx, al
mov eax, 0x1f
cmp edx, 0xff
sete cl
sub eax, dword [esp + 0xe4]
sub esi, dword [esp + 0xe4]
cmp edi, 0xff
mov dword [esp + 0x18], ecx
cmove esi, eax
mov eax, dword [esp + 0x6c]
sub esi, ecx
shr eax, 0x10
xor ecx, ecx
movzx eax, al
cmp edi, 0xff
setne cl
add ecx, 7
shl edi, cl
mov ecx, 8
sub ecx, dword [esp + 0x18]
or edi, edx
shl edi, cl
xor edx, edx
or edi, eax
cmp eax, 0xff
mov eax, dword [esp + 0x6c]
sete dl
xor ecx, ecx
sub esi, edx
shr eax, 0x18
cmp eax, 0xff
sete cl
mov dword [esp + 0xe4], ecx
mov ecx, 8
sub ecx, edx
xor edx, edx
shl edi, cl
mov ecx, 0x40
sub ecx, dword [esp + 0x50]
or eax, edi
sub ecx, esi
call fcn.10104c00
mov ecx, dword [esp + 0x7c]
mov edi, dword [esp + 0x68]
or ecx, eax
mov eax, dword [esp + 0x50]
or edi, edx
add eax, esi
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x70], ecx
mov dword [esp + 0x68], edi
mov dword [esp + 0x74], edi
mov dword [esp + 0x50], eax
cmp eax, 6
jl 0x100c1467
jmp 0x100c1330
mov edi, dword [esp + 0x68]
mov ebx, dword [esp + 0x7c]
xor ebp, ebp
mov dword [esp + 0x54], ebp
nop word [eax + eax]
cmp ebp, 0x38
jge 0x100c145b
mov esi, dword [esp + 0xf4]
mov ebp, 1
mov edx, dword [esi*4 + 0x101aa5d0]
mov ecx, edx
shl ebp, cl
dec ebp
test edi, edi
jg 0x100c1399
jl 0x100c136b
test ebx, ebx
jae 0x100c1399
lea eax, [esi + 1]
mov ecx, 0xc
cmp eax, ecx
cmovl ecx, eax
shld edi, ebx, 1
mov dword [esp + 0xf4], ecx
mov ecx, dword [esp + 0x50]
add ebx, ebx
mov dword [esp + 0x68], edi
add ebp, ebp
mov dword [esp + 0x70], ebx
mov dword [esp + 0x74], edi
jmp 0x100c13f3
movq xmm1, qword [esp + 0x70]
mov eax, 0x3f
sub eax, edx
dec esi
movd xmm0, eax
lea eax, [edx + 1]
psrlq xmm1, xmm0
movd xmm0, eax
xor eax, eax
movd ecx, xmm1
movq xmm1, qword [esp + 0x70]
psllq xmm1, xmm0
and ecx, ebp
test esi, esi
movq qword [esp + 0x70], xmm1
mov ebx, dword [esp + 0x70]
cmovle esi, eax
mov eax, dword [esp + 0x74]
lea ebp, [ecx*2 + 1]
mov dword [esp + 0xf4], esi
mov ecx, dword [esp + 0x50]
sub ecx, edx
mov dword [esp + 0x68], eax
dec ecx
mov eax, 0x3f
mov dword [esp + 0x50], ecx
xor edx, edx
mov ecx, dword [esp + 0x54]
call fcn.10104c00
mov esi, eax
mov edi, edx
mov eax, ebp
not esi
mov ebp, dword [esp + 0x54]
not edi
and esi, dword [esp + 0xa8]
mov ecx, ebp
and edi, dword [esp + 0xac]
cdq
call fcn.10104c00
inc dword [esp + 0x80]
or edi, edx
or esi, eax
mov dword [esp + 0xac], edi
mov edi, dword [esp + 0x68]
add ebp, 7
cmp dword [esp + 0x50], 6
mov dword [esp + 0xa8], esi
mov dword [esp + 0x54], ebp
jge 0x100c1340
mov ebp, dword [esp + 0x44]
mov dword [esp + 0x7c], ebx
mov ebx, dword [esp + 0x38]
mov ecx, dword [esp + 0x58]
mov edx, dword [esp + 0xa8]
mov eax, edx
and eax, 0x7f
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0xac]
shrd edx, eax, 7
shr eax, 7
dec dword [esp + 0x80]
mov dword [esp + 0xa8], edx
mov dword [esp + 0xac], eax
mov edi, ecx
mov eax, ecx
and eax, 0x10
shr edi, 1
mov edx, edi
mov dword [esp + 0x40], eax
or edx, eax
mov dword [esp + 0x2c], edi
shr edx, 4
mov esi, ecx
and edx, 7
and esi, 7
mov dword [esp + 0xcc], edx
mov eax, ebp
mov edx, dword [esp + 0x48]
mov ecx, esi
call fcn.10104c20
sub dword [esp + 0x78], esi
mov ebp, eax
mov esi, dword [esp + 0xc8]
mov eax, edx
mov ecx, dword [esp + 0xf8]
mov dword [esp + 0x84], eax
mov dword [esp + 0x130], eax
mov eax, dword [esp + 0x58]
mov edx, eax
shr edx, 2
and eax, 0xc0
and edx, 0xc
mov dword [esp + 0x48], ebp
or edx, eax
mov dword [esp + 0x12c], ebp
mov eax, dword [esp + 0xa0]
shr edx, 2
add eax, 2
shl edx, cl
xor ecx, ecx
or dword [esi], edx
mov dword [esp + 0x44], ecx
cmp eax, dword [esp + 0x3c]
jge 0x100c18d2
mov edx, dword [esp + 0xcc]
mov ecx, ebp
mov eax, edx
and ecx, 0x7f
shl eax, 7
or ecx, eax
movzx eax, word [ecx*2 + 0x101a95d0]
mov dword [esp + 0x44], eax
test edx, edx
jne 0x100c1884
mov ecx, dword [esp + 0x6c]
sub ecx, 2
cmp ecx, 0xffffffff
mov dword [esp + 0x6c], ecx
cmovne eax, edx
mov dword [esp + 0x44], eax
test ecx, ecx
jns 0x100c1884
cmp dword [esp + 0x80], edx
jne 0x100c1851
cmp dword [esp + 0x50], 6
jge 0x100c1712
mov ebp, dword [esp + 0xa4]
or ecx, 0xffffffff
mov dword [esp + 0x10], ecx
cmp ebp, 4
jle 0x100c15b6
mov eax, dword [esp + 0x60]
mov ecx, dword [eax]
add eax, 4
mov dword [esp + 0x60], eax
sub ebp, 4
jmp 0x100c161d
test ebp, ebp
jle 0x100c1628
xor ecx, ecx
cmp ebp, 1
jle 0x100c15fa
mov ebx, dword [esp + 0x10]
lea esi, [ebp - 1]
lea ebp, [ecx + 1]
nop dword [eax + eax]
mov eax, dword [esp + 0x60]
movzx edx, byte [eax]
inc eax
mov dword [esp + 0x60], eax
mov eax, 0xff
shl eax, cl
not eax
shl edx, cl
and ebx, eax
add ecx, 8
or ebx, edx
sub esi, ebp
jne 0x100c15d0
mov dword [esp + 0x10], ebx
mov ebx, dword [esp + 0x38]
mov eax, dword [esp + 0x60]
movzx edx, byte [eax]
inc eax
mov dword [esp + 0x60], eax
or edx, 0xf
mov eax, 0xff
shl edx, cl
shl eax, cl
not eax
and eax, dword [esp + 0x10]
or eax, edx
dec ebp
mov ecx, eax
mov dword [esp + 0xa4], ebp
mov dword [esp + 0x10], ecx
mov eax, ecx
movzx esi, cl
shr eax, 8
mov ebp, esi
movzx edx, al
xor eax, eax
cmp edx, 0xff
sete al
mov dword [esp + 0x18], eax
mov eax, ecx
xor ecx, ecx
shr eax, 0x10
cmp esi, 0xff
movzx edi, al
setne cl
add ecx, 7
shl ebp, cl
mov ecx, 8
sub ecx, dword [esp + 0x18]
or ebp, edx
shl ebp, cl
xor ecx, ecx
or ebp, edi
cmp edi, 0xff
setne cl
xor eax, eax
add ecx, 0x1f
cmp esi, 0xff
mov esi, dword [esp + 0x10]
setne al
shr esi, 0x18
dec eax
add ecx, eax
xor eax, eax
sub ecx, dword [esp + 0xe4]
sub ecx, dword [esp + 0x18]
cmp esi, 0xff
mov dword [esp + 0x18], ecx
sete al
xor ecx, ecx
cmp edi, 0xff
mov dword [esp + 0xe4], eax
setne cl
xor edx, edx
add ecx, 7
shl ebp, cl
mov ecx, 0x40
sub ecx, dword [esp + 0x50]
or ebp, esi
sub ecx, dword [esp + 0x18]
mov eax, ebp
call fcn.10104c00
mov ecx, dword [esp + 0x7c]
mov edi, dword [esp + 0x68]
or ecx, eax
mov eax, dword [esp + 0x50]
or edi, edx
add eax, dword [esp + 0x18]
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x70], ecx
mov dword [esp + 0x68], edi
mov dword [esp + 0x74], edi
mov dword [esp + 0x50], eax
cmp eax, 6
jl 0x100c1845
xor ebp, ebp
mov ebx, ecx
mov dword [esp + 0x54], ebp
jmp 0x100c1726
mov edi, dword [esp + 0x68]
xor ebp, ebp
mov ebx, dword [esp + 0x7c]
mov dword [esp + 0x54], ebp
jmp 0x100c1726
mov edi, dword [esp + 0x68]
cmp ebp, 0x38
jge 0x100c183d
mov esi, dword [esp + 0xf4]
mov ebp, 1
mov edx, dword [esi*4 + 0x101aa5d0]
mov ecx, edx
shl ebp, cl
dec ebp
test edi, edi
jg 0x100c177f
jl 0x100c1751
test ebx, ebx
jae 0x100c177f
lea eax, [esi + 1]
mov ecx, 0xc
cmp eax, ecx
cmovl ecx, eax
shld edi, ebx, 1
mov dword [esp + 0xf4], ecx
mov ecx, dword [esp + 0x50]
add ebx, ebx
mov dword [esp + 0x68], edi
add ebp, ebp
mov dword [esp + 0x70], ebx
mov dword [esp + 0x74], edi
jmp 0x100c17d9
movq xmm1, qword [esp + 0x70]
mov eax, 0x3f
sub eax, edx
dec esi
movd xmm0, eax
lea eax, [edx + 1]
psrlq xmm1, xmm0
movd xmm0, eax
xor eax, eax
movd ecx, xmm1
movq xmm1, qword [esp + 0x70]
psllq xmm1, xmm0
and ecx, ebp
test esi, esi
movq qword [esp + 0x70], xmm1
mov ebx, dword [esp + 0x70]
cmovle esi, eax
mov eax, dword [esp + 0x74]
lea ebp, [ecx*2 + 1]
mov dword [esp + 0xf4], esi
mov ecx, dword [esp + 0x50]
sub ecx, edx
mov dword [esp + 0x68], eax
dec ecx
mov eax, 0x3f
mov dword [esp + 0x50], ecx
xor edx, edx
mov ecx, dword [esp + 0x54]
call fcn.10104c00
mov esi, eax
mov edi, edx
mov eax, ebp
not esi
mov ebp, dword [esp + 0x54]
not edi
and esi, dword [esp + 0xa8]
mov ecx, ebp
and edi, dword [esp + 0xac]
cdq
call fcn.10104c00
inc dword [esp + 0x80]
or esi, eax
or edi, edx
mov dword [esp + 0xa8], esi
add ebp, 7
mov dword [esp + 0xac], edi
cmp dword [esp + 0x50], 6
mov dword [esp + 0x54], ebp
jge 0x100c1722
mov dword [esp + 0x7c], ebx
mov ebx, dword [esp + 0x38]
mov eax, dword [esp + 0x44]
mov edi, dword [esp + 0x2c]
mov ebp, dword [esp + 0x48]
mov edx, dword [esp + 0xa8]
mov ecx, edx
and ecx, 0x7f
mov dword [esp + 0x6c], ecx
mov ecx, dword [esp + 0xac]
shrd edx, ecx, 7
shr ecx, 7
dec dword [esp + 0x80]
mov dword [esp + 0xa8], edx
mov dword [esp + 0xac], ecx
mov edx, eax
mov ecx, eax
and edx, 0x10
shr ecx, 1
or edx, ecx
mov esi, eax
shr edx, 4
and esi, 7
and edx, 7
mov eax, ebp
mov dword [esp + 0xcc], edx
mov ecx, esi
mov edx, dword [esp + 0x84]
call fcn.10104c20
sub dword [esp + 0x78], esi
mov ecx, dword [esp + 0x44]
mov esi, dword [esp + 0xc8]
mov dword [esp + 0x48], eax
mov dword [esp + 0x12c], eax
mov dword [esp + 0x130], edx
mov ebp, dword [esp + 0xf8]
mov edx, ecx
mov eax, dword [esp + 0xa0]
and edx, 0xc0
and al, 7
shl edx, 2
and ecx, 0x30
movzx eax, al
or edx, ecx
lea ecx, [ebp + 4]
shl edx, cl
or dword [esi], edx
neg eax
sbb eax, eax
and edi, 4
and eax, 4
xor ebp, 0x10
add esi, eax
mov dword [esp + 0xf8], ebp
mov eax, dword [esp + 0x44]
and eax, 8
mov dword [esp + 0xc8], esi
or eax, edi
shr eax, 2
mov dword [esp + 0x8c], eax
cmp eax, 3
jne 0x100c1c4d
mov ecx, dword [esp + 0x6c]
xor eax, eax
sub ecx, 2
cmp ecx, 0xffffffff
mov dword [esp + 0x6c], ecx
sete al
add eax, 3
mov dword [esp + 0x8c], eax
test ecx, ecx
jns 0x100c1c4d
cmp dword [esp + 0x80], 0
jne 0x100c1c1a
mov ebp, dword [esp + 0x50]
cmp ebp, 6
jge 0x100c1ade
mov edi, dword [esp + 0xa4]
or eax, 0xffffffff
mov dword [esp + 0x6c], eax
cmp edi, 4
jle 0x100c199a
mov ecx, dword [esp + 0x60]
mov eax, dword [ecx]
add ecx, 4
mov dword [esp + 0x60], ecx
sub edi, 4
jmp 0x100c19fb
test edi, edi
jle 0x100c1a06
xor ecx, ecx
cmp edi, 1
jle 0x100c19da
mov ebx, dword [esp + 0x6c]
lea esi, [edi - 1]
lea edi, [ecx + 1]
nop
mov eax, dword [esp + 0x60]
movzx edx, byte [eax]
inc eax
mov dword [esp + 0x60], eax
mov eax, 0xff
shl eax, cl
not eax
shl edx, cl
and ebx, eax
add ecx, 8
or ebx, edx
sub esi, edi
jne 0x100c19b0
mov dword [esp + 0x6c], ebx
mov ebx, dword [esp + 0x38]
mov eax, dword [esp + 0x60]
movzx edx, byte [eax]
inc eax
mov dword [esp + 0x60], eax
or edx, 0xf
mov eax, 0xff
shl edx, cl
shl eax, cl
not eax
and eax, dword [esp + 0x6c]
or eax, edx
dec edi
mov dword [esp + 0xa4], edi
mov dword [esp + 0x6c], eax
xor ecx, ecx
movzx edi, al
shr eax, 8
mov esi, 0x20
movzx edx, al
mov eax, 0x1f
cmp edx, 0xff
sete cl
sub eax, dword [esp + 0xe4]
sub esi, dword [esp + 0xe4]
cmp edi, 0xff
mov dword [esp + 0x18], ecx
cmove esi, eax
mov eax, dword [esp + 0x6c]
sub esi, ecx
shr eax, 0x10
xor ecx, ecx
movzx eax, al
cmp edi, 0xff
setne cl
add ecx, 7
shl edi, cl
mov ecx, 8
sub ecx, dword [esp + 0x18]
or edi, edx
shl edi, cl
xor edx, edx
or edi, eax
cmp eax, 0xff
mov eax, dword [esp + 0x6c]
sete dl
xor ecx, ecx
sub esi, edx
shr eax, 0x18
cmp eax, 0xff
sete cl
mov dword [esp + 0xe4], ecx
mov ecx, 8
sub ecx, edx
xor edx, edx
shl edi, cl
mov ecx, 0x40
sub ecx, ebp
or eax, edi
sub ecx, esi
call fcn.10104c00
mov ecx, dword [esp + 0x7c]
add ebp, esi
mov edi, dword [esp + 0x68]
or ecx, eax
or edi, edx
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x70], ecx
mov dword [esp + 0x68], edi
mov dword [esp + 0x74], edi
mov dword [esp + 0x50], ebp
cmp ebp, 6
jl 0x100c1c13
xor ebp, ebp
mov ebx, ecx
mov dword [esp + 0x54], ebp
jmp 0x100c1af4
mov edi, dword [esp + 0x68]
xor ebp, ebp
mov ebx, dword [esp + 0x7c]
mov dword [esp + 0x54], ebp
jmp 0x100c1af4
mov edi, dword [esp + 0x68]
cmp ebp, 0x38
jge 0x100c1c0b
mov esi, dword [esp + 0xf4]
mov ebp, 1
mov edx, dword [esi*4 + 0x101aa5d0]
mov ecx, edx
shl ebp, cl
dec ebp
test edi, edi
jg 0x100c1b4d
jl 0x100c1b1f
test ebx, ebx
jae 0x100c1b4d
lea eax, [esi + 1]
mov ecx, 0xc
cmp eax, ecx
cmovl ecx, eax
shld edi, ebx, 1
mov dword [esp + 0xf4], ecx
mov ecx, dword [esp + 0x50]
add ebx, ebx
mov dword [esp + 0x68], edi
add ebp, ebp
mov dword [esp + 0x70], ebx
mov dword [esp + 0x74], edi
jmp 0x100c1ba7
movq xmm1, qword [esp + 0x70]
mov eax, 0x3f
sub eax, edx
dec esi
movd xmm0, eax
lea eax, [edx + 1]
psrlq xmm1, xmm0
movd xmm0, eax
xor eax, eax
movd ecx, xmm1
movq xmm1, qword [esp + 0x70]
psllq xmm1, xmm0
and ecx, ebp
test esi, esi
movq qword [esp + 0x70], xmm1
mov ebx, dword [esp + 0x70]
cmovle esi, eax
mov eax, dword [esp + 0x74]
lea ebp, [ecx*2 + 1]
mov dword [esp + 0xf4], esi
mov ecx, dword [esp + 0x50]
sub ecx, edx
mov dword [esp + 0x68], eax
dec ecx
mov eax, 0x3f
mov dword [esp + 0x50], ecx
xor edx, edx
mov ecx, dword [esp + 0x54]
call fcn.10104c00
mov esi, eax
mov edi, edx
mov eax, ebp
not esi
mov ebp, dword [esp + 0x54]
not edi
and esi, dword [esp + 0xa8]
mov ecx, ebp
and edi, dword [esp + 0xac]
cdq
call fcn.10104c00
inc dword [esp + 0x80]
or esi, eax
or edi, edx
mov dword [esp + 0xa8], esi
add ebp, 7
mov dword [esp + 0xac], edi
cmp dword [esp + 0x50], 6
mov dword [esp + 0x54], ebp
jge 0x100c1af0
mov dword [esp + 0x7c], ebx
mov ebx, dword [esp + 0x38]
mov eax, dword [esp + 0x8c]
mov edx, dword [esp + 0xa8]
mov ecx, edx
and ecx, 0x7f
mov dword [esp + 0x6c], ecx
mov ecx, dword [esp + 0xac]
shrd edx, ecx, 7
shr ecx, 7
dec dword [esp + 0x80]
mov dword [esp + 0xa8], edx
mov dword [esp + 0xac], ecx
xor edi, edi
test eax, eax
jne 0x100c1c6a
mov ebp, 1
mov eax, ebp
mov dword [esp + 0x64], ebp
mov dword [esp + 0x88], eax
jmp 0x100c1e2f
cmp eax, 2
ja 0x100c1cca
mov ebp, dword [esp + 0x48]
mov eax, ebp
and eax, 7
movzx esi, byte [eax + 0x101aa604]
mov eax, 1
mov edx, esi
mov ecx, esi
shr edx, 2
and ecx, 3
and edx, 7
shr ebp, cl
shr esi, 5
inc esi
lea edi, [edx + ecx]
mov ecx, edx
shl eax, cl
mov edx, 1
dec eax
and eax, ebp
add eax, esi
cmp dword [esp + 0x8c], 1
mov ebp, eax
cmovne ebp, edx
mov dword [esp + 0x88], ebp
mov ebp, edx
cmovne ebp, eax
mov dword [esp + 0x64], ebp
jmp 0x100c1e28
cmp eax, 3
jne 0x100c1d93
mov esi, dword [esp + 0x48]
mov eax, esi
and eax, 7
movzx edx, byte [eax + 0x101aa604]
mov edi, edx
mov ebp, edx
and edi, 3
shr ebp, 2
mov ecx, edi
shr edx, 5
shr esi, cl
and ebp, 7
mov dword [esp + 0x48], esi
mov eax, esi
mov dword [esp + 0x18], edx
cmp edi, 2
jbe 0x100c1d34
and eax, 1
shr esi, 1
add eax, 2
mov ecx, ebp
mov dword [esp + 0x64], eax
inc edi
mov eax, 1
add edi, ebp
mov ebp, dword [esp + 0x64]
shl eax, cl
dec eax
and eax, esi
add eax, edx
inc eax
mov dword [esp + 0x88], eax
jmp 0x100c1e2f
and eax, 7
mov edx, 1
movzx esi, byte [eax + 0x101aa604]
mov ecx, esi
and ecx, 3
shr dword [esp + 0x48], cl
lea eax, [ecx + ebp]
mov ecx, ebp
shl edx, cl
add edi, eax
mov eax, dword [esp + 0x48]
dec edx
and edx, eax
mov ebp, 1
shr eax, cl
mov ecx, esi
shr ecx, 2
and ecx, 7
mov dword [esp + 0x48], eax
shl ebp, cl
add edi, ecx
dec ebp
shr esi, 5
and ebp, eax
mov eax, dword [esp + 0x18]
inc ebp
add eax, edx
add ebp, esi
inc eax
mov dword [esp + 0x64], ebp
mov dword [esp + 0x88], eax
jmp 0x100c1e2f
cmp eax, 4
jne 0x100c1e24
mov edx, dword [esp + 0x48]
mov eax, edx
and eax, 7
movzx edi, byte [eax + 0x101aa604]
mov esi, edi
and esi, 3
mov ecx, esi
shr edx, cl
mov eax, edx
and eax, 7
movzx ebp, byte [eax + 0x101aa604]
mov ecx, ebp
and ecx, 3
shr edx, cl
mov dword [esp + 0x48], edx
mov edx, edi
shr edx, 2
and edx, 7
shr edi, 5
add edi, 3
lea eax, [edx + ecx]
mov ecx, edx
add eax, esi
mov esi, dword [esp + 0x48]
mov dword [esp + 0x18], eax
mov eax, 1
shl eax, cl
dec eax
and eax, esi
shr esi, cl
add eax, edi
mov ecx, ebp
mov edi, dword [esp + 0x18]
mov dword [esp + 0x88], eax
mov eax, 1
shr ecx, 2
and ecx, 7
shr ebp, 5
shl eax, cl
add edi, ecx
dec eax
and eax, esi
add eax, 3
add ebp, eax
mov dword [esp + 0x64], ebp
jmp 0x100c1e28
mov ebp, dword [esp + 0x64]
mov eax, dword [esp + 0x88]
mov ecx, dword [esp + 0x108]
cmp eax, ecx
ja 0x100c36e6
cmp ebp, ecx
ja 0x100c36e6
mov ecx, dword [esp + 0xa0]
mov eax, 0xff
movq xmm1, qword [esp + 0x12c]
sub dword [esp + 0x78], edi
movd xmm0, edi
mov edi, dword [esp + 0x3c]
lea edx, [ecx + 4]
mov dword [esp + 0x84], edx
psrlq xmm1, xmm0
movq qword [esp + 0x12c], xmm1
cmp edx, edi
jle 0x100c1e8d
sub ecx, edi
lea ecx, [ecx*2 + 8]
shr eax, cl
mov ecx, dword [esp + 0x58]
mov edx, eax
and edx, 0x55
cmp dword [esp + 0x104], 1
cmovg edx, eax
mov eax, dword [esp + 0x44]
shr ecx, 4
and eax, 0xf0
and ecx, 0xf
mov dword [esp + 0x48], edx
or ecx, eax
mov eax, edx
not eax
test al, cl
jne 0x100c684b
cmp dword [esp + 0x40], 0
mov ebp, dword [esp + 0x1c]
je 0x100c2175
cmp ebp, 0x20
jae 0x100c2105
mov esi, dword [esp + 0x20]
cmp esi, 3
jle 0x100c1ef9
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
add eax, 4
sub esi, 4
mov dword [esp + 0x14], eax
mov dword [esp + 0x20], esi
jmp 0x100c1f3a
test esi, esi
jle 0x100c1f37
xor ecx, ecx
or ebx, 0xffffffff
mov eax, dword [esp + 0x14]
dec esi
movzx edx, byte [eax]
inc eax
mov dword [esp + 0x14], eax
mov eax, 0xff
shl eax, cl
not eax
shl edx, cl
and ebx, eax
add ecx, 8
or ebx, edx
test esi, esi
jg 0x100c1f02
mov dword [esp + 0x10], ebx
mov ebx, dword [esp + 0x38]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x20], esi
jmp 0x100c1f3e
or ecx, 0xffffffff
mov dword [esp + 0x10], ecx
mov eax, dword [esp + 0x28]
neg eax
movzx edx, cl
sbb eax, eax
add eax, 8
mov dword [esp + 0x28], eax
mov eax, ecx
mov ecx, dword [esp + 0x28]
shr eax, 8
movzx esi, al
mov eax, esi
shl eax, cl
or eax, edx
mov dword [esp + 0x18], eax
xor eax, eax
cmp edx, 0xff
sete al
sub ecx, eax
mov dword [esp + 0x28], ecx
lea edi, [ecx + 8]
mov ecx, dword [esp + 0x10]
mov eax, ecx
shr eax, 0x10
movzx ebp, al
xor eax, eax
cmp esi, 0xff
setne al
shr ecx, 0x18
add eax, 7
mov dword [esp + 0x10], ecx
add eax, dword [esp + 0x28]
xor edx, edx
cmp ecx, 0xff
mov dword [esp + 0x2c], eax
sete dl
lea ecx, [eax + 8]
mov dword [esp + 0x28], edx
mov eax, dword [esp + 0x10]
mov edx, ebp
shl eax, cl
mov ecx, edi
shl edx, cl
mov ecx, dword [esp + 0x1c]
or eax, edx
or eax, dword [esp + 0x18]
xor edx, edx
call fcn.10104c00
or dword [esp + 0x30], eax
xor eax, eax
or dword [esp + 0x24], edx
cmp ebp, 0xff
mov ebp, dword [esp + 0x1c]
setne al
add eax, 0xf
add eax, dword [esp + 0x2c]
add ebp, eax
mov dword [esp + 0x1c], ebp
cmp ebp, 0x20
jae 0x100c2105
mov esi, dword [esp + 0x20]
cmp esi, 3
jle 0x100c201e
mov eax, dword [esp + 0x14]
mov edx, dword [eax]
add eax, 4
sub esi, 4
mov dword [esp + 0x14], eax
mov dword [esp + 0x20], esi
jmp 0x100c205f
test esi, esi
jle 0x100c205c
xor ecx, ecx
or ebx, 0xffffffff
mov eax, dword [esp + 0x14]
dec esi
movzx edx, byte [eax]
inc eax
mov dword [esp + 0x14], eax
mov eax, 0xff
shl eax, cl
not eax
shl edx, cl
and ebx, eax
add ecx, 8
or ebx, edx
test esi, esi
jg 0x100c2027
mov dword [esp + 0x10], ebx
mov ebx, dword [esp + 0x38]
mov edx, dword [esp + 0x10]
mov dword [esp + 0x20], esi
jmp 0x100c2063
or edx, 0xffffffff
mov dword [esp + 0x10], edx
mov eax, edx
mov ecx, 8
sub ecx, dword [esp + 0x28]
shr eax, 8
movzx esi, al
movzx edx, dl
mov eax, esi
shl eax, cl
or eax, edx
mov dword [esp + 0x18], eax
xor eax, eax
cmp edx, 0xff
mov edx, dword [esp + 0x10]
sete al
sub ecx, eax
mov eax, edx
shr eax, 0x10
movzx ebp, al
xor eax, eax
cmp esi, 0xff
lea edi, [ecx + 8]
setne al
add ecx, 7
add eax, ecx
shr edx, 0x18
xor ecx, ecx
mov dword [esp + 0x2c], eax
cmp edx, 0xff
mov dword [esp + 0x10], edx
sete cl
mov dword [esp + 0x28], ecx
lea ecx, [eax + 8]
mov eax, edx
mov edx, ebp
shl eax, cl
mov ecx, edi
shl edx, cl
mov ecx, dword [esp + 0x1c]
or eax, edx
or eax, dword [esp + 0x18]
xor edx, edx
call fcn.10104c00
or dword [esp + 0x30], eax
xor eax, eax
or dword [esp + 0x24], edx
cmp ebp, 0xff
mov ebp, dword [esp + 0x1c]
setne al
add eax, 0xf
add eax, dword [esp + 0x2c]
add ebp, eax
mov ecx, dword [esp + 0x58]
mov esi, dword [esp + 0x88]
mov eax, dword [esp + 0x30]
mov edi, eax
mov edx, dword [esp + 0x24]
shr ecx, 0xc
and ecx, 1
sub esi, ecx
mov ecx, esi
call fcn.10104c20
mov dword [esp + 0x24], edx
mov ecx, esi
mov dword [esp + 0x30], eax
mov edx, 1
mov eax, dword [esp + 0x58]
sub ebp, esi
mov esi, dword [esp + 0x5c]
shl edx, cl
dec edx
shr eax, 8
and edx, edi
mov dword [esp + 0x1c], ebp
and eax, 1
shl edi, 0x1f
shl eax, cl
mov ecx, dword [esp + 0x94]
or edx, eax
or edx, 1
add edx, 2
shl edx, cl
or edx, edi
mov edi, dword [esp + 0x3c]
mov dword [esi], edx
mov edx, dword [esp + 0x48]
jmp 0x100c2184
mov esi, dword [esp + 0x5c]
test dl, 1
je 0x100c2184
mov dword [esi], 0
mov eax, dword [esp + 0x58]
test al, 0x20
je 0x100c2487
cmp ebp, 0x20
jae 0x100c23d2
mov esi, dword [esp + 0x20]
cmp esi, 3
jle 0x100c21b8
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
add eax, 4
sub esi, 4
mov dword [esp + 0x14], eax
mov dword [esp + 0x20], esi
jmp 0x100c21f9
test esi, esi
jle 0x100c21f6
xor ecx, ecx
or ebx, 0xffffffff
mov eax, dword [esp + 0x14]
dec esi
movzx edx, byte [eax]
inc eax
mov dword [esp + 0x14], eax
mov eax, 0xff
shl eax, cl
not eax
shl edx, cl
and ebx, eax
add ecx, 8
or ebx, edx
test esi, esi
jg 0x100c21c1
mov dword [esp + 0x10], ebx
mov ebx, dword [esp + 0x38]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x20], esi
jmp 0x100c21fd
or ecx, 0xffffffff
mov dword [esp + 0x10], ecx
mov eax, dword [esp + 0x28]
neg eax
movzx edx, cl
sbb eax, eax
add eax, 8
mov dword [esp + 0x28], eax
mov eax, ecx
mov ecx, dword [esp + 0x28]
shr eax, 8
movzx esi, al
mov eax, esi
shl eax, cl
or eax, edx
mov dword [esp + 0x18], eax
xor eax, eax
cmp edx, 0xff
sete al
sub ecx, eax
mov dword [esp + 0x28], ecx
lea edi, [ecx + 8]
mov ecx, dword [esp + 0x10]
mov eax, ecx
shr eax, 0x10
movzx ebp, al
xor eax, eax
cmp esi, 0xff
setne al
shr ecx, 0x18
add eax, 7
mov dword [esp + 0x10], ecx
add eax, dword [esp + 0x28]
xor edx, edx
cmp ecx, 0xff
mov dword [esp + 0x2c], eax
sete dl
lea ecx, [eax + 8]
mov dword [esp + 0x28], edx
mov eax, dword [esp + 0x10]
mov edx, ebp
shl eax, cl
mov ecx, edi
shl edx, cl
mov ecx, dword [esp + 0x1c]
or eax, edx
or eax, dword [esp + 0x18]
xor edx, edx
call fcn.10104c00
mov ecx, dword [esp + 0x30]
or dword [esp + 0x24], edx
or ecx, eax
xor eax, eax
mov dword [esp + 0x30], ecx
cmp ebp, 0xff
mov ebp, dword [esp + 0x1c]
setne al
add eax, 0xf
add eax, dword [esp + 0x2c]
add ebp, eax
mov dword [esp + 0x1c], ebp
cmp ebp, 0x20
jae 0x100c23d6
mov esi, dword [esp + 0x20]
cmp esi, 3
jle 0x100c22e3
mov eax, dword [esp + 0x14]
mov edx, dword [eax]
add eax, 4
sub esi, 4
mov dword [esp + 0x14], eax
mov dword [esp + 0x20], esi
jmp 0x100c2328
test esi, esi
jle 0x100c2325
xor ecx, ecx
or ebx, 0xffffffff
nop dword [eax]
mov eax, dword [esp + 0x14]
dec esi
movzx edx, byte [eax]
inc eax
mov dword [esp + 0x14], eax
mov eax, 0xff
shl eax, cl
not eax
shl edx, cl
and ebx, eax
add ecx, 8
or ebx, edx
test esi, esi
jg 0x100c22f0
mov dword [esp + 0x10], ebx
mov ebx, dword [esp + 0x38]
mov edx, dword [esp + 0x10]
mov dword [esp + 0x20], esi
jmp 0x100c232c
or edx, 0xffffffff
mov dword [esp + 0x10], edx
mov eax, edx
mov ecx, 8
sub ecx, dword [esp + 0x28]
shr eax, 8
movzx esi, al
movzx edx, dl
mov eax, esi
shl eax, cl
or eax, edx
mov dword [esp + 0x18], eax
xor eax, eax
cmp edx, 0xff
mov edx, dword [esp + 0x10]
sete al
sub ecx, eax
mov eax, edx
shr eax, 0x10
movzx ebp, al
xor eax, eax
cmp esi, 0xff
lea edi, [ecx + 8]
setne al
add ecx, 7
add eax, ecx
shr edx, 0x18
xor ecx, ecx
mov dword [esp + 0x2c], eax
cmp edx, 0xff
mov dword [esp + 0x10], edx
sete cl
mov dword [esp + 0x28], ecx
lea ecx, [eax + 8]
mov eax, edx
mov edx, ebp
shl eax, cl
mov ecx, edi
shl edx, cl
mov ecx, dword [esp + 0x1c]
or eax, edx
or eax, dword [esp + 0x18]
xor edx, edx
call fcn.10104c00
mov ecx, dword [esp + 0x30]
or dword [esp + 0x24], edx
or ecx, eax
xor eax, eax
cmp ebp, 0xff
mov ebp, dword [esp + 0x1c]
setne al
add eax, 0xf
add eax, dword [esp + 0x2c]
add ebp, eax
jmp 0x100c23d6
mov ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x58]
mov edi, ecx
mov esi, dword [esp + 0x88]
mov edx, dword [esp + 0x24]
shr eax, 0xd
and eax, 1
sub esi, eax
mov eax, ecx
mov ecx, esi
call fcn.10104c20
mov dword [esp + 0x30], eax
mov ecx, esi
mov eax, dword [esp + 0x58]
sub ebp, esi
mov esi, dword [esp + 0x5c]
shr eax, 9
mov dword [esp + 0x24], edx
and eax, 1
shl eax, cl
mov edx, 1
shl edx, cl
mov ecx, dword [esp + 0x94]
dec edx
and edx, edi
mov dword [esp + 0x1c], ebp
mov ebp, dword [esp + 0x4c]
or edx, eax
or edx, 1
shl edi, 0x1f
mov dword [esp + 0xd8], 0
lea eax, [edx + 2]
shl eax, cl
mov ecx, 0x20
or eax, edi
mov edi, dword [esp + 0x3c]
mov dword [esi + edi*4], eax
movzx eax, byte [ebp]
and eax, 0x7f
mov dword [esp + 0x2c], eax
bsr eax, edx
xor eax, 0x1f
sub ecx, eax
mov eax, dword [esp + 0x2c]
cmp dword [esp + 0x2c], ecx
movzx eax, al
movzx edx, cl
cmova edx, eax
mov eax, dword [esp + 0x58]
or dl, 0x80
mov byte [ebp], dl
mov edx, dword [esp + 0x48]
jmp 0x100c2497
mov ebp, dword [esp + 0x4c]
test dl, 2
je 0x100c2497
mov dword [esi + edi*4], 0
inc ebp
add esi, 4
mov dword [esp + 0x4c], ebp
mov dword [esp + 0x5c], esi
test al, 0x40
je 0x100c2743
cmp dword [esp + 0x1c], 0x20
jae 0x100c26cf
mov esi, dword [esp + 0x20]
cmp esi, 3
jle 0x100c24d5
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
add eax, 4
sub esi, 4
mov dword [esp + 0x14], eax
mov dword [esp + 0x20], esi
jmp 0x100c2518
test esi, esi
jle 0x100c2515
xor ecx, ecx
or ebx, 0xffffffff
nop
mov eax, dword [esp + 0x14]
dec esi
movzx edx, byte [eax]
inc eax
mov dword [esp + 0x14], eax
mov eax, 0xff
shl eax, cl
not eax
shl edx, cl
and ebx, eax
add ecx, 8
or ebx, edx
test esi, esi
jg 0x100c24e0
mov dword [esp + 0x40], ebx
mov ebx, dword [esp + 0x38]
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x20], esi
jmp 0x100c251c
or ecx, 0xffffffff
mov dword [esp + 0x40], ecx
mov eax, dword [esp + 0x28]
neg eax
sbb eax, eax
lea ebp, [eax + 8]
mov eax, ecx
shr eax, 8
movzx edx, al
movzx eax, cl
mov edi, edx
mov ecx, ebp
shl edi, cl
xor ecx, ecx
or edi, eax
cmp eax, 0xff
mov eax, 8
sete cl
sub eax, ecx
add ebp, eax
mov eax, dword [esp + 0x40]
shr eax, 0x10
mov ecx, ebp
movzx esi, al
mov eax, esi
shl eax, cl
xor ecx, ecx
or edi, eax
cmp edx, 0xff
mov eax, 8
sete cl
sub eax, ecx
xor ecx, ecx
add ebp, eax
mov eax, dword [esp + 0x40]
shr eax, 0x18
cmp eax, 0xff
sete cl
xor edx, edx
mov dword [esp + 0x28], ecx
mov ecx, ebp
shl eax, cl
or eax, edi
mov edi, dword [esp + 0x1c]
mov ecx, edi
call fcn.10104c00
mov ecx, dword [esp + 0x30]
or dword [esp + 0x24], edx
or ecx, eax
xor eax, eax
mov dword [esp + 0x30], ecx
cmp esi, 0xff
sete al
add edi, 8
sub ebp, eax
add edi, ebp
mov dword [esp + 0x1c], edi
cmp edi, 0x20
jae 0x100c26c9
mov esi, dword [esp + 0x20]
cmp esi, 3
jle 0x100c25e7
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
add eax, 4
sub esi, 4
mov dword [esp + 0x14], eax
mov dword [esp + 0x20], esi
jmp 0x100c2628
test esi, esi
jle 0x100c2625
xor ecx, ecx
or ebx, 0xffffffff
mov eax, dword [esp + 0x14]
dec esi
movzx edx, byte [eax]
inc eax
mov dword [esp + 0x14], eax
mov eax, 0xff
shl eax, cl
not eax
shl edx, cl
and ebx, eax
add ecx, 8
or ebx, edx
test esi, esi
jg 0x100c25f0
mov dword [esp + 0x40], ebx
mov ebx, dword [esp + 0x38]
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x20], esi
jmp 0x100c262c
or ecx, 0xffffffff
mov dword [esp + 0x40], ecx
mov eax, ecx
mov ebp, 8
sub ebp, dword [esp + 0x28]
shr eax, 8
movzx edx, al
movzx eax, cl
mov edi, edx
mov ecx, ebp
shl edi, cl
xor ecx, ecx
or edi, eax
cmp eax, 0xff
mov eax, 8
sete cl
sub eax, ecx
add ebp, eax
mov eax, dword [esp + 0x40]
shr eax, 0x10
mov ecx, ebp
movzx esi, al
mov eax, esi
shl eax, cl
xor ecx, ecx
or edi, eax
cmp edx, 0xff
mov eax, 8
sete cl
sub eax, ecx
xor ecx, ecx
add ebp, eax
mov eax, dword [esp + 0x40]
shr eax, 0x18
cmp eax, 0xff
sete cl
xor edx, edx
mov dword [esp + 0x28], ecx
mov ecx, ebp
shl eax, cl
or eax, edi
mov edi, dword [esp + 0x1c]
mov ecx, edi
call fcn.10104c00
mov ecx, dword [esp + 0x30]
or dword [esp + 0x24], edx
or ecx, eax
xor eax, eax
cmp esi, 0xff
sete al
add edi, 8
sub ebp, eax
add edi, ebp
mov dword [esp + 0x1c], edi
mov ebp, dword [esp + 0x4c]
jmp 0x100c26d3
mov ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x58]
mov edi, ecx
mov esi, dword [esp + 0x88]
mov edx, dword [esp + 0x24]
shr eax, 0xe
and eax, 1
sub esi, eax
mov eax, ecx
mov ecx, esi
call fcn.10104c20
sub dword [esp + 0x1c], esi
mov ecx, esi
mov esi, dword [esp + 0x5c]
mov dword [esp + 0x24], edx
mov edx, 1
shl edx, cl
mov dword [esp + 0x30], eax
dec edx
mov eax, dword [esp + 0x58]
and edx, edi
shr eax, 0xa
and eax, 1
shl edi, 0x1f
shl eax, cl
mov ecx, dword [esp + 0x94]
or edx, eax
mov eax, dword [esp + 0x58]
or edx, 1
add edx, 2
shl edx, cl
or edx, edi
mov edi, dword [esp + 0x3c]
mov dword [esi], edx
mov edx, dword [esp + 0x48]
jmp 0x100c274e
test dl, 4
je 0x100c274e
mov dword [esi], 0
mov byte [ebp], 0
test al, al
jns 0x100c2a07
cmp dword [esp + 0x1c], 0x20
jae 0x100c297f
mov esi, dword [esp + 0x20]
cmp esi, 3
jle 0x100c2784
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
add eax, 4
sub esi, 4
mov dword [esp + 0x14], eax
mov dword [esp + 0x20], esi
jmp 0x100c27c8
test esi, esi
jle 0x100c27c5
xor ecx, ecx
or ebx, 0xffffffff
nop dword [eax]
mov eax, dword [esp + 0x14]
dec esi
movzx edx, byte [eax]
inc eax
mov dword [esp + 0x14], eax
mov eax, 0xff
shl eax, cl
not eax
shl edx, cl
and ebx, eax
add ecx, 8
or ebx, edx
test esi, esi
jg 0x100c2790
mov dword [esp + 0x40], ebx
mov ebx, dword [esp + 0x38]
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x20], esi
jmp 0x100c27cc
or ecx, 0xffffffff
mov dword [esp + 0x40], ecx
mov eax, dword [esp + 0x28]
neg eax
sbb eax, eax
lea ebp, [eax + 8]
mov eax, ecx
shr eax, 8
movzx edx, al
movzx eax, cl
mov edi, edx
mov ecx, ebp
shl edi, cl
xor ecx, ecx
or edi, eax
cmp eax, 0xff
mov eax, 8
sete cl
sub eax, ecx
add ebp, eax
mov eax, dword [esp + 0x40]
shr eax, 0x10
mov ecx, ebp
movzx esi, al
mov eax, esi
shl eax, cl
xor ecx, ecx
or edi, eax
cmp edx, 0xff
mov eax, 8
sete cl
sub eax, ecx
xor ecx, ecx
add ebp, eax
mov eax, dword [esp + 0x40]
shr eax, 0x18
cmp eax, 0xff
sete cl
xor edx, edx
mov dword [esp + 0x28], ecx
mov ecx, ebp
shl eax, cl
or eax, edi
mov edi, dword [esp + 0x1c]
mov ecx, edi
call fcn.10104c00
mov ecx, dword [esp + 0x30]
or dword [esp + 0x24], edx
or ecx, eax
xor eax, eax
mov dword [esp + 0x30], ecx
cmp esi, 0xff
sete al
add edi, 8
sub ebp, eax
add edi, ebp
mov dword [esp + 0x1c], edi
cmp edi, 0x20
jae 0x100c2979
mov esi, dword [esp + 0x20]
cmp esi, 3
jle 0x100c2897
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
add eax, 4
sub esi, 4
mov dword [esp + 0x14], eax
mov dword [esp + 0x20], esi
jmp 0x100c28d8
test esi, esi
jle 0x100c28d5
xor ecx, ecx
or ebx, 0xffffffff
mov eax, dword [esp + 0x14]
dec esi
movzx edx, byte [eax]
inc eax
mov dword [esp + 0x14], eax
mov eax, 0xff
shl eax, cl
not eax
shl edx, cl
and ebx, eax
add ecx, 8
or ebx, edx
test esi, esi
jg 0x100c28a0
mov dword [esp + 0x40], ebx
mov ebx, dword [esp + 0x38]
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x20], esi
jmp 0x100c28dc
or ecx, 0xffffffff
mov dword [esp + 0x40], ecx
mov eax, ecx
mov ebp, 8
sub ebp, dword [esp + 0x28]
shr eax, 8
movzx edx, al
movzx eax, cl
mov edi, edx
mov ecx, ebp
shl edi, cl
xor ecx, ecx
or edi, eax
cmp eax, 0xff
mov eax, 8
sete cl
sub eax, ecx
add ebp, eax
mov eax, dword [esp + 0x40]
shr eax, 0x10
mov ecx, ebp
movzx esi, al
mov eax, esi
shl eax, cl
xor ecx, ecx
or edi, eax
cmp edx, 0xff
mov eax, 8
sete cl
sub eax, ecx
xor ecx, ecx
add ebp, eax
mov eax, dword [esp + 0x40]
shr eax, 0x18
cmp eax, 0xff
sete cl
xor edx, edx
mov dword [esp + 0x28], ecx
mov ecx, ebp
shl eax, cl
or eax, edi
mov edi, dword [esp + 0x1c]
mov ecx, edi
call fcn.10104c00
mov ecx, dword [esp + 0x30]
or dword [esp + 0x24], edx
or ecx, eax
xor eax, eax
cmp esi, 0xff
sete al
add edi, 8
sub ebp, eax
add edi, ebp
mov dword [esp + 0x1c], edi
mov ebp, dword [esp + 0x4c]
jmp 0x100c2983
mov ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x58]
mov edi, ecx
mov esi, dword [esp + 0x88]
mov edx, dword [esp + 0x24]
shr eax, 0xf
sub esi, eax
mov eax, ecx
mov ecx, esi
call fcn.10104c20
mov dword [esp + 0x30], eax
mov ecx, esi
mov eax, dword [esp + 0x58]
mov dword [esp + 0x24], edx
mov edx, 1
shl edx, cl
sub dword [esp + 0x1c], esi
dec edx
shr eax, 0xb
and edx, edi
mov esi, dword [esp + 0x5c]
and eax, 1
shl eax, cl
mov ecx, dword [esp + 0x94]
or edx, eax
or edx, 1
shl edi, 0x1f
mov dword [esp + 0xd8], 0
lea eax, [edx + 2]
shl eax, cl
bsr ecx, edx
mov edx, dword [esp + 0x48]
or eax, edi
mov edi, dword [esp + 0x3c]
xor cl, 0x1f
mov dword [esi + edi*4], eax
mov al, 0x20
sub al, cl
or al, 0x80
mov byte [ebp], al
jmp 0x100c2a13
test dl, 8
je 0x100c2a13
mov dword [esi + edi*4], 0
mov eax, dword [esp + 0x44]
add esi, 4
mov dword [esp + 0x5c], esi
test al, 0x10
je 0x100c2cc0
cmp dword [esp + 0x1c], 0x20
jae 0x100c2c4f
mov esi, dword [esp + 0x20]
cmp esi, 3
jle 0x100c2a50
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
add eax, 4
sub esi, 4
mov dword [esp + 0x14], eax
mov dword [esp + 0x20], esi
jmp 0x100c2a98
test esi, esi
jle 0x100c2a95
xor ecx, ecx
or ebx, 0xffffffff
nop dword [eax]
mov eax, dword [esp + 0x14]
dec esi
movzx edx, byte [eax]
inc eax
mov dword [esp + 0x14], eax
mov eax, 0xff
shl eax, cl
not eax
shl edx, cl
and ebx, eax
add ecx, 8
or ebx, edx
test esi, esi
jg 0x100c2a60
mov dword [esp + 0x40], ebx
mov ebx, dword [esp + 0x38]
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x20], esi
jmp 0x100c2a9c
or ecx, 0xffffffff
mov dword [esp + 0x40], ecx
mov eax, dword [esp + 0x28]
neg eax
sbb eax, eax
lea ebp, [eax + 8]
mov eax, ecx
shr eax, 8
movzx edx, al
movzx eax, cl
mov edi, edx
mov ecx, ebp
shl edi, cl
xor ecx, ecx
or edi, eax
cmp eax, 0xff
mov eax, 8
sete cl
sub eax, ecx
add ebp, eax
mov eax, dword [esp + 0x40]
shr eax, 0x10
mov ecx, ebp
movzx esi, al
mov eax, esi
shl eax, cl
xor ecx, ecx
or edi, eax
cmp edx, 0xff
mov eax, 8
sete cl
sub eax, ecx
xor ecx, ecx
add ebp, eax
mov eax, dword [esp + 0x40]
shr eax, 0x18
cmp eax, 0xff
sete cl
xor edx, edx
mov dword [esp + 0x28], ecx
mov ecx, ebp
shl eax, cl
or eax, edi
mov edi, dword [esp + 0x1c]
mov ecx, edi
call fcn.10104c00
mov ecx, dword [esp + 0x30]
or dword [esp + 0x24], edx
or ecx, eax
xor eax, eax
mov dword [esp + 0x30], ecx
cmp esi, 0xff
sete al
add edi, 8
sub ebp, eax
add edi, ebp
mov dword [esp + 0x1c], edi
cmp edi, 0x20
jae 0x100c2c49
mov esi, dword [esp + 0x20]
cmp esi, 3
jle 0x100c2b67
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
add eax, 4
sub esi, 4
mov dword [esp + 0x14], eax
mov dword [esp + 0x20], esi
jmp 0x100c2ba8
test esi, esi
jle 0x100c2ba5
xor ecx, ecx
or ebx, 0xffffffff
mov eax, dword [esp + 0x14]
dec esi
movzx edx, byte [eax]
inc eax
mov dword [esp + 0x14], eax
mov eax, 0xff
shl eax, cl
not eax
shl edx, cl
and ebx, eax
add ecx, 8
or ebx, edx
test esi, esi
jg 0x100c2b70
mov dword [esp + 0x40], ebx
mov ebx, dword [esp + 0x38]
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x20], esi
jmp 0x100c2bac
or ecx, 0xffffffff
mov dword [esp + 0x40], ecx
mov eax, ecx
mov ebp, 8
sub ebp, dword [esp + 0x28]
shr eax, 8
movzx edx, al
movzx eax, cl
mov edi, edx
mov ecx, ebp
shl edi, cl
xor ecx, ecx
or edi, eax
cmp eax, 0xff
mov eax, 8
sete cl
sub eax, ecx
add ebp, eax
mov eax, dword [esp + 0x40]
shr eax, 0x10
mov ecx, ebp
movzx esi, al
mov eax, esi
shl eax, cl
xor ecx, ecx
or edi, eax
cmp edx, 0xff
mov eax, 8
sete cl
sub eax, ecx
xor ecx, ecx
add ebp, eax
mov eax, dword [esp + 0x40]
shr eax, 0x18
cmp eax, 0xff
sete cl
xor edx, edx
mov dword [esp + 0x28], ecx
mov ecx, ebp
shl eax, cl
or eax, edi
mov edi, dword [esp + 0x1c]
mov ecx, edi
call fcn.10104c00
mov ecx, dword [esp + 0x30]
or dword [esp + 0x24], edx
or ecx, eax
xor eax, eax
cmp esi, 0xff
sete al
add edi, 8
sub ebp, eax
add edi, ebp
mov dword [esp + 0x1c], edi
mov ebp, dword [esp + 0x4c]
jmp 0x100c2c53
mov ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x44]
mov edi, ecx
mov esi, dword [esp + 0x64]
mov edx, dword [esp + 0x24]
shr eax, 0xc
and eax, 1
sub esi, eax
mov eax, ecx
mov ecx, esi
call fcn.10104c20
sub dword [esp + 0x1c], esi
mov ecx, esi
mov esi, dword [esp + 0x5c]
mov dword [esp + 0x24], edx
mov edx, 1
shl edx, cl
mov dword [esp + 0x30], eax
dec edx
mov eax, dword [esp + 0x44]
and edx, edi
shr eax, 8
and eax, 1
shl edi, 0x1f
shl eax, cl
mov ecx, dword [esp + 0x94]
or edx, eax
mov eax, dword [esp + 0x44]
or edx, 1
add edx, 2
shl edx, cl
or edx, edi
mov edi, dword [esp + 0x3c]
mov dword [esi], edx
mov edx, dword [esp + 0x48]
jmp 0x100c2ccb
test dl, 0x10
je 0x100c2ccb
mov dword [esi], 0
test al, 0x20
je 0x100c2fc4
cmp dword [esp + 0x1c], 0x20
jae 0x100c2f18
mov esi, dword [esp + 0x20]
cmp esi, 3
jle 0x100c2cfd
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
add eax, 4
sub esi, 4
mov dword [esp + 0x14], eax
mov dword [esp + 0x20], esi
jmp 0x100c2d3e
test esi, esi
jle 0x100c2d3b
xor ecx, ecx
or ebx, 0xffffffff
mov eax, dword [esp + 0x14]
dec esi
movzx edx, byte [eax]
inc eax
mov dword [esp + 0x14], eax
mov eax, 0xff
shl eax, cl
not eax
shl edx, cl
and ebx, eax
add ecx, 8
or ebx, edx
test esi, esi
jg 0x100c2d06
mov dword [esp + 0x10], ebx
mov ebx, dword [esp + 0x38]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x20], esi
jmp 0x100c2d42
or ecx, 0xffffffff
mov dword [esp + 0x10], ecx
mov eax, dword [esp + 0x28]
neg eax
movzx edx, cl
sbb eax, eax
add eax, 8
mov dword [esp + 0x28], eax
mov eax, ecx
mov ecx, dword [esp + 0x28]
shr eax, 8
movzx esi, al
mov eax, esi
shl eax, cl
or eax, edx
mov dword [esp + 0x18], eax
xor eax, eax
cmp edx, 0xff
sete al
sub ecx, eax
mov dword [esp + 0x28], ecx
lea edi, [ecx + 8]
mov ecx, dword [esp + 0x10]
mov eax, ecx
shr eax, 0x10
movzx ebp, al
xor eax, eax
cmp esi, 0xff
mov esi, dword [esp + 0x1c]
setne al
shr ecx, 0x18
add eax, 7
mov dword [esp + 0x10], ecx
add eax, dword [esp + 0x28]
xor edx, edx
cmp ecx, 0xff
mov dword [esp + 0x2c], eax
sete dl
lea ecx, [eax + 8]
mov dword [esp + 0x28], edx
mov eax, dword [esp + 0x10]
mov edx, ebp
shl eax, cl
mov ecx, edi
shl edx, cl
mov ecx, esi
or eax, edx
xor edx, edx
or eax, dword [esp + 0x18]
call fcn.10104c00
mov ecx, dword [esp + 0x30]
or dword [esp + 0x24], edx
or ecx, eax
xor eax, eax
mov dword [esp + 0x30], ecx
cmp ebp, 0xff
setne al
add eax, 0xf
add eax, dword [esp + 0x2c]
add esi, eax
mov dword [esp + 0x1c], esi
cmp esi, 0x20
jae 0x100c2f12
mov esi, dword [esp + 0x20]
cmp esi, 3
jle 0x100c2e26
mov eax, dword [esp + 0x14]
mov edx, dword [eax]
add eax, 4
sub esi, 4
mov dword [esp + 0x14], eax
mov dword [esp + 0x20], esi
jmp 0x100c2e68
test esi, esi
jle 0x100c2e65
xor ecx, ecx
or ebx, 0xffffffff
nop
mov eax, dword [esp + 0x14]
dec esi
movzx edx, byte [eax]
inc eax
mov dword [esp + 0x14], eax
mov eax, 0xff
shl eax, cl
not eax
shl edx, cl
and ebx, eax
add ecx, 8
or ebx, edx
test esi, esi
jg 0x100c2e30
mov dword [esp + 0x10], ebx
mov ebx, dword [esp + 0x38]
mov edx, dword [esp + 0x10]
mov dword [esp + 0x20], esi
jmp 0x100c2e6c
or edx, 0xffffffff
mov dword [esp + 0x10], edx
mov eax, edx
mov ecx, 8
sub ecx, dword [esp + 0x28]
shr eax, 8
movzx esi, al
movzx edx, dl
mov eax, esi
shl eax, cl
or eax, edx
mov dword [esp + 0x18], eax
xor eax, eax
cmp edx, 0xff
mov edx, dword [esp + 0x10]
sete al
sub ecx, eax
mov eax, edx
shr eax, 0x10
movzx ebp, al
xor eax, eax
cmp esi, 0xff
mov esi, dword [esp + 0x1c]
lea edi, [ecx + 8]
setne al
add ecx, 7
add eax, ecx
shr edx, 0x18
xor ecx, ecx
mov dword [esp + 0x2c], eax
cmp edx, 0xff
mov dword [esp + 0x10], edx
sete cl
mov dword [esp + 0x28], ecx
lea ecx, [eax + 8]
mov eax, edx
mov edx, ebp
shl eax, cl
mov ecx, edi
shl edx, cl
mov ecx, esi
or eax, edx
xor edx, edx
or eax, dword [esp + 0x18]
call fcn.10104c00
mov ecx, dword [esp + 0x30]
or dword [esp + 0x24], edx
or ecx, eax
xor eax, eax
cmp ebp, 0xff
setne al
add eax, 0xf
add eax, dword [esp + 0x2c]
add esi, eax
mov dword [esp + 0x1c], esi
mov ebp, dword [esp + 0x4c]
jmp 0x100c2f1c
mov ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x44]
mov edi, ecx
mov esi, dword [esp + 0x64]
mov edx, dword [esp + 0x24]
shr eax, 0xd
and eax, 1
sub esi, eax
mov eax, ecx
mov ecx, esi
call fcn.10104c20
sub dword [esp + 0x1c], esi
mov ecx, esi
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x44]
mov esi, dword [esp + 0x5c]
shr eax, 9
mov dword [esp + 0x24], edx
and eax, 1
shl eax, cl
mov edx, 1
shl edx, cl
mov ecx, dword [esp + 0x94]
dec edx
and edx, edi
mov dword [esp + 0xd8], 0
or edx, eax
shl edi, 0x1f
or edx, 1
lea eax, [edx + 2]
shl eax, cl
mov ecx, 0x20
or eax, edi
mov edi, dword [esp + 0x3c]
mov dword [esi + edi*4], eax
movzx eax, byte [ebp]
and eax, 0x7f
mov dword [esp + 0x2c], eax
bsr eax, edx
xor eax, 0x1f
sub ecx, eax
mov eax, dword [esp + 0x2c]
cmp dword [esp + 0x2c], ecx
movzx eax, al
movzx edx, cl
cmova edx, eax
mov eax, dword [esp + 0x44]
or dl, 0x80
mov byte [ebp], dl
mov edx, dword [esp + 0x48]
jmp 0x100c2fd0
test dl, 0x20
je 0x100c2fd0
mov dword [esi + edi*4], 0
inc ebp
add esi, 4
mov dword [esp + 0x4c], ebp
mov dword [esp + 0x5c], esi
test al, 0x40
je 0x100c3299
cmp dword [esp + 0x1c], 0x20
jae 0x100c3228
mov esi, dword [esp + 0x20]
cmp esi, 3
jle 0x100c300e
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
add eax, 4
sub esi, 4
mov dword [esp + 0x14], eax
mov dword [esp + 0x20], esi
jmp 0x100c304f
test esi, esi
jle 0x100c304c
xor ecx, ecx
or ebx, 0xffffffff
mov eax, dword [esp + 0x14]
dec esi
movzx edx, byte [eax]
inc eax
mov dword [esp + 0x14], eax
mov eax, 0xff
shl eax, cl
not eax
shl edx, cl
and ebx, eax
add ecx, 8
or ebx, edx
test esi, esi
jg 0x100c3017
mov dword [esp + 0x10], ebx
mov ebx, dword [esp + 0x38]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x20], esi
jmp 0x100c3053
or ecx, 0xffffffff
mov dword [esp + 0x10], ecx
mov eax, dword [esp + 0x28]
neg eax
movzx edx, cl
sbb eax, eax
add eax, 8
mov dword [esp + 0x28], eax
mov eax, ecx
mov ecx, dword [esp + 0x28]
shr eax, 8
movzx esi, al
mov eax, esi
shl eax, cl
or eax, edx
mov dword [esp + 0x18], eax
xor eax, eax
cmp edx, 0xff
sete al
sub ecx, eax
mov dword [esp + 0x28], ecx
lea edi, [ecx + 8]
mov ecx, dword [esp + 0x10]
mov eax, ecx
shr eax, 0x10
movzx ebp, al
xor eax, eax
cmp esi, 0xff
mov esi, dword [esp + 0x1c]
setne al
shr ecx, 0x18
add eax, 7
mov dword [esp + 0x10], ecx
add eax, dword [esp + 0x28]
xor edx, edx
cmp ecx, 0xff
mov dword [esp + 0x2c], eax
sete dl
lea ecx, [eax + 8]
mov dword [esp + 0x28], edx
mov eax, dword [esp + 0x10]
mov edx, ebp
shl eax, cl
mov ecx, edi
shl edx, cl
mov ecx, esi
or eax, edx
xor edx, edx
or eax, dword [esp + 0x18]
call fcn.10104c00
mov ecx, dword [esp + 0x30]
or dword [esp + 0x24], edx
or ecx, eax
xor eax, eax
mov dword [esp + 0x30], ecx
cmp ebp, 0xff
setne al
add eax, 0xf
add eax, dword [esp + 0x2c]
add esi, eax
mov dword [esp + 0x1c], esi
cmp esi, 0x20
jae 0x100c3222
mov esi, dword [esp + 0x20]
cmp esi, 3
jle 0x100c3137
mov eax, dword [esp + 0x14]
mov edx, dword [eax]
add eax, 4
sub esi, 4
mov dword [esp + 0x14], eax
mov dword [esp + 0x20], esi
jmp 0x100c3178
test esi, esi
jle 0x100c3175
xor ecx, ecx
or ebx, 0xffffffff
mov eax, dword [esp + 0x14]
dec esi
movzx edx, byte [eax]
inc eax
mov dword [esp + 0x14], eax
mov eax, 0xff
shl eax, cl
not eax
shl edx, cl
and ebx, eax
add ecx, 8
or ebx, edx
test esi, esi
jg 0x100c3140
mov dword [esp + 0x10], ebx
mov ebx, dword [esp + 0x38]
mov edx, dword [esp + 0x10]
mov dword [esp + 0x20], esi
jmp 0x100c317c
or edx, 0xffffffff
mov dword [esp + 0x10], edx
mov eax, edx
mov ecx, 8
sub ecx, dword [esp + 0x28]
shr eax, 8
movzx esi, al
movzx edx, dl
mov eax, esi
shl eax, cl
or eax, edx
mov dword [esp + 0x18], eax
xor eax, eax
cmp edx, 0xff
mov edx, dword [esp + 0x10]
sete al
sub ecx, eax
mov eax, edx
shr eax, 0x10
movzx ebp, al
xor eax, eax
cmp esi, 0xff
mov esi, dword [esp + 0x1c]
lea edi, [ecx + 8]
setne al
add ecx, 7
add eax, ecx
shr edx, 0x18
xor ecx, ecx
mov dword [esp + 0x2c], eax
cmp edx, 0xff
mov dword [esp + 0x10], edx
sete cl
mov dword [esp + 0x28], ecx
lea ecx, [eax + 8]
mov eax, edx
mov edx, ebp
shl eax, cl
mov ecx, edi
shl edx, cl
mov ecx, esi
or eax, edx
xor edx, edx
or eax, dword [esp + 0x18]
call fcn.10104c00
mov ecx, dword [esp + 0x30]
or dword [esp + 0x24], edx
or ecx, eax
xor eax, eax
cmp ebp, 0xff
setne al
add eax, 0xf
add eax, dword [esp + 0x2c]
add esi, eax
mov dword [esp + 0x1c], esi
mov ebp, dword [esp + 0x4c]
jmp 0x100c322c
mov ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x44]
mov edi, ecx
mov esi, dword [esp + 0x64]
mov edx, dword [esp + 0x24]
shr eax, 0xe
and eax, 1
sub esi, eax
mov eax, ecx
mov ecx, esi
call fcn.10104c20
sub dword [esp + 0x1c], esi
mov ecx, esi
mov esi, dword [esp + 0x5c]
mov dword [esp + 0x24], edx
mov edx, 1
shl edx, cl
mov dword [esp + 0x30], eax
dec edx
mov eax, dword [esp + 0x44]
and edx, edi
shr eax, 0xa
and eax, 1
shl edi, 0x1f
shl eax, cl
mov ecx, dword [esp + 0x94]
or edx, eax
mov eax, dword [esp + 0x44]
or edx, 1
add edx, 2
shl edx, cl
or edx, edi
mov edi, dword [esp + 0x3c]
mov dword [esi], edx
mov edx, dword [esp + 0x48]
jmp 0x100c32a4
test dl, 0x40
je 0x100c32a4
mov dword [esi], 0
mov byte [ebp], 0
test al, al
jns 0x100c3579
cmp dword [esp + 0x1c], 0x20
jae 0x100c34f8
mov esi, dword [esp + 0x20]
cmp esi, 3
jle 0x100c32da
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
add eax, 4
sub esi, 4
mov dword [esp + 0x14], eax
mov dword [esp + 0x20], esi
jmp 0x100c331b
test esi, esi
jle 0x100c3318
xor ecx, ecx
or ebx, 0xffffffff
mov eax, dword [esp + 0x14]
dec esi
movzx edx, byte [eax]
inc eax
mov dword [esp + 0x14], eax
mov eax, 0xff
shl eax, cl
not eax
shl edx, cl
and ebx, eax
add ecx, 8
or ebx, edx
test esi, esi
jg 0x100c32e3
mov dword [esp + 0x10], ebx
mov ebx, dword [esp + 0x38]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x20], esi
jmp 0x100c331f
or ecx, 0xffffffff
mov dword [esp + 0x10], ecx
mov eax, dword [esp + 0x28]
neg eax
movzx edx, cl
sbb eax, eax
add eax, 8
mov dword [esp + 0x28], eax
mov eax, ecx
mov ecx, dword [esp + 0x28]
shr eax, 8
movzx esi, al
mov eax, esi
shl eax, cl
or eax, edx
mov dword [esp + 0x18], eax
xor eax, eax
cmp edx, 0xff
sete al
sub ecx, eax
mov dword [esp + 0x28], ecx
lea edi, [ecx + 8]
mov ecx, dword [esp + 0x10]
mov eax, ecx
shr eax, 0x10
movzx ebp, al
xor eax, eax
cmp esi, 0xff
mov esi, dword [esp + 0x1c]
setne al
shr ecx, 0x18
add eax, 7
mov dword [esp + 0x10], ecx
add eax, dword [esp + 0x28]
xor edx, edx
cmp ecx, 0xff
mov dword [esp + 0x2c], eax
sete dl
lea ecx, [eax + 8]
mov dword [esp + 0x28], edx
mov eax, dword [esp + 0x10]
mov edx, ebp
shl eax, cl
mov ecx, edi
shl edx, cl
mov ecx, esi
or eax, edx
xor edx, edx
or eax, dword [esp + 0x18]
call fcn.10104c00
mov ecx, dword [esp + 0x30]
or dword [esp + 0x24], edx
or ecx, eax
xor eax, eax
mov dword [esp + 0x30], ecx
cmp ebp, 0xff
setne al
add eax, 0xf
add eax, dword [esp + 0x2c]
add esi, eax
mov dword [esp + 0x1c], esi
cmp esi, 0x20
jae 0x100c34f2
mov esi, dword [esp + 0x20]
cmp esi, 3
jle 0x100c3403
mov eax, dword [esp + 0x14]
mov edx, dword [eax]
add eax, 4
sub esi, 4
mov dword [esp + 0x14], eax
mov dword [esp + 0x20], esi
jmp 0x100c3448
test esi, esi
jle 0x100c3445
xor ecx, ecx
or ebx, 0xffffffff
nop dword [eax]
mov eax, dword [esp + 0x14]
dec esi
movzx edx, byte [eax]
inc eax
mov dword [esp + 0x14], eax
mov eax, 0xff
shl eax, cl
not eax
shl edx, cl
and ebx, eax
add ecx, 8
or ebx, edx
test esi, esi
jg 0x100c3410
mov dword [esp + 0x10], ebx
mov ebx, dword [esp + 0x38]
mov edx, dword [esp + 0x10]
mov dword [esp + 0x20], esi
jmp 0x100c344c
or edx, 0xffffffff
mov dword [esp + 0x10], edx
mov eax, edx
mov ecx, 8
sub ecx, dword [esp + 0x28]
shr eax, 8
movzx esi, al
movzx edx, dl
mov eax, esi
shl eax, cl
or eax, edx
mov dword [esp + 0x18], eax
xor eax, eax
cmp edx, 0xff
mov edx, dword [esp + 0x10]
sete al
sub ecx, eax
mov eax, edx
shr eax, 0x10
movzx ebp, al
xor eax, eax
cmp esi, 0xff
mov esi, dword [esp + 0x1c]
lea edi, [ecx + 8]
setne al
add ecx, 7
add eax, ecx
shr edx, 0x18
xor ecx, ecx
mov dword [esp + 0x2c], eax
cmp edx, 0xff
mov dword [esp + 0x10], edx
sete cl
mov dword [esp + 0x28], ecx
lea ecx, [eax + 8]
mov eax, edx
mov edx, ebp
shl eax, cl
mov ecx, edi
shl edx, cl
mov ecx, esi
or eax, edx
xor edx, edx
or eax, dword [esp + 0x18]
call fcn.10104c00
mov ecx, dword [esp + 0x30]
or dword [esp + 0x24], edx
or ecx, eax
xor eax, eax
cmp ebp, 0xff
setne al
add eax, 0xf
add eax, dword [esp + 0x2c]
add esi, eax
mov dword [esp + 0x1c], esi
mov ebp, dword [esp + 0x4c]
jmp 0x100c34fc
mov ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x44]
mov edi, ecx
mov esi, dword [esp + 0x64]
mov edx, dword [esp + 0x24]
shr eax, 0xf
sub esi, eax
mov eax, ecx
mov ecx, esi
call fcn.10104c20
mov dword [esp + 0x30], eax
mov ecx, esi
mov eax, dword [esp + 0x44]
mov dword [esp + 0x24], edx
mov edx, 1
sub dword [esp + 0x1c], esi
shl edx, cl
shr eax, 0xb
dec edx
mov esi, dword [esp + 0x5c]
and eax, 1
shl eax, cl
and edx, edi
mov ecx, dword [esp + 0x94]
or edx, eax
or edx, 1
shl edi, 0x1f
mov dword [esp + 0xd8], 0
lea eax, [edx + 2]
shl eax, cl
bsr ecx, edx
or eax, edi
mov edi, dword [esp + 0x3c]
xor cl, 0x1f
mov dword [esi + edi*4], eax
mov al, 0x20
sub al, cl
or al, 0x80
mov byte [ebp], al
jmp 0x100c3584
test dl, dl
jns 0x100c3584
mov dword [esi + edi*4], 0
mov eax, dword [esp + 0x84]
add esi, 4
mov dword [esp + 0xa0], eax
cmp eax, edi
mov eax, dword [esp + 0x130]
mov dword [esp + 0x5c], esi
mov dword [esp + 0x48], eax
jge 0x100c35bc
mov ebp, dword [esp + 0x12c]
mov esi, dword [esp + 0x6c]
mov dword [esp + 0x44], ebp
jmp 0x100c0eb0
mov ecx, dword [esp + 0x12c]
mov eax, dword [esp + 0xd0]
mov ebp, dword [esp + 0x10c]
mov dword [esp + 0x44], ecx
mov ecx, 2
lea edx, [eax - 2]
mov dword [esp + 0x40], ecx
mov dword [esp + 0xcc], edx
cmp dword [esp + 0x104], ecx
jle 0x100c68af
nop word [eax + eax]
mov eax, dword [esp + 0xf8]
mov edx, dword [esp + 0x110]
xor eax, 2
and eax, 0xffffffef
test cl, 4
mov dword [esp + 0xf8], eax
mov eax, dword [esp + 0x100]
cmovne eax, edx
mov dword [esp + 0xa0], eax
lea eax, [edx + 0x630]
mov dl, byte [eax]
mov esi, eax
mov byte [eax], 0
mov eax, ecx
imul eax, edi
mov dword [esp + 0x58], esi
lea eax, [eax*4]
add eax, ebp
xor ebp, ebp
mov dword [esp + 0x5c], eax
mov dword [esp + 0x8c], ebp
test edi, edi
jle 0x100c5ad4
lea ecx, [esi + 1]
movzx eax, dl
mov dword [esp + 0xd0], ecx
movzx ecx, byte [ecx]
shr ecx, 5
mov dword [esp + 0xc8], eax
and ecx, 4
shr eax, 7
or ecx, eax
or ebp, ecx
cmp dword [esp + 0x78], 0x20
mov dword [esp + 0x9c], ebp
jae 0x100c39ad
mov ebp, dword [esp + 0xe0]
xor edx, edx
cmp ebp, 3
jle 0x100c3724
mov eax, dword [esp + 0xc4]
mov edx, dword [eax - 3]
sub eax, 4
mov dword [esp + 0xc4], eax
sub ebp, 4
jmp 0x100c374b
push str.Malformed_HT_codeblock._VLC_code_produces_significant_samples_outside_the_codeblock_area._n
push 1
push dword [esp + 0x1b4]
call fcn.1008aab0
add esp, 0xc
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x184
ret
mov ebx, dword [esp + 0x1b0]
test ebx, ebx
je 0x100c3701
push ebx
call fcn.1009aec0
push str.Malformed_HT_codeblock._Decoding_this_codeblock_is_stopped._U_q_is_larger_than_zero_bitplanes__1__n
jmp 0x100c7934
push str.Malformed_HT_codeblock._Decoding_this_codeblock_is_stopped._U_q_is_larger_than_zero_bitplanes__1__n
push 1
push dword [esp + 0x1b4]
call fcn.1008aab0
add esp, 0xc
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x184
ret
test ebp, ebp
jle 0x100c3752
mov esi, dword [esp + 0xc4]
mov ecx, 0x18
movzx eax, byte [esi]
dec ebp
shl eax, cl
dec esi
or edx, eax
sub ecx, 8
test ebp, ebp
jg 0x100c3734
mov dword [esp + 0xc4], esi
mov dword [esp + 0xe0], ebp
mov edi, edx
shr edi, 0x18
cmp dword [esp + 0xe8], 0
mov ebp, edi
je 0x100c3771
mov eax, edi
mov esi, 7
and eax, 0x7f
cmp al, 0x7f
je 0x100c3776
mov esi, 8
mov eax, edx
mov ecx, esi
shr eax, 0x10
mov dword [esp + 0x18], eax
movzx eax, al
mov dword [esp + 0x2c], eax
shl eax, cl
or ebp, eax
cmp edi, 0x8f
jbe 0x100c37a6
mov eax, dword [esp + 0x18]
and eax, 0x7f
cmp al, 0x7f
jne 0x100c37a6
mov eax, 1
jmp 0x100c37a8
xor eax, eax
sub esi, eax
mov eax, edx
shr eax, 8
add esi, 8
movzx edi, al
mov ecx, esi
mov dword [esp + 0x18], eax
mov eax, edi
shl eax, cl
or ebp, eax
cmp dword [esp + 0x2c], 0x8f
jbe 0x100c37dd
mov eax, dword [esp + 0x18]
and eax, 0x7f
cmp al, 0x7f
jne 0x100c37dd
mov ecx, 1
jmp 0x100c37df
xor ecx, ecx
mov eax, 8
sub eax, ecx
add esi, eax
movzx eax, dl
mov ecx, esi
mov dword [esp + 0x18], eax
shl eax, cl
or ebp, eax
cmp edi, 0x8f
jbe 0x100c380c
and edx, 0x7f
cmp dl, 0x7f
jne 0x100c380c
mov edi, 1
jmp 0x100c380e
xor edi, edi
mov eax, ebp
xor edx, edx
mov ebp, dword [esp + 0x78]
mov ecx, ebp
call fcn.10104c00
mov ecx, dword [esp + 0x44]
sub esi, edi
or dword [esp + 0x48], edx
or ecx, eax
add ebp, 8
mov dword [esp + 0x44], ecx
add ebp, esi
mov eax, 0x8f
mov esi, dword [esp + 0x18]
cmp eax, esi
mov dword [esp + 0x78], ebp
sbb edx, edx
neg edx
mov dword [esp + 0xe8], edx
cmp ebp, 0x20
jae 0x100c39a4
mov ebp, dword [esp + 0xe0]
xor edx, edx
cmp ebp, 3
jle 0x100c387c
mov eax, dword [esp + 0xc4]
mov edx, dword [eax - 3]
sub eax, 4
mov dword [esp + 0xc4], eax
sub ebp, 4
jmp 0x100c38a7
test ebp, ebp
jle 0x100c38ae
mov edi, dword [esp + 0xc4]
mov ecx, 0x18
nop dword [eax]
movzx eax, byte [edi]
dec ebp
shl eax, cl
dec edi
or edx, eax
sub ecx, 8
test ebp, ebp
jg 0x100c3890
mov dword [esp + 0xc4], edi
mov dword [esp + 0xe0], ebp
mov edi, edx
shr edi, 0x18
mov ebp, edi
cmp esi, 0x8f
jbe 0x100c38cb
mov eax, edi
mov esi, 7
and eax, 0x7f
cmp al, 0x7f
je 0x100c38d0
mov esi, 8
mov eax, edx
mov ecx, esi
shr eax, 0x10
mov dword [esp + 0x18], eax
movzx eax, al
mov dword [esp + 0x2c], eax
shl eax, cl
or ebp, eax
cmp edi, 0x8f
jbe 0x100c3900
mov eax, dword [esp + 0x18]
and eax, 0x7f
cmp al, 0x7f
jne 0x100c3900
mov eax, 1
jmp 0x100c3902
xor eax, eax
sub esi, eax
mov eax, edx
shr eax, 8
add esi, 8
movzx edi, al
mov ecx, esi
mov dword [esp + 0x18], eax
mov eax, edi
shl eax, cl
or ebp, eax
cmp dword [esp + 0x2c], 0x8f
jbe 0x100c3937
mov eax, dword [esp + 0x18]
and eax, 0x7f
cmp al, 0x7f
jne 0x100c3937
mov ecx, 1
jmp 0x100c3939
xor ecx, ecx
mov eax, 8
sub eax, ecx
add esi, eax
movzx eax, dl
mov ecx, esi
mov dword [esp + 0x18], eax
shl eax, cl
or ebp, eax
cmp edi, 0x8f
jbe 0x100c3966
and edx, 0x7f
cmp dl, 0x7f
jne 0x100c3966
mov edi, 1
jmp 0x100c3968
xor edi, edi
mov eax, ebp
xor edx, edx
mov ebp, dword [esp + 0x78]
mov ecx, ebp
call fcn.10104c00
mov ecx, dword [esp + 0x44]
sub esi, edi
or dword [esp + 0x48], edx
or ecx, eax
add ebp, 8
mov dword [esp + 0x44], ecx
add ebp, esi
mov eax, 0x8f
cmp eax, dword [esp + 0x18]
mov dword [esp + 0x78], ebp
sbb eax, eax
neg eax
mov dword [esp + 0xe8], eax
mov ebp, dword [esp + 0x9c]
jmp 0x100c39b1
mov ecx, dword [esp + 0x44]
and ecx, 0x7f
mov eax, ebp
shl eax, 7
or ecx, eax
movzx ecx, word [ecx*2 + 0x101a9dd0]
mov dword [esp + 0x4c], ecx
test ebp, ebp
jne 0x100c3cea
mov eax, dword [esp + 0x6c]
xor edx, edx
sub eax, 2
cmp eax, 0xffffffff
mov dword [esp + 0x6c], eax
cmovne ecx, edx
mov dword [esp + 0x4c], ecx
test eax, eax
jns 0x100c3cea
cmp dword [esp + 0x80], edx
jne 0x100c3cb7
cmp dword [esp + 0x50], 6
jge 0x100c3b7a
mov ebp, dword [esp + 0xa4]
or ecx, 0xffffffff
mov dword [esp + 0x10], ecx
cmp ebp, 4
jle 0x100c3a2b
mov eax, dword [esp + 0x60]
mov ecx, dword [eax]
add eax, 4
mov dword [esp + 0x60], eax
sub ebp, 4
jmp 0x100c3a8d
test ebp, ebp
jle 0x100c3a98
xor ecx, ecx
cmp ebp, 1
jle 0x100c3a6a
mov ebx, dword [esp + 0x10]
lea esi, [ebp - 1]
lea ebp, [ecx + 1]
mov eax, dword [esp + 0x60]
movzx edx, byte [eax]
inc eax
mov dword [esp + 0x60], eax
mov eax, 0xff
shl eax, cl
not eax
shl edx, cl
and ebx, eax
add ecx, 8
or ebx, edx
sub esi, ebp
jne 0x100c3a40
mov dword [esp + 0x10], ebx
mov ebx, dword [esp + 0x38]
mov eax, dword [esp + 0x60]
movzx edx, byte [eax]
inc eax
mov dword [esp + 0x60], eax
or edx, 0xf
mov eax, 0xff
shl edx, cl
shl eax, cl
not eax
and eax, dword [esp + 0x10]
or eax, edx
dec ebp
mov ecx, eax
mov dword [esp + 0xa4], ebp
mov dword [esp + 0x10], ecx
mov eax, ecx
movzx esi, cl
shr eax, 8
mov ebp, esi
movzx edx, al
xor eax, eax
cmp edx, 0xff
sete al
mov dword [esp + 0x18], eax
mov eax, ecx
xor ecx, ecx
shr eax, 0x10
cmp esi, 0xff
movzx edi, al
setne cl
add ecx, 7
shl ebp, cl
mov ecx, 8
sub ecx, dword [esp + 0x18]
or ebp, edx
shl ebp, cl
xor ecx, ecx
or ebp, edi
cmp edi, 0xff
setne cl
xor eax, eax
add ecx, 0x1f
cmp esi, 0xff
mov esi, dword [esp + 0x10]
setne al
shr esi, 0x18
dec eax
add ecx, eax
xor eax, eax
sub ecx, dword [esp + 0xe4]
sub ecx, dword [esp + 0x18]
cmp esi, 0xff
mov dword [esp + 0x18], ecx
sete al
xor ecx, ecx
cmp edi, 0xff
mov dword [esp + 0xe4], eax
setne cl
xor edx, edx
add ecx, 7
shl ebp, cl
mov ecx, 0x40
sub ecx, dword [esp + 0x50]
or ebp, esi
sub ecx, dword [esp + 0x18]
mov eax, ebp
call fcn.10104c00
mov ecx, dword [esp + 0x7c]
mov edi, dword [esp + 0x68]
or ecx, eax
mov eax, dword [esp + 0x50]
or edi, edx
add eax, dword [esp + 0x18]
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x70], ecx
mov dword [esp + 0x68], edi
mov dword [esp + 0x74], edi
mov dword [esp + 0x50], eax
cmp eax, 6
jl 0x100c3cb3
jmp 0x100c3b7e
mov edi, dword [esp + 0x68]
mov ebx, dword [esp + 0x7c]
xor ebp, ebp
mov dword [esp + 0x54], ebp
nop dword [eax + eax]
cmp ebp, 0x38
jge 0x100c3cab
mov esi, dword [esp + 0xf4]
mov ebp, 1
mov edx, dword [esi*4 + 0x101aa5d0]
mov ecx, edx
shl ebp, cl
dec ebp
test edi, edi
jg 0x100c3be9
jl 0x100c3bbb
test ebx, ebx
jae 0x100c3be9
lea eax, [esi + 1]
mov ecx, 0xc
cmp eax, ecx
cmovl ecx, eax
shld edi, ebx, 1
mov dword [esp + 0xf4], ecx
mov ecx, dword [esp + 0x50]
add ebx, ebx
mov dword [esp + 0x68], edi
add ebp, ebp
mov dword [esp + 0x70], ebx
mov dword [esp + 0x74], edi
jmp 0x100c3c43
movq xmm1, qword [esp + 0x70]
mov eax, 0x3f
sub eax, edx
dec esi
movd xmm0, eax
lea eax, [edx + 1]
psrlq xmm1, xmm0
movd xmm0, eax
xor eax, eax
movd ecx, xmm1
movq xmm1, qword [esp + 0x70]
psllq xmm1, xmm0
and ecx, ebp
test esi, esi
movq qword [esp + 0x70], xmm1
mov ebx, dword [esp + 0x70]
cmovle esi, eax
mov eax, dword [esp + 0x74]
lea ebp, [ecx*2 + 1]
mov dword [esp + 0xf4], esi
mov ecx, dword [esp + 0x50]
sub ecx, edx
mov dword [esp + 0x68], eax
dec ecx
mov eax, 0x3f
mov dword [esp + 0x50], ecx
xor edx, edx
mov ecx, dword [esp + 0x54]
call fcn.10104c00
mov esi, eax
mov edi, edx
mov eax, ebp
not esi
mov ebp, dword [esp + 0x54]
not edi
and esi, dword [esp + 0xa8]
mov ecx, ebp
and edi, dword [esp + 0xac]
cdq
call fcn.10104c00
inc dword [esp + 0x80]
or edi, edx
or esi, eax
mov dword [esp + 0xac], edi
mov edi, dword [esp + 0x68]
add ebp, 7
cmp dword [esp + 0x50], 6
mov dword [esp + 0xa8], esi
mov dword [esp + 0x54], ebp
jge 0x100c3b90
mov dword [esp + 0x7c], ebx
mov ebx, dword [esp + 0x38]
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0xa8]
mov eax, edx
and eax, 0x7f
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0xac]
shrd edx, eax, 7
shr eax, 7
dec dword [esp + 0x80]
mov dword [esp + 0xa8], edx
mov dword [esp + 0xac], eax
mov eax, ecx
mov edx, ecx
shr eax, 1
mov esi, ecx
or edx, eax
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x44]
and esi, 7
shr edx, 5
mov ecx, esi
and edx, 2
mov dword [esp + 0x9c], edx
mov edx, dword [esp + 0x48]
call fcn.10104c20
sub dword [esp + 0x78], esi
mov edi, edx
mov esi, dword [esp + 0xa0]
mov ebp, eax
mov eax, dword [esp + 0x4c]
mov edx, eax
mov ecx, dword [esp + 0xf8]
and eax, 0xc0
shr edx, 2
and edx, 0xc
mov dword [esp + 0x48], ebp
or edx, eax
mov dword [esp + 0x2c], edi
mov eax, dword [esp + 0x8c]
shr edx, 2
add eax, 2
shl edx, cl
xor ecx, ecx
or dword [esi], edx
mov dword [esp + 0x12c], ebp
mov dword [esp + 0x130], edi
mov dword [esp + 0x44], ecx
cmp eax, dword [esp + 0x3c]
jge 0x100c4134
mov eax, dword [esp + 0x58]
mov esi, dword [esp + 0xd0]
mov edx, dword [esp + 0x9c]
movzx ecx, byte [eax + 2]
movzx eax, byte [esi]
and ecx, 0x80
shr eax, 2
or ecx, eax
shr ecx, 5
or edx, ecx
mov ecx, ebp
mov eax, edx
and ecx, 0x7f
shl eax, 7
or ecx, eax
movzx eax, word [ecx*2 + 0x101a9dd0]
mov dword [esp + 0x44], eax
test edx, edx
jne 0x100c40f2
mov ecx, dword [esp + 0x6c]
sub ecx, 2
cmp ecx, 0xffffffff
mov dword [esp + 0x6c], ecx
cmovne eax, edx
mov dword [esp + 0x44], eax
test ecx, ecx
jns 0x100c40f2
cmp dword [esp + 0x80], edx
jne 0x100c40bf
cmp dword [esp + 0x50], 6
jge 0x100c3f74
mov ebp, dword [esp + 0xa4]
or ecx, 0xffffffff
mov dword [esp + 0x10], ecx
cmp ebp, 4
jle 0x100c3e1d
mov eax, dword [esp + 0x60]
mov ecx, dword [eax]
add eax, 4
mov dword [esp + 0x60], eax
sub ebp, 4
jmp 0x100c3e7f
test ebp, ebp
jle 0x100c3e8a
xor ecx, ecx
cmp ebp, 1
jle 0x100c3e5c
mov ebx, dword [esp + 0x10]
lea esi, [ebp - 1]
lea ebp, [ecx + 1]
mov eax, dword [esp + 0x60]
movzx edx, byte [eax]
inc eax
mov dword [esp + 0x60], eax
mov eax, 0xff
shl eax, cl
not eax
shl edx, cl
and ebx, eax
add ecx, 8
or ebx, edx
sub esi, ebp
jne 0x100c3e32
mov dword [esp + 0x10], ebx
mov ebx, dword [esp + 0x38]
mov eax, dword [esp + 0x60]
movzx edx, byte [eax]
inc eax
mov dword [esp + 0x60], eax
or edx, 0xf
mov eax, 0xff
shl edx, cl
shl eax, cl
not eax
and eax, dword [esp + 0x10]
or eax, edx
dec ebp
mov ecx, eax
mov dword [esp + 0xa4], ebp
mov dword [esp + 0x10], ecx
mov eax, ecx
movzx esi, cl
shr eax, 8
mov ebp, esi
movzx edx, al
xor eax, eax
cmp edx, 0xff
sete al
mov dword [esp + 0x18], eax
mov eax, ecx
xor ecx, ecx
shr eax, 0x10
cmp esi, 0xff
movzx edi, al
setne cl
add ecx, 7
shl ebp, cl
mov ecx, 8
sub ecx, dword [esp + 0x18]
or ebp, edx
shl ebp, cl
xor ecx, ecx
or ebp, edi
cmp edi, 0xff
setne cl
xor eax, eax
add ecx, 0x1f
cmp esi, 0xff
mov esi, dword [esp + 0x10]
setne al
shr esi, 0x18
dec eax
add ecx, eax
xor eax, eax
sub ecx, dword [esp + 0x18]
sub ecx, dword [esp + 0xe4]
cmp esi, 0xff
mov dword [esp + 0x18], ecx
sete al
xor ecx, ecx
cmp edi, 0xff
mov dword [esp + 0xe4], eax
setne cl
xor edx, edx
add ecx, 7
shl ebp, cl
mov ecx, 0x40
sub ecx, dword [esp + 0x18]
or ebp, esi
sub ecx, dword [esp + 0x50]
mov eax, ebp
call fcn.10104c00
mov ecx, dword [esp + 0x7c]
mov edi, dword [esp + 0x68]
or ecx, eax
mov eax, dword [esp + 0x50]
or edi, edx
add eax, dword [esp + 0x18]
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x70], ecx
mov dword [esp + 0x68], edi
mov dword [esp + 0x74], edi
mov dword [esp + 0x50], eax
cmp eax, 6
jl 0x100c40b3
xor ebp, ebp
mov ebx, ecx
mov dword [esp + 0x54], ebp
jmp 0x100c3f94
mov edi, dword [esp + 0x68]
xor ebp, ebp
mov ebx, dword [esp + 0x7c]
mov dword [esp + 0x54], ebp
jmp 0x100c3f94
mov edi, dword [esp + 0x68]
cmp ebp, 0x38
jge 0x100c40ab
mov esi, dword [esp + 0xf4]
mov ebp, 1
mov edx, dword [esi*4 + 0x101aa5d0]
mov ecx, edx
shl ebp, cl
dec ebp
test edi, edi
jg 0x100c3fed
jl 0x100c3fbf
test ebx, ebx
jae 0x100c3fed
lea eax, [esi + 1]
mov ecx, 0xc
cmp eax, ecx
cmovl ecx, eax
shld edi, ebx, 1
mov dword [esp + 0xf4], ecx
mov ecx, dword [esp + 0x50]
add ebx, ebx
mov dword [esp + 0x68], edi
add ebp, ebp
mov dword [esp + 0x70], ebx
mov dword [esp + 0x74], edi
jmp 0x100c4047
movq xmm1, qword [esp + 0x70]
mov eax, 0x3f
sub eax, edx
dec esi
movd xmm0, eax
lea eax, [edx + 1]
psrlq xmm1, xmm0
movd xmm0, eax
xor eax, eax
movd ecx, xmm1
movq xmm1, qword [esp + 0x70]
psllq xmm1, xmm0
and ecx, ebp
test esi, esi
movq qword [esp + 0x70], xmm1
mov ebx, dword [esp + 0x70]
cmovle esi, eax
mov eax, dword [esp + 0x74]
lea ebp, [ecx*2 + 1]
mov dword [esp + 0xf4], esi
mov ecx, dword [esp + 0x50]
sub ecx, edx
mov dword [esp + 0x68], eax
dec ecx
mov eax, 0x3f
mov dword [esp + 0x50], ecx
xor edx, edx
mov ecx, dword [esp + 0x54]
call fcn.10104c00
mov esi, eax
mov edi, edx
mov eax, ebp
not esi
mov ebp, dword [esp + 0x54]
not edi
and esi, dword [esp + 0xa8]
mov ecx, ebp
and edi, dword [esp + 0xac]
cdq
call fcn.10104c00
inc dword [esp + 0x80]
or esi, eax
or edi, edx
mov dword [esp + 0xa8], esi
add ebp, 7
mov dword [esp + 0xac], edi
cmp dword [esp + 0x50], 6
mov dword [esp + 0x54], ebp
jge 0x100c3f90
mov dword [esp + 0x7c], ebx
mov ebx, dword [esp + 0x38]
mov eax, dword [esp + 0x44]
mov edi, dword [esp + 0x2c]
mov ebp, dword [esp + 0x48]
mov edx, dword [esp + 0xa8]
mov ecx, edx
and ecx, 0x7f
mov dword [esp + 0x6c], ecx
mov ecx, dword [esp + 0xac]
shrd edx, ecx, 7
shr ecx, 7
dec dword [esp + 0x80]
mov dword [esp + 0xa8], edx
mov dword [esp + 0xac], ecx
mov ecx, eax
mov esi, eax
shr ecx, 1
and esi, 7
or ecx, eax
mov edx, edi
shr ecx, 5
mov eax, ebp
and ecx, 2
mov dword [esp + 0x9c], ecx
mov ecx, esi
call fcn.10104c20
sub dword [esp + 0x78], esi
mov ebp, eax
mov ecx, dword [esp + 0x44]
mov esi, dword [esp + 0xa0]
mov dword [esp + 0x12c], ebp
mov dword [esp + 0x130], edx
mov edi, dword [esp + 0xf8]
mov edx, ecx
mov eax, dword [esp + 0x8c]
and edx, 0xc0
shl edx, 2
and ecx, 0x30
and al, 7
or edx, ecx
lea ecx, [edi + 4]
movzx eax, al
shl edx, cl
or dword [esi], edx
neg eax
sbb eax, eax
xor edi, 0x10
and eax, 4
mov dword [esp + 0xf8], edi
mov edi, dword [esp + 0x44]
add esi, eax
mov eax, dword [esp + 0x84]
and edi, 8
and eax, 4
mov dword [esp + 0xa0], esi
or edi, eax
xor esi, esi
shr edi, 2
test edi, edi
jne 0x100c41a9
mov edx, 1
mov dword [esp + 0x88], edx
mov dword [esp + 0x64], edx
jmp 0x100c4293
cmp edi, 2
ja 0x100c420a
mov eax, ebp
and eax, 7
movzx esi, byte [eax + 0x101aa60c]
mov ecx, esi
mov eax, esi
shr ecx, 2
and eax, 3
and ecx, 7
shr esi, 5
lea edx, [eax + ecx]
mov dword [esp + 0x18], edx
mov edx, 1
shl edx, cl
mov ecx, eax
dec edx
shr ebp, cl
and edx, ebp
mov ecx, 1
lea eax, [edx + 1]
add eax, esi
mov esi, dword [esp + 0x18]
cmp edi, 1
mov edx, eax
cmovne edx, ecx
mov dword [esp + 0x64], edx
mov edx, ecx
cmovne edx, eax
mov dword [esp + 0x88], edx
jmp 0x100c4293
cmp edi, 3
jne 0x100c428c
mov eax, ebp
and eax, 7
movzx edi, byte [eax + 0x101aa60c]
mov eax, 1
mov esi, edi
mov edx, edi
and esi, 3
shr edx, 2
mov ecx, esi
shr edi, 5
shr ebp, cl
and edx, 7
mov dword [esp + 0x48], ebp
and ebp, 7
movzx ebp, byte [ebp + 0x101aa60c]
mov ecx, ebp
and ecx, 3
shr dword [esp + 0x48], cl
add esi, ecx
mov ecx, edx
add esi, edx
mov edx, dword [esp + 0x48]
shl eax, cl
dec eax
shr edx, cl
and eax, dword [esp + 0x48]
mov ecx, ebp
inc eax
shr ecx, 2
add eax, edi
shr ebp, 5
mov dword [esp + 0x64], eax
and ecx, 7
mov eax, 1
add esi, ecx
shl eax, cl
dec eax
and edx, eax
inc edx
add edx, ebp
mov dword [esp + 0x88], edx
jmp 0x100c4293
mov edx, dword [esp + 0x88]
mov eax, dword [esp + 0x4c]
mov ebp, edx
movq xmm1, qword [esp + 0x12c]
and eax, 0xfffffff0
sub dword [esp + 0x78], esi
dec eax
and eax, dword [esp + 0x4c]
mov edi, dword [esp + 0x64]
movd xmm0, esi
psrlq xmm1, xmm0
movq qword [esp + 0x12c], xmm1
test al, 0xf0
je 0x100c4303
mov eax, dword [esp + 0xd0]
mov ecx, dword [esp + 0xc8]
and ecx, 0x7f
movzx edx, byte [eax]
mov eax, edx
and eax, 0x7f
cmp cl, al
lea eax, [edi - 2]
cmova edx, dword [esp + 0xc8]
and edx, 0x7f
add eax, edx
cmp edx, 2
mov edx, dword [esp + 0x88]
cmovbe eax, edi
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x44]
mov edi, dword [esp + 0xd0]
and eax, 0xfffffff0
dec eax
and eax, dword [esp + 0x44]
test al, 0xf0
je 0x100c4349
mov eax, dword [esp + 0x58]
movzx edx, byte [edi]
movzx esi, byte [eax + 2]
mov eax, edx
mov ecx, esi
and eax, 0x7f
and ecx, 0x7f
cmp al, cl
cmova esi, edx
and esi, 0x7f
lea edx, [esi - 2]
add edx, ebp
cmp esi, 2
cmovbe edx, ebp
mov dword [esp + 0x88], edx
mov eax, dword [esp + 0x108]
cmp dword [esp + 0x64], eax
ja 0x100c686a
cmp edx, eax
ja 0x100c686a
mov ecx, dword [esp + 0x58]
mov ebp, dword [esp + 0x3c]
mov al, byte [ecx + 2]
mov byte [ecx + 2], 0
mov ecx, dword [esp + 0x8c]
mov byte [esp + 0x11f], al
mov eax, 0xff
mov byte [edi], 0
lea edx, [ecx + 4]
mov dword [esp + 0x84], edx
cmp edx, ebp
jle 0x100c43a0
sub ecx, ebp
lea ecx, [ecx*2 + 8]
shr eax, cl
mov ecx, dword [esp + 0x40]
mov edx, eax
add ecx, 2
and edx, 0x55
cmp ecx, dword [esp + 0x104]
mov dword [esp + 0x54], ecx
mov ecx, dword [esp + 0x4c]
cmovle edx, eax
mov eax, dword [esp + 0x44]
shr ecx, 4
and eax, 0xf0
and ecx, 0xf
mov dword [esp + 0x48], edx
or ecx, eax
mov eax, edx
not eax
test al, cl
jne 0x100c684b
mov eax, dword [esp + 0x4c]
test al, 0x10
je 0x100c46a5
cmp dword [esp + 0x1c], 0x20
jae 0x100c463c
mov esi, dword [esp + 0x20]
cmp esi, 3
jle 0x100c4415
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
add eax, 4
sub esi, 4
mov dword [esp + 0x14], eax
mov dword [esp + 0x20], esi
jmp 0x100c4458
test esi, esi
jle 0x100c4455
xor ecx, ecx
or ebx, 0xffffffff
nop
mov eax, dword [esp + 0x14]
dec esi
movzx edx, byte [eax]
inc eax
mov dword [esp + 0x14], eax
mov eax, 0xff
shl eax, cl
not eax
shl edx, cl
and ebx, eax
add ecx, 8
or ebx, edx
test esi, esi
jg 0x100c4420
mov dword [esp + 0x10], ebx
mov ebx, dword [esp + 0x38]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x20], esi
jmp 0x100c445c
or ecx, 0xffffffff
mov dword [esp + 0x10], ecx
mov eax, dword [esp + 0x28]
neg eax
movzx edx, cl
sbb eax, eax
add eax, 8
mov dword [esp + 0x28], eax
mov eax, ecx
mov ecx, dword [esp + 0x28]
shr eax, 8
movzx esi, al
mov eax, esi
shl eax, cl
or eax, edx
mov dword [esp + 0x18], eax
xor eax, eax
cmp edx, 0xff
sete al
sub ecx, eax
mov dword [esp + 0x28], ecx
lea edi, [ecx + 8]
mov ecx, dword [esp + 0x10]
mov eax, ecx
shr eax, 0x10
movzx ebp, al
xor eax, eax
cmp esi, 0xff
mov esi, dword [esp + 0x1c]
setne al
shr ecx, 0x18
add eax, 7
mov dword [esp + 0x10], ecx
add eax, dword [esp + 0x28]
xor edx, edx
cmp ecx, 0xff
mov dword [esp + 0x2c], eax
sete dl
lea ecx, [eax + 8]
mov dword [esp + 0x28], edx
mov eax, dword [esp + 0x10]
mov edx, ebp
shl eax, cl
mov ecx, edi
shl edx, cl
mov ecx, esi
or eax, edx
xor edx, edx
or eax, dword [esp + 0x18]
call fcn.10104c00
mov ecx, dword [esp + 0x30]
or dword [esp + 0x24], edx
or ecx, eax
xor eax, eax
mov dword [esp + 0x30], ecx
cmp ebp, 0xff
setne al
add eax, 0xf
add eax, dword [esp + 0x2c]
add esi, eax
mov dword [esp + 0x1c], esi
cmp esi, 0x20
jae 0x100c4632
mov esi, dword [esp + 0x20]
cmp esi, 3
jle 0x100c4540
mov eax, dword [esp + 0x14]
mov edx, dword [eax]
add eax, 4
sub esi, 4
mov dword [esp + 0x14], eax
mov dword [esp + 0x20], esi
jmp 0x100c4588
test esi, esi
jle 0x100c4585
xor ecx, ecx
or ebx, 0xffffffff
nop dword [eax]
mov eax, dword [esp + 0x14]
dec esi
movzx edx, byte [eax]
inc eax
mov dword [esp + 0x14], eax
mov eax, 0xff
shl eax, cl
not eax
shl edx, cl
and ebx, eax
add ecx, 8
or ebx, edx
test esi, esi
jg 0x100c4550
mov dword [esp + 0x10], ebx
mov ebx, dword [esp + 0x38]
mov edx, dword [esp + 0x10]
mov dword [esp + 0x20], esi
jmp 0x100c458c
or edx, 0xffffffff
mov dword [esp + 0x10], edx
mov eax, edx
mov ecx, 8
sub ecx, dword [esp + 0x28]
shr eax, 8
movzx esi, al
movzx edx, dl
mov eax, esi
shl eax, cl
or eax, edx
mov dword [esp + 0x18], eax
xor eax, eax
cmp edx, 0xff
mov edx, dword [esp + 0x10]
sete al
sub ecx, eax
mov eax, edx
shr eax, 0x10
movzx ebp, al
xor eax, eax
cmp esi, 0xff
mov esi, dword [esp + 0x1c]
lea edi, [ecx + 8]
setne al
add ecx, 7
add eax, ecx
shr edx, 0x18
xor ecx, ecx
mov dword [esp + 0x2c], eax
cmp edx, 0xff
mov dword [esp + 0x10], edx
sete cl
mov dword [esp + 0x28], ecx
lea ecx, [eax + 8]
mov eax, edx
mov edx, ebp
shl eax, cl
mov ecx, edi
shl edx, cl
mov ecx, esi
or eax, edx
xor edx, edx
or eax, dword [esp + 0x18]
call fcn.10104c00
mov ecx, dword [esp + 0x30]
or dword [esp + 0x24], edx
or ecx, eax
xor eax, eax
cmp ebp, 0xff
setne al
add eax, 0xf
add eax, dword [esp + 0x2c]
add esi, eax
mov dword [esp + 0x1c], esi
mov eax, dword [esp + 0x4c]
mov ebp, dword [esp + 0x3c]
jmp 0x100c4640
mov ecx, dword [esp + 0x30]
mov esi, dword [esp + 0x64]
mov edi, ecx
mov edx, dword [esp + 0x24]
shr eax, 0xc
and eax, 1
sub esi, eax
mov eax, ecx
mov ecx, esi
call fcn.10104c20
sub dword [esp + 0x1c], esi
mov ecx, esi
mov dword [esp + 0x24], edx
mov edx, 1
shl edx, cl
mov dword [esp + 0x30], eax
dec edx
mov eax, dword [esp + 0x4c]
and edx, edi
shr eax, 8
and eax, 1
shl edi, 0x1f
shl eax, cl
mov ecx, dword [esp + 0x94]
or edx, eax
mov eax, dword [esp + 0x4c]
or edx, 1
add edx, 2
shl edx, cl
or edx, edi
mov edi, dword [esp + 0x5c]
mov dword [edi], edx
mov edx, dword [esp + 0x48]
jmp 0x100c46b4
mov edi, dword [esp + 0x5c]
test dl, 1
je 0x100c46b4
mov dword [edi], 0
test al, 0x20
je 0x100c49b2
cmp dword [esp + 0x1c], 0x20
jae 0x100c490c
mov esi, dword [esp + 0x20]
cmp esi, 3
jle 0x100c46e6
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
add eax, 4
sub esi, 4
mov dword [esp + 0x14], eax
mov dword [esp + 0x20], esi
jmp 0x100c4728
test esi, esi
jle 0x100c4725
xor ecx, ecx
or ebx, 0xffffffff
nop
mov eax, dword [esp + 0x14]
dec esi
movzx edx, byte [eax]
inc eax
mov dword [esp + 0x14], eax
mov eax, 0xff
shl eax, cl
not eax
shl edx, cl
and ebx, eax
add ecx, 8
or ebx, edx
test esi, esi
jg 0x100c46f0
mov dword [esp + 0x10], ebx
mov ebx, dword [esp + 0x38]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x20], esi
jmp 0x100c472c
or ecx, 0xffffffff
mov dword [esp + 0x10], ecx
mov eax, dword [esp + 0x28]
neg eax
movzx edx, cl
sbb eax, eax
add eax, 8
mov dword [esp + 0x28], eax
mov eax, ecx
mov ecx, dword [esp + 0x28]
shr eax, 8
movzx esi, al
mov eax, esi
shl eax, cl
or eax, edx
mov dword [esp + 0x18], eax
xor eax, eax
cmp edx, 0xff
sete al
sub ecx, eax
mov dword [esp + 0x28], ecx
lea edi, [ecx + 8]
mov ecx, dword [esp + 0x10]
mov eax, ecx
shr eax, 0x10
movzx ebp, al
xor eax, eax
cmp esi, 0xff
mov esi, dword [esp + 0x1c]
setne al
shr ecx, 0x18
add eax, 7
mov dword [esp + 0x10], ecx
add eax, dword [esp + 0x28]
xor edx, edx
cmp ecx, 0xff
mov dword [esp + 0x2c], eax
sete dl
lea ecx, [eax + 8]
mov dword [esp + 0x28], edx
mov eax, dword [esp + 0x10]
mov edx, ebp
shl eax, cl
mov ecx, edi
shl edx, cl
mov ecx, esi
or eax, edx
xor edx, edx
or eax, dword [esp + 0x18]
call fcn.10104c00
mov ecx, dword [esp + 0x30]
or dword [esp + 0x24], edx
or ecx, eax
xor eax, eax
mov dword [esp + 0x30], ecx
cmp ebp, 0xff
setne al
add eax, 0xf
add eax, dword [esp + 0x2c]
add esi, eax
mov dword [esp + 0x1c], esi
cmp esi, 0x20
jae 0x100c4902
mov esi, dword [esp + 0x20]
cmp esi, 3
jle 0x100c4810
mov eax, dword [esp + 0x14]
mov edx, dword [eax]
add eax, 4
sub esi, 4
mov dword [esp + 0x14], eax
mov dword [esp + 0x20], esi
jmp 0x100c4858
test esi, esi
jle 0x100c4855
xor ecx, ecx
or ebx, 0xffffffff
nop dword [eax]
mov eax, dword [esp + 0x14]
dec esi
movzx edx, byte [eax]
inc eax
mov dword [esp + 0x14], eax
mov eax, 0xff
shl eax, cl
not eax
shl edx, cl
and ebx, eax
add ecx, 8
or ebx, edx
test esi, esi
jg 0x100c4820
mov dword [esp + 0x10], ebx
mov ebx, dword [esp + 0x38]
mov edx, dword [esp + 0x10]
mov dword [esp + 0x20], esi
jmp 0x100c485c
or edx, 0xffffffff
mov dword [esp + 0x10], edx
mov eax, edx
mov ecx, 8
sub ecx, dword [esp + 0x28]
shr eax, 8
movzx esi, al
movzx edx, dl
mov eax, esi
shl eax, cl
or eax, edx
mov dword [esp + 0x18], eax
xor eax, eax
cmp edx, 0xff
mov edx, dword [esp + 0x10]
sete al
sub ecx, eax
mov eax, edx
shr eax, 0x10
movzx ebp, al
xor eax, eax
cmp esi, 0xff
mov esi, dword [esp + 0x1c]
lea edi, [ecx + 8]
setne al
add ecx, 7
add eax, ecx
shr edx, 0x18
xor ecx, ecx
mov dword [esp + 0x2c], eax
cmp edx, 0xff
mov dword [esp + 0x10], edx
sete cl
mov dword [esp + 0x28], ecx
lea ecx, [eax + 8]
mov eax, edx
mov edx, ebp
shl eax, cl
mov ecx, edi
shl edx, cl
mov ecx, esi
or eax, edx
xor edx, edx
or eax, dword [esp + 0x18]
call fcn.10104c00
mov ecx, dword [esp + 0x30]
or dword [esp + 0x24], edx
or ecx, eax
xor eax, eax
cmp ebp, 0xff
setne al
add eax, 0xf
add eax, dword [esp + 0x2c]
add esi, eax
mov dword [esp + 0x1c], esi
mov eax, dword [esp + 0x4c]
mov ebp, dword [esp + 0x3c]
jmp 0x100c4910
mov ecx, dword [esp + 0x30]
mov esi, dword [esp + 0x64]
mov edi, ecx
mov edx, dword [esp + 0x24]
shr eax, 0xd
and eax, 1
sub esi, eax
mov eax, ecx
mov ecx, esi
call fcn.10104c20
mov dword [esp + 0x30], eax
mov ecx, esi
mov eax, dword [esp + 0x4c]
sub dword [esp + 0x1c], esi
mov esi, dword [esp + 0x58]
shr eax, 9
mov dword [esp + 0x24], edx
and eax, 1
shl eax, cl
mov edx, 1
shl edx, cl
mov ecx, dword [esp + 0x94]
dec edx
and edx, edi
mov dword [esp + 0xd8], 0
or edx, eax
shl edi, 0x1f
or edx, 1
lea eax, [edx + 2]
shl eax, cl
mov ecx, 0x20
or eax, edi
mov edi, dword [esp + 0x5c]
mov dword [edi + ebp*4], eax
movzx eax, byte [esi]
and eax, 0x7f
mov dword [esp + 0x2c], eax
bsr eax, edx
xor eax, 0x1f
sub ecx, eax
mov eax, dword [esp + 0x2c]
cmp dword [esp + 0x2c], ecx
movzx eax, al
movzx edx, cl
cmova edx, eax
mov eax, dword [esp + 0x4c]
or dl, 0x80
mov byte [esi], dl
mov edx, dword [esp + 0x48]
jmp 0x100c49be
test dl, 2
je 0x100c49be
mov dword [edi + ebp*4], 0
mov esi, dword [esp + 0xd0]
add edi, 4
mov dword [esp + 0x58], esi
mov dword [esp + 0x5c], edi
test al, 0x40
je 0x100c4c70
cmp dword [esp + 0x1c], 0x20
jae 0x100c4c03
mov esi, dword [esp + 0x20]
cmp esi, 3
jle 0x100c4a02
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
add eax, 4
sub esi, 4
mov dword [esp + 0x14], eax
mov dword [esp + 0x20], esi
jmp 0x100c4a48
test esi, esi
jle 0x100c4a45
xor ecx, ecx
or ebx, 0xffffffff
nop dword [eax + eax]
mov eax, dword [esp + 0x14]
dec esi
movzx edx, byte [eax]
inc eax
mov dword [esp + 0x14], eax
mov eax, 0xff
shl eax, cl
not eax
shl edx, cl
and ebx, eax
add ecx, 8
or ebx, edx
test esi, esi
jg 0x100c4a10
mov dword [esp + 0x34], ebx
mov ebx, dword [esp + 0x38]
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x20], esi
jmp 0x100c4a4c
or ecx, 0xffffffff
mov dword [esp + 0x34], ecx
mov eax, dword [esp + 0x28]
neg eax
sbb eax, eax
lea ebp, [eax + 8]
mov eax, ecx
shr eax, 8
movzx edx, al
movzx eax, cl
mov edi, edx
mov ecx, ebp
shl edi, cl
xor ecx, ecx
or edi, eax
cmp eax, 0xff
mov eax, 8
sete cl
sub eax, ecx
add ebp, eax
mov eax, dword [esp + 0x34]
shr eax, 0x10
mov ecx, ebp
movzx esi, al
mov eax, esi
shl eax, cl
xor ecx, ecx
or edi, eax
cmp edx, 0xff
mov eax, 8
sete cl
sub eax, ecx
xor ecx, ecx
add ebp, eax
mov eax, dword [esp + 0x34]
shr eax, 0x18
cmp eax, 0xff
sete cl
xor edx, edx
mov dword [esp + 0x28], ecx
mov ecx, ebp
shl eax, cl
or eax, edi
mov edi, dword [esp + 0x1c]
mov ecx, edi
call fcn.10104c00
mov ecx, dword [esp + 0x30]
or dword [esp + 0x24], edx
or ecx, eax
xor eax, eax
mov dword [esp + 0x30], ecx
cmp esi, 0xff
sete al
add edi, 8
sub ebp, eax
add edi, ebp
mov dword [esp + 0x1c], edi
cmp edi, 0x20
jae 0x100c4bf9
mov esi, dword [esp + 0x20]
cmp esi, 3
jle 0x100c4b17
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
add eax, 4
sub esi, 4
mov dword [esp + 0x14], eax
mov dword [esp + 0x20], esi
jmp 0x100c4b58
test esi, esi
jle 0x100c4b55
xor ecx, ecx
or ebx, 0xffffffff
mov eax, dword [esp + 0x14]
dec esi
movzx edx, byte [eax]
inc eax
mov dword [esp + 0x14], eax
mov eax, 0xff
shl eax, cl
not eax
shl edx, cl
and ebx, eax
add ecx, 8
or ebx, edx
test esi, esi
jg 0x100c4b20
mov dword [esp + 0x34], ebx
mov ebx, dword [esp + 0x38]
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x20], esi
jmp 0x100c4b5c
or ecx, 0xffffffff
mov dword [esp + 0x34], ecx
mov eax, ecx
mov ebp, 8
sub ebp, dword [esp + 0x28]
shr eax, 8
movzx edx, al
movzx eax, cl
mov edi, edx
mov ecx, ebp
shl edi, cl
xor ecx, ecx
or edi, eax
cmp eax, 0xff
mov eax, 8
sete cl
sub eax, ecx
add ebp, eax
mov eax, dword [esp + 0x34]
shr eax, 0x10
mov ecx, ebp
movzx esi, al
mov eax, esi
shl eax, cl
xor ecx, ecx
or edi, eax
cmp edx, 0xff
mov eax, 8
sete cl
sub eax, ecx
xor ecx, ecx
add ebp, eax
mov eax, dword [esp + 0x34]
shr eax, 0x18
cmp eax, 0xff
sete cl
xor edx, edx
mov dword [esp + 0x28], ecx
mov ecx, ebp
shl eax, cl
or eax, edi
mov edi, dword [esp + 0x1c]
mov ecx, edi
call fcn.10104c00
mov ecx, dword [esp + 0x30]
or dword [esp + 0x24], edx
or ecx, eax
xor eax, eax
cmp esi, 0xff
sete al
add edi, 8
sub ebp, eax
add edi, ebp
mov dword [esp + 0x1c], edi
mov eax, dword [esp + 0x4c]
mov ebp, dword [esp + 0x3c]
jmp 0x100c4c07
mov ecx, dword [esp + 0x30]
mov esi, dword [esp + 0x64]
mov edi, ecx
mov edx, dword [esp + 0x24]
shr eax, 0xe
and eax, 1
sub esi, eax
mov eax, ecx
mov ecx, esi
call fcn.10104c20
sub dword [esp + 0x1c], esi
mov ecx, esi
mov dword [esp + 0x24], edx
mov edx, 1
mov esi, dword [esp + 0x58]
shl edx, cl
mov dword [esp + 0x30], eax
dec edx
mov eax, dword [esp + 0x4c]
and edx, edi
shr eax, 0xa
and eax, 1
shl edi, 0x1f
shl eax, cl
mov ecx, dword [esp + 0x94]
or edx, eax
mov eax, dword [esp + 0x4c]
or edx, 1
add edx, 2
shl edx, cl
or edx, edi
mov edi, dword [esp + 0x5c]
mov dword [edi], edx
mov edx, dword [esp + 0x48]
jmp 0x100c4c7b
test dl, 4
je 0x100c4c7b
mov dword [edi], 0
test al, al
jns 0x100c4f29
cmp dword [esp + 0x1c], 0x20
jae 0x100c4ea9
mov esi, dword [esp + 0x20]
cmp esi, 3
jle 0x100c4cad
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
add eax, 4
sub esi, 4
mov dword [esp + 0x14], eax
mov dword [esp + 0x20], esi
jmp 0x100c4cee
test esi, esi
jle 0x100c4ceb
xor ecx, ecx
or ebx, 0xffffffff
mov eax, dword [esp + 0x14]
dec esi
movzx edx, byte [eax]
inc eax
mov dword [esp + 0x14], eax
mov eax, 0xff
shl eax, cl
not eax
shl edx, cl
and ebx, eax
add ecx, 8
or ebx, edx
test esi, esi
jg 0x100c4cb6
mov dword [esp + 0x34], ebx
mov ebx, dword [esp + 0x38]
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x20], esi
jmp 0x100c4cf2
or ecx, 0xffffffff
mov dword [esp + 0x34], ecx
mov eax, dword [esp + 0x28]
neg eax
sbb eax, eax
lea ebp, [eax + 8]
mov eax, ecx
shr eax, 8
movzx edx, al
movzx eax, cl
mov edi, edx
mov ecx, ebp
shl edi, cl
xor ecx, ecx
or edi, eax
cmp eax, 0xff
mov eax, 8
sete cl
sub eax, ecx
add ebp, eax
mov eax, dword [esp + 0x34]
shr eax, 0x10
mov ecx, ebp
movzx esi, al
mov eax, esi
shl eax, cl
xor ecx, ecx
or edi, eax
cmp edx, 0xff
mov eax, 8
sete cl
sub eax, ecx
xor ecx, ecx
add ebp, eax
mov eax, dword [esp + 0x34]
shr eax, 0x18
cmp eax, 0xff
sete cl
xor edx, edx
mov dword [esp + 0x28], ecx
mov ecx, ebp
shl eax, cl
or eax, edi
mov edi, dword [esp + 0x1c]
mov ecx, edi
call fcn.10104c00
mov ecx, dword [esp + 0x30]
or dword [esp + 0x24], edx
or ecx, eax
xor eax, eax
mov dword [esp + 0x30], ecx
cmp esi, 0xff
sete al
add edi, 8
sub ebp, eax
add edi, ebp
mov dword [esp + 0x1c], edi
cmp edi, 0x20
jae 0x100c4e9f
mov esi, dword [esp + 0x20]
cmp esi, 3
jle 0x100c4dbd
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
add eax, 4
sub esi, 4
mov dword [esp + 0x14], eax
mov dword [esp + 0x20], esi
jmp 0x100c4dfe
test esi, esi
jle 0x100c4dfb
xor ecx, ecx
or ebx, 0xffffffff
mov eax, dword [esp + 0x14]
dec esi
movzx edx, byte [eax]
inc eax
mov dword [esp + 0x14], eax
mov eax, 0xff
shl eax, cl
not eax
shl edx, cl
and ebx, eax
add ecx, 8
or ebx, edx
test esi, esi
jg 0x100c4dc6
mov dword [esp + 0x34], ebx
mov ebx, dword [esp + 0x38]
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x20], esi
jmp 0x100c4e02
or ecx, 0xffffffff
mov dword [esp + 0x34], ecx
mov eax, ecx
mov ebp, 8
sub ebp, dword [esp + 0x28]
shr eax, 8
movzx edx, al
movzx eax, cl
mov edi, edx
mov ecx, ebp
shl edi, cl
xor ecx, ecx
or edi, eax
cmp eax, 0xff
mov eax, 8
sete cl
sub eax, ecx
add ebp, eax
mov eax, dword [esp + 0x34]
shr eax, 0x10
mov ecx, ebp
movzx esi, al
mov eax, esi
shl eax, cl
xor ecx, ecx
or edi, eax
cmp edx, 0xff
mov eax, 8
sete cl
sub eax, ecx
xor ecx, ecx
add ebp, eax
mov eax, dword [esp + 0x34]
shr eax, 0x18
cmp eax, 0xff
sete cl
xor edx, edx
mov dword [esp + 0x28], ecx
mov ecx, ebp
shl eax, cl
or eax, edi
mov edi, dword [esp + 0x1c]
mov ecx, edi
call fcn.10104c00
mov ecx, dword [esp + 0x30]
or dword [esp + 0x24], edx
or ecx, eax
xor eax, eax
cmp esi, 0xff
sete al
add edi, 8
sub ebp, eax
add edi, ebp
mov dword [esp + 0x1c], edi
mov eax, dword [esp + 0x4c]
mov ebp, dword [esp + 0x3c]
jmp 0x100c4ead
mov ecx, dword [esp + 0x30]
mov esi, dword [esp + 0x64]
mov edi, ecx
mov edx, dword [esp + 0x24]
shr eax, 0xf
sub esi, eax
mov eax, ecx
mov ecx, esi
call fcn.10104c20
mov dword [esp + 0x30], eax
mov ecx, esi
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x24], edx
mov edx, 1
shl edx, cl
shr eax, 0xb
dec edx
and eax, 1
sub dword [esp + 0x1c], esi
shl eax, cl
and edx, edi
mov ecx, dword [esp + 0x94]
or edx, eax
mov esi, dword [esp + 0x58]
or edx, 1
shl edi, 0x1f
mov dword [esp + 0xd8], 0
lea eax, [edx + 2]
shl eax, cl
bsr ecx, edx
mov edx, dword [esp + 0x48]
or eax, edi
mov edi, dword [esp + 0x5c]
xor cl, 0x1f
mov dword [edi + ebp*4], eax
mov al, 0x20
sub al, cl
or al, 0x80
mov byte [esi], al
jmp 0x100c4f35
test dl, 8
je 0x100c4f35
mov dword [edi + ebp*4], 0
mov eax, dword [esp + 0x44]
add edi, 4
mov dword [esp + 0x5c], edi
test al, 0x10
je 0x100c51e3
cmp dword [esp + 0x1c], 0x20
jae 0x100c516f
mov esi, dword [esp + 0x20]
cmp esi, 3
jle 0x100c4f72
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
add eax, 4
sub esi, 4
mov dword [esp + 0x14], eax
mov dword [esp + 0x20], esi
jmp 0x100c4fb8
test esi, esi
jle 0x100c4fb5
xor ecx, ecx
or ebx, 0xffffffff
nop dword [eax + eax]
mov eax, dword [esp + 0x14]
dec esi
movzx edx, byte [eax]
inc eax
mov dword [esp + 0x14], eax
mov eax, 0xff
shl eax, cl
not eax
shl edx, cl
and ebx, eax
add ecx, 8
or ebx, edx
test esi, esi
jg 0x100c4f80
mov dword [esp + 0x34], ebx
mov ebx, dword [esp + 0x38]
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x20], esi
jmp 0x100c4fbc
or ecx, 0xffffffff
mov dword [esp + 0x34], ecx
mov eax, dword [esp + 0x28]
neg eax
sbb eax, eax
lea ebp, [eax + 8]
mov eax, ecx
shr eax, 8
movzx edx, al
movzx eax, cl
mov edi, edx
mov ecx, ebp
shl edi, cl
xor ecx, ecx
or edi, eax
cmp eax, 0xff
mov eax, 8
sete cl
sub eax, ecx
add ebp, eax
mov eax, dword [esp + 0x34]
shr eax, 0x10
mov ecx, ebp
movzx esi, al
mov eax, esi
shl eax, cl
xor ecx, ecx
or edi, eax
cmp edx, 0xff
mov eax, 8
sete cl
sub eax, ecx
xor ecx, ecx
add ebp, eax
mov eax, dword [esp + 0x34]
shr eax, 0x18
cmp eax, 0xff
sete cl
xor edx, edx
mov dword [esp + 0x28], ecx
mov ecx, ebp
shl eax, cl
or eax, edi
mov edi, dword [esp + 0x1c]
mov ecx, edi
call fcn.10104c00
mov ecx, dword [esp + 0x30]
or dword [esp + 0x24], edx
or ecx, eax
xor eax, eax
mov dword [esp + 0x30], ecx
cmp esi, 0xff
sete al
add edi, 8
sub ebp, eax
add edi, ebp
mov dword [esp + 0x1c], edi
cmp edi, 0x20
jae 0x100c5169
mov esi, dword [esp + 0x20]
cmp esi, 3
jle 0x100c5087
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
add eax, 4
sub esi, 4
mov dword [esp + 0x14], eax
mov dword [esp + 0x20], esi
jmp 0x100c50c8
test esi, esi
jle 0x100c50c5
xor ecx, ecx
or ebx, 0xffffffff
mov eax, dword [esp + 0x14]
dec esi
movzx edx, byte [eax]
inc eax
mov dword [esp + 0x14], eax
mov eax, 0xff
shl eax, cl
not eax
shl edx, cl
and ebx, eax
add ecx, 8
or ebx, edx
test esi, esi
jg 0x100c5090
mov dword [esp + 0x34], ebx
mov ebx, dword [esp + 0x38]
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x20], esi
jmp 0x100c50cc
or ecx, 0xffffffff
mov dword [esp + 0x34], ecx
mov eax, ecx
mov ebp, 8
sub ebp, dword [esp + 0x28]
shr eax, 8
movzx edx, al
movzx eax, cl
mov edi, edx
mov ecx, ebp
shl edi, cl
xor ecx, ecx
or edi, eax
cmp eax, 0xff
mov eax, 8
sete cl
sub eax, ecx
add ebp, eax
mov eax, dword [esp + 0x34]
shr eax, 0x10
mov ecx, ebp
movzx esi, al
mov eax, esi
shl eax, cl
xor ecx, ecx
or edi, eax
cmp edx, 0xff
mov eax, 8
sete cl
sub eax, ecx
xor ecx, ecx
add ebp, eax
mov eax, dword [esp + 0x34]
shr eax, 0x18
cmp eax, 0xff
sete cl
xor edx, edx
mov dword [esp + 0x28], ecx
mov ecx, ebp
shl eax, cl
or eax, edi
mov edi, dword [esp + 0x1c]
mov ecx, edi
call fcn.10104c00
mov ecx, dword [esp + 0x30]
or dword [esp + 0x24], edx
or ecx, eax
xor eax, eax
cmp esi, 0xff
sete al
add edi, 8
sub ebp, eax
add edi, ebp
mov dword [esp + 0x1c], edi
mov ebp, dword [esp + 0x3c]
jmp 0x100c5173
mov ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x44]
mov edi, ecx
mov esi, dword [esp + 0x88]
mov edx, dword [esp + 0x24]
shr eax, 0xc
and eax, 1
sub esi, eax
mov eax, ecx
mov ecx, esi
call fcn.10104c20
sub dword [esp + 0x1c], esi
mov ecx, esi
mov dword [esp + 0x24], edx
mov edx, 1
mov esi, dword [esp + 0x58]
shl edx, cl
mov dword [esp + 0x30], eax
dec edx
mov eax, dword [esp + 0x44]
and edx, edi
shr eax, 8
and eax, 1
shl edi, 0x1f
shl eax, cl
mov ecx, dword [esp + 0x94]
or edx, eax
mov eax, dword [esp + 0x44]
or edx, 1
add edx, 2
shl edx, cl
or edx, edi
mov edi, dword [esp + 0x5c]
mov dword [edi], edx
mov edx, dword [esp + 0x48]
jmp 0x100c51ee
test dl, 0x10
je 0x100c51ee
mov dword [edi], 0
test al, 0x20
je 0x100c54cc
cmp dword [esp + 0x1c], 0x20
jae 0x100c541f
mov esi, dword [esp + 0x20]
cmp esi, 3
jle 0x100c5220
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
add eax, 4
sub esi, 4
mov dword [esp + 0x14], eax
mov dword [esp + 0x20], esi
jmp 0x100c5268
test esi, esi
jle 0x100c5265
xor ecx, ecx
or ebx, 0xffffffff
nop dword [eax]
mov eax, dword [esp + 0x14]
dec esi
movzx edx, byte [eax]
inc eax
mov dword [esp + 0x14], eax
mov eax, 0xff
shl eax, cl
not eax
shl edx, cl
and ebx, eax
add ecx, 8
or ebx, edx
test esi, esi
jg 0x100c5230
mov dword [esp + 0x34], ebx
mov ebx, dword [esp + 0x38]
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x20], esi
jmp 0x100c526c
or ecx, 0xffffffff
mov dword [esp + 0x34], ecx
mov eax, dword [esp + 0x28]
neg eax
sbb eax, eax
lea ebp, [eax + 8]
mov eax, ecx
shr eax, 8
movzx edx, al
movzx eax, cl
mov edi, edx
mov ecx, ebp
shl edi, cl
xor ecx, ecx
or edi, eax
cmp eax, 0xff
mov eax, 8
sete cl
sub eax, ecx
add ebp, eax
mov eax, dword [esp + 0x34]
shr eax, 0x10
mov ecx, ebp
movzx esi, al
mov eax, esi
shl eax, cl
xor ecx, ecx
or edi, eax
cmp edx, 0xff
mov eax, 8
sete cl
sub eax, ecx
xor ecx, ecx
add ebp, eax
mov eax, dword [esp + 0x34]
shr eax, 0x18
cmp eax, 0xff
sete cl
xor edx, edx
mov dword [esp + 0x28], ecx
mov ecx, ebp
shl eax, cl
or eax, edi
mov edi, dword [esp + 0x1c]
mov ecx, edi
call fcn.10104c00
mov ecx, dword [esp + 0x30]
or dword [esp + 0x24], edx
or ecx, eax
xor eax, eax
mov dword [esp + 0x30], ecx
cmp esi, 0xff
sete al
add edi, 8
sub ebp, eax
add edi, ebp
mov dword [esp + 0x1c], edi
cmp edi, 0x20
jae 0x100c5419
mov esi, dword [esp + 0x20]
cmp esi, 3
jle 0x100c5337
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
add eax, 4
sub esi, 4
mov dword [esp + 0x14], eax
mov dword [esp + 0x20], esi
jmp 0x100c5378
test esi, esi
jle 0x100c5375
xor ecx, ecx
or ebx, 0xffffffff
mov eax, dword [esp + 0x14]
dec esi
movzx edx, byte [eax]
inc eax
mov dword [esp + 0x14], eax
mov eax, 0xff
shl eax, cl
not eax
shl edx, cl
and ebx, eax
add ecx, 8
or ebx, edx
test esi, esi
jg 0x100c5340
mov dword [esp + 0x34], ebx
mov ebx, dword [esp + 0x38]
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x20], esi
jmp 0x100c537c
or ecx, 0xffffffff
mov dword [esp + 0x34], ecx
mov eax, ecx
mov ebp, 8
sub ebp, dword [esp + 0x28]
shr eax, 8
movzx edx, al
movzx eax, cl
mov edi, edx
mov ecx, ebp
shl edi, cl
xor ecx, ecx
or edi, eax
cmp eax, 0xff
mov eax, 8
sete cl
sub eax, ecx
add ebp, eax
mov eax, dword [esp + 0x34]
shr eax, 0x10
mov ecx, ebp
movzx esi, al
mov eax, esi
shl eax, cl
xor ecx, ecx
or edi, eax
cmp edx, 0xff
mov eax, 8
sete cl
sub eax, ecx
xor ecx, ecx
add ebp, eax
mov eax, dword [esp + 0x34]
shr eax, 0x18
cmp eax, 0xff
sete cl
xor edx, edx
mov dword [esp + 0x28], ecx
mov ecx, ebp
shl eax, cl
or eax, edi
mov edi, dword [esp + 0x1c]
mov ecx, edi
call fcn.10104c00
mov ecx, dword [esp + 0x30]
or dword [esp + 0x24], edx
or ecx, eax
xor eax, eax
cmp esi, 0xff
sete al
add edi, 8
sub ebp, eax
add edi, ebp
mov dword [esp + 0x1c], edi
mov ebp, dword [esp + 0x3c]
jmp 0x100c5423
mov ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x44]
mov edi, ecx
mov esi, dword [esp + 0x88]
mov edx, dword [esp + 0x24]
shr eax, 0xd
and eax, 1
sub esi, eax
mov eax, ecx
mov ecx, esi
call fcn.10104c20
mov dword [esp + 0x30], eax
mov ecx, esi
mov eax, dword [esp + 0x44]
sub dword [esp + 0x1c], esi
mov esi, dword [esp + 0x58]
shr eax, 9
mov dword [esp + 0x24], edx
and eax, 1
shl eax, cl
mov edx, 1
shl edx, cl
mov ecx, dword [esp + 0x94]
dec edx
and edx, edi
mov dword [esp + 0xd8], 0
or edx, eax
shl edi, 0x1f
or edx, 1
lea eax, [edx + 2]
shl eax, cl
mov ecx, 0x20
or eax, edi
mov edi, dword [esp + 0x5c]
mov dword [edi + ebp*4], eax
movzx eax, byte [esi]
and eax, 0x7f
mov dword [esp + 0x2c], eax
bsr eax, edx
xor eax, 0x1f
sub ecx, eax
mov eax, dword [esp + 0x2c]
cmp dword [esp + 0x2c], ecx
movzx eax, al
movzx edx, cl
cmova edx, eax
mov eax, dword [esp + 0x44]
or dl, 0x80
mov byte [esi], dl
mov edx, dword [esp + 0x48]
jmp 0x100c54d8
test dl, 0x20
je 0x100c54d8
mov dword [edi + ebp*4], 0
inc esi
add edi, 4
mov dword [esp + 0x58], esi
mov dword [esp + 0x5c], edi
test al, 0x40
je 0x100c578c
cmp dword [esp + 0x1c], 0x20
jae 0x100c5718
mov esi, dword [esp + 0x20]
cmp esi, 3
jle 0x100c5516
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
add eax, 4
sub esi, 4
mov dword [esp + 0x14], eax
mov dword [esp + 0x20], esi
jmp 0x100c5558
test esi, esi
jle 0x100c5555
xor ecx, ecx
or ebx, 0xffffffff
nop
mov eax, dword [esp + 0x14]
dec esi
movzx edx, byte [eax]
inc eax
mov dword [esp + 0x14], eax
mov eax, 0xff
shl eax, cl
not eax
shl edx, cl
and ebx, eax
add ecx, 8
or ebx, edx
test esi, esi
jg 0x100c5520
mov dword [esp + 0x34], ebx
mov ebx, dword [esp + 0x38]
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x20], esi
jmp 0x100c555c
or ecx, 0xffffffff
mov dword [esp + 0x34], ecx
mov eax, dword [esp + 0x28]
neg eax
sbb eax, eax
lea ebp, [eax + 8]
mov eax, ecx
shr eax, 8
movzx edx, al
movzx eax, cl
mov edi, edx
mov ecx, ebp
shl edi, cl
xor ecx, ecx
or edi, eax
cmp eax, 0xff
mov eax, 8
sete cl
sub eax, ecx
add ebp, eax
mov eax, dword [esp + 0x34]
shr eax, 0x10
mov ecx, ebp
movzx esi, al
mov eax, esi
shl eax, cl
xor ecx, ecx
or edi, eax
cmp edx, 0xff
mov eax, 8
sete cl
sub eax, ecx
xor ecx, ecx
add ebp, eax
mov eax, dword [esp + 0x34]
shr eax, 0x18
cmp eax, 0xff
sete cl
xor edx, edx
mov dword [esp + 0x28], ecx
mov ecx, ebp
shl eax, cl
or eax, edi
mov edi, dword [esp + 0x1c]
mov ecx, edi
call fcn.10104c00
mov ecx, dword [esp + 0x30]
or dword [esp + 0x24], edx
or ecx, eax
xor eax, eax
mov dword [esp + 0x30], ecx
cmp esi, 0xff
sete al
add edi, 8
sub ebp, eax
add edi, ebp
mov dword [esp + 0x1c], edi
cmp edi, 0x20
jae 0x100c5712
mov esi, dword [esp + 0x20]
cmp esi, 3
jle 0x100c5627
mov eax, dword [esp + 0x14]
mov edx, dword [eax]
add eax, 4
sub esi, 4
mov dword [esp + 0x14], eax
mov dword [esp + 0x20], esi
jmp 0x100c5668
test esi, esi
jle 0x100c5665
xor ecx, ecx
or ebx, 0xffffffff
mov eax, dword [esp + 0x14]
dec esi
movzx edx, byte [eax]
inc eax
mov dword [esp + 0x14], eax
mov eax, 0xff
shl eax, cl
not eax
shl edx, cl
and ebx, eax
add ecx, 8
or ebx, edx
test esi, esi
jg 0x100c5630
mov dword [esp + 0x10], ebx
mov ebx, dword [esp + 0x38]
mov edx, dword [esp + 0x10]
mov dword [esp + 0x20], esi
jmp 0x100c566c
or edx, 0xffffffff
mov dword [esp + 0x10], edx
mov eax, edx
mov ecx, 8
sub ecx, dword [esp + 0x28]
shr eax, 8
movzx esi, al
movzx edx, dl
mov eax, esi
shl eax, cl
or eax, edx
mov dword [esp + 0x18], eax
xor eax, eax
cmp edx, 0xff
mov edx, dword [esp + 0x10]
sete al
sub ecx, eax
mov eax, edx
shr eax, 0x10
movzx ebp, al
xor eax, eax
cmp esi, 0xff
mov esi, dword [esp + 0x1c]
lea edi, [ecx + 8]
setne al
add ecx, 7
add eax, ecx
shr edx, 0x18
xor ecx, ecx
mov dword [esp + 0x2c], eax
cmp edx, 0xff
mov dword [esp + 0x10], edx
sete cl
mov dword [esp + 0x28], ecx
lea ecx, [eax + 8]
mov eax, edx
mov edx, ebp
shl eax, cl
mov ecx, edi
shl edx, cl
mov ecx, esi
or eax, edx
xor edx, edx
or eax, dword [esp + 0x18]
call fcn.10104c00
mov ecx, dword [esp + 0x30]
or dword [esp + 0x24], edx
or ecx, eax
xor eax, eax
cmp ebp, 0xff
setne al
add eax, 0xf
add eax, dword [esp + 0x2c]
add esi, eax
mov dword [esp + 0x1c], esi
mov ebp, dword [esp + 0x3c]
jmp 0x100c571c
mov ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x44]
mov edi, ecx
mov esi, dword [esp + 0x88]
mov edx, dword [esp + 0x24]
shr eax, 0xe
and eax, 1
sub esi, eax
mov eax, ecx
mov ecx, esi
call fcn.10104c20
sub dword [esp + 0x1c], esi
mov ecx, esi
mov dword [esp + 0x24], edx
mov edx, 1
mov esi, dword [esp + 0x58]
shl edx, cl
mov dword [esp + 0x30], eax
dec edx
mov eax, dword [esp + 0x44]
and edx, edi
shr eax, 0xa
and eax, 1
shl edi, 0x1f
shl eax, cl
mov ecx, dword [esp + 0x94]
or edx, eax
mov eax, dword [esp + 0x44]
or edx, 1
add edx, 2
shl edx, cl
or edx, edi
mov edi, dword [esp + 0x5c]
mov dword [edi], edx
mov edx, dword [esp + 0x48]
jmp 0x100c5797
test dl, 0x40
je 0x100c5797
mov dword [edi], 0
test al, al
jns 0x100c5a6b
cmp dword [esp + 0x1c], 0x20
jae 0x100c59e8
mov esi, dword [esp + 0x20]
cmp esi, 3
jle 0x100c57c9
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
add eax, 4
sub esi, 4
mov dword [esp + 0x14], eax
mov dword [esp + 0x20], esi
jmp 0x100c580a
test esi, esi
jle 0x100c5807
xor ecx, ecx
or ebx, 0xffffffff
mov eax, dword [esp + 0x14]
dec esi
movzx edx, byte [eax]
inc eax
mov dword [esp + 0x14], eax
mov eax, 0xff
shl eax, cl
not eax
shl edx, cl
and ebx, eax
add ecx, 8
or ebx, edx
test esi, esi
jg 0x100c57d2
mov dword [esp + 0x10], ebx
mov ebx, dword [esp + 0x38]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x20], esi
jmp 0x100c580e
or ecx, 0xffffffff
mov dword [esp + 0x10], ecx
mov eax, dword [esp + 0x28]
neg eax
movzx edx, cl
sbb eax, eax
add eax, 8
mov dword [esp + 0x28], eax
mov eax, ecx
mov ecx, dword [esp + 0x28]
shr eax, 8
movzx esi, al
mov eax, esi
shl eax, cl
or eax, edx
mov dword [esp + 0x18], eax
xor eax, eax
cmp edx, 0xff
sete al
sub ecx, eax
mov dword [esp + 0x28], ecx
lea edi, [ecx + 8]
mov ecx, dword [esp + 0x10]
mov eax, ecx
shr eax, 0x10
movzx ebp, al
xor eax, eax
cmp esi, 0xff
mov esi, dword [esp + 0x1c]
setne al
shr ecx, 0x18
add eax, 7
mov dword [esp + 0x10], ecx
add eax, dword [esp + 0x28]
xor edx, edx
cmp ecx, 0xff
mov dword [esp + 0x2c], eax
sete dl
lea ecx, [eax + 8]
mov dword [esp + 0x28], edx
mov eax, dword [esp + 0x10]
mov edx, ebp
shl eax, cl
mov ecx, edi
shl edx, cl
mov ecx, esi
or eax, edx
xor edx, edx
or eax, dword [esp + 0x18]
call fcn.10104c00
mov ecx, dword [esp + 0x30]
or dword [esp + 0x24], edx
or ecx, eax
xor eax, eax
mov dword [esp + 0x30], ecx
cmp ebp, 0xff
setne al
add eax, 0xf
add eax, dword [esp + 0x2c]
add esi, eax
mov dword [esp + 0x1c], esi
cmp esi, 0x20
jae 0x100c59e2
mov esi, dword [esp + 0x20]
cmp esi, 3
jle 0x100c58f2
mov eax, dword [esp + 0x14]
mov edx, dword [eax]
add eax, 4
sub esi, 4
mov dword [esp + 0x14], eax
mov dword [esp + 0x20], esi
jmp 0x100c5938
test esi, esi
jle 0x100c5935
xor ecx, ecx
or ebx, 0xffffffff
nop dword [eax + eax]
mov eax, dword [esp + 0x14]
dec esi
movzx edx, byte [eax]
inc eax
mov dword [esp + 0x14], eax
mov eax, 0xff
shl eax, cl
not eax
shl edx, cl
and ebx, eax
add ecx, 8
or ebx, edx
test esi, esi
jg 0x100c5900
mov dword [esp + 0x10], ebx
mov ebx, dword [esp + 0x38]
mov edx, dword [esp + 0x10]
mov dword [esp + 0x20], esi
jmp 0x100c593c
or edx, 0xffffffff
mov dword [esp + 0x10], edx
mov eax, edx
mov ecx, 8
sub ecx, dword [esp + 0x28]
shr eax, 8
movzx esi, al
movzx edx, dl
mov eax, esi
shl eax, cl
or eax, edx
mov dword [esp + 0x18], eax
xor eax, eax
cmp edx, 0xff
mov edx, dword [esp + 0x10]
sete al
sub ecx, eax
mov eax, edx
shr eax, 0x10
movzx ebp, al
xor eax, eax
cmp esi, 0xff
mov esi, dword [esp + 0x1c]
lea edi, [ecx + 8]
setne al
add ecx, 7
add eax, ecx
shr edx, 0x18
xor ecx, ecx
mov dword [esp + 0x2c], eax
cmp edx, 0xff
mov dword [esp + 0x10], edx
sete cl
mov dword [esp + 0x28], ecx
lea ecx, [eax + 8]
mov eax, edx
mov edx, ebp
shl eax, cl
mov ecx, edi
shl edx, cl
mov ecx, esi
or eax, edx
xor edx, edx
or eax, dword [esp + 0x18]
call fcn.10104c00
mov ecx, dword [esp + 0x30]
or dword [esp + 0x24], edx
or ecx, eax
xor eax, eax
cmp ebp, 0xff
setne al
add eax, 0xf
add eax, dword [esp + 0x2c]
add esi, eax
mov dword [esp + 0x1c], esi
mov ebp, dword [esp + 0x3c]
jmp 0x100c59ec
mov ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x44]
mov edi, ecx
mov esi, dword [esp + 0x88]
mov edx, dword [esp + 0x24]
shr eax, 0xf
sub esi, eax
mov eax, ecx
mov ecx, esi
call fcn.10104c20
mov dword [esp + 0x30], eax
mov ecx, esi
mov eax, dword [esp + 0x44]
mov dword [esp + 0x24], edx
mov edx, 1
shl edx, cl
shr eax, 0xb
dec edx
and eax, 1
sub dword [esp + 0x1c], esi
shl eax, cl
and edx, edi
mov ecx, dword [esp + 0x94]
or edx, eax
mov esi, dword [esp + 0x58]
or edx, 1
shl edi, 0x1f
mov dword [esp + 0xd8], 0
lea eax, [edx + 2]
shl eax, cl
bsr ecx, edx
or eax, edi
mov edi, dword [esp + 0x5c]
xor cl, 0x1f
mov dword [edi + ebp*4], eax
mov al, 0x20
sub al, cl
or al, 0x80
mov byte [esi], al
jmp 0x100c5a76
test dl, dl
jns 0x100c5a76
mov dword [edi + ebp*4], 0
mov edx, dword [esp + 0x84]
add edi, 4
mov dword [esp + 0x5c], edi
mov dword [esp + 0x8c], edx
cmp edx, ebp
jge 0x100c5ab8
mov eax, dword [esp + 0x130]
mov edi, dword [esp + 0x12c]
mov dl, byte [esp + 0x11f]
mov ebp, dword [esp + 0x9c]
mov dword [esp + 0x48], eax
mov dword [esp + 0x44], edi
jmp 0x100c3663
mov eax, dword [esp + 0x12c]
mov edi, dword [esp + 0x130]
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x54]
mov dword [esp + 0x48], edi
jmp 0x100c5adb
mov ebp, dword [esp + 0x3c]
lea eax, [ecx + 2]
mov ecx, eax
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x40], ecx
cmp eax, 1
jbe 0x100c6832
test cl, 3
jne 0x100c6832
mov esi, dword [esp + 0x110]
mov edx, dword [esp + 0x100]
cmp eax, 2
jbe 0x100c5fa4
test cl, 4
mov eax, esi
cmovne eax, edx
mov dword [esp + 0x2c], eax
lea eax, [ecx - 4]
mov ecx, dword [esp + 0x10c]
imul eax, ebp
lea eax, [ecx + eax*4]
mov ecx, dword [esp + 0xcc]
mov dword [esp + 0xc8], eax
mov eax, 1
shl eax, cl
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x8c], eax
test ecx, ecx
jle 0x100c5fa8
mov edx, dword [esp + 0xb4]
lea eax, [ecx - 1]
shr eax, 3
inc eax
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x98]
cmp edx, 0x20
jae 0x100c5e0f
mov ebx, dword [esp + 0xc0]
xor edx, edx
cmp ebx, 3
jle 0x100c5ba1
mov eax, dword [esp + 0xb8]
mov edx, dword [eax - 3]
sub eax, 4
mov dword [esp + 0xb8], eax
sub ebx, 4
jmp 0x100c5bc8
test ebx, ebx
jle 0x100c5bcf
mov esi, dword [esp + 0xb8]
mov ecx, 0x18
movzx eax, byte [esi]
dec ebx
shl eax, cl
dec esi
or edx, eax
sub ecx, 8
test ebx, ebx
jg 0x100c5bb1
mov dword [esp + 0xb8], esi
mov dword [esp + 0xc0], ebx
mov edi, edx
shr edi, 0x18
cmp dword [esp + 0xfc], 0
mov ebp, edi
je 0x100c5bee
mov eax, edi
mov esi, 7
and eax, 0x7f
cmp al, 0x7f
je 0x100c5bf3
mov esi, 8
mov ebx, edx
mov ecx, esi
shr ebx, 0x10
movzx eax, bl
mov dword [esp + 0x18], eax
shl eax, cl
or ebp, eax
cmp edi, 0x8f
jbe 0x100c5c1c
and ebx, 0x7f
cmp bl, 0x7f
jne 0x100c5c1c
mov eax, 1
jmp 0x100c5c1e
xor eax, eax
sub esi, eax
mov ebx, edx
shr ebx, 8
add esi, 8
movzx edi, bl
mov ecx, esi
mov eax, edi
shl eax, cl
or ebp, eax
cmp dword [esp + 0x18], 0x8f
jbe 0x100c5c4c
and ebx, 0x7f
cmp bl, 0x7f
jne 0x100c5c4c
mov ecx, 1
jmp 0x100c5c4e
xor ecx, ecx
mov eax, 8
movzx ebx, dl
sub eax, ecx
add esi, eax
mov eax, ebx
mov ecx, esi
shl eax, cl
or ebp, eax
cmp edi, 0x8f
jbe 0x100c5c79
and edx, 0x7f
cmp dl, 0x7f
jne 0x100c5c79
mov edi, 1
jmp 0x100c5c7b
xor edi, edi
mov ecx, dword [esp + 0xb4]
mov eax, ebp
xor edx, edx
call fcn.10104c00
or dword [esp + 0xf0], edx
sub esi, edi
mov edx, dword [esp + 0xb4]
or dword [esp + 0x98], eax
add edx, 8
add edx, esi
mov eax, 0x8f
cmp eax, ebx
mov dword [esp + 0xb4], edx
sbb ecx, ecx
neg ecx
mov dword [esp + 0xfc], ecx
cmp edx, 0x20
jae 0x100c5e08
mov esi, dword [esp + 0xc0]
xor edx, edx
cmp esi, 3
jle 0x100c5cf0
mov eax, dword [esp + 0xb8]
mov edx, dword [eax - 3]
sub eax, 4
mov dword [esp + 0xb8], eax
sub esi, 4
jmp 0x100c5d17
test esi, esi
jle 0x100c5d1e
mov edi, dword [esp + 0xb8]
mov ecx, 0x18
movzx eax, byte [edi]
dec esi
shl eax, cl
dec edi
or edx, eax
sub ecx, 8
test esi, esi
jg 0x100c5d00
mov dword [esp + 0xb8], edi
mov dword [esp + 0xc0], esi
mov edi, edx
shr edi, 0x18
mov ebp, edi
cmp ebx, 0x8f
jbe 0x100c5d3b
mov eax, edi
mov esi, 7
and eax, 0x7f
cmp al, 0x7f
je 0x100c5d40
mov esi, 8
mov ebx, edx
mov ecx, esi
shr ebx, 0x10
movzx eax, bl
mov dword [esp + 0x18], eax
shl eax, cl
or ebp, eax
cmp edi, 0x8f
jbe 0x100c5d69
and ebx, 0x7f
cmp bl, 0x7f
jne 0x100c5d69
mov eax, 1
jmp 0x100c5d6b
xor eax, eax
sub esi, eax
mov ebx, edx
shr ebx, 8
add esi, 8
movzx edi, bl
mov ecx, esi
mov eax, edi
shl eax, cl
or ebp, eax
cmp dword [esp + 0x18], 0x8f
jbe 0x100c5d99
and ebx, 0x7f
cmp bl, 0x7f
jne 0x100c5d99
mov ecx, 1
jmp 0x100c5d9b
xor ecx, ecx
mov eax, 8
movzx ebx, dl
sub eax, ecx
add esi, eax
mov eax, ebx
mov ecx, esi
shl eax, cl
or ebp, eax
cmp edi, 0x8f
jbe 0x100c5dc6
and edx, 0x7f
cmp dl, 0x7f
jne 0x100c5dc6
mov edi, 1
jmp 0x100c5dc8
xor edi, edi
mov eax, ebp
xor edx, edx
mov ebp, dword [esp + 0xb4]
mov ecx, ebp
call fcn.10104c00
or dword [esp + 0x98], eax
sub esi, edi
or dword [esp + 0xf0], edx
add ebp, 8
add ebp, esi
mov eax, 0x8f
cmp eax, ebx
mov dword [esp + 0xb4], ebp
sbb eax, eax
neg eax
mov dword [esp + 0xfc], eax
mov eax, dword [esp + 0x98]
mov ebp, dword [esp + 0xc8]
mov edi, eax
mov eax, dword [esp + 0x2c]
mov ebx, 0xf
mov esi, dword [eax]
add eax, 4
mov dword [esp + 0x54], esi
mov dword [esp + 0x2c], eax
test esi, esi
je 0x100c5f45
mov eax, 8
mov dword [esp + 0xa0], eax
test esi, ebx
je 0x100c5f2f
mov ecx, dword [esp + 0x94]
mov esi, ebx
and esi, 0x11111111
test dword [esp + 0x54], esi
je 0x100c5e7c
mov eax, edi
mov edx, 1
and eax, 1
sub edx, eax
shl edx, cl
xor edx, dword [ebp]
or edx, dword [esp + 0x8c]
mov dword [ebp], edx
shr edi, 1
lea eax, [esi + esi]
mov esi, dword [esp + 0x54]
mov dword [esp + 0x18], eax
test esi, eax
je 0x100c5eb4
mov eax, edi
mov edx, 1
and eax, 1
sub edx, eax
mov eax, dword [esp + 0x18]
shl edx, cl
mov ecx, dword [esp + 0x3c]
xor edx, dword [ebp + ecx*4]
or edx, dword [esp + 0x8c]
mov dword [ebp + ecx*4], edx
shr edi, 1
jmp 0x100c5eb8
mov ecx, dword [esp + 0x3c]
add eax, eax
mov dword [esp + 0x18], eax
test esi, eax
je 0x100c5ef0
mov ecx, dword [esp + 0x94]
mov eax, edi
and eax, 1
mov edx, 1
sub edx, eax
mov eax, dword [esp + 0x18]
shl edx, cl
mov ecx, dword [esp + 0x3c]
xor edx, dword [ebp + ecx*8]
or edx, dword [esp + 0x8c]
mov dword [ebp + ecx*8], edx
shr edi, 1
add eax, eax
test esi, eax
je 0x100c5f28
lea eax, [ecx + ecx*2]
mov edx, 1
mov ecx, dword [esp + 0x94]
lea esi, [eax*4]
mov eax, edi
and eax, 1
sub edx, eax
shl edx, cl
xor edx, dword [esi + ebp]
or edx, dword [esp + 0x8c]
mov dword [esi + ebp], edx
mov esi, dword [esp + 0x54]
shr edi, 1
mov eax, dword [esp + 0xa0]
shl ebx, 4
add ebp, 4
sub eax, 1
mov dword [esp + 0xa0], eax
jne 0x100c5e42
mov eax, dword [esp + 0x98]
mov edx, dword [esp + 0xf0]
popcnt esi, esi
mov ecx, esi
call fcn.10104c20
add dword [esp + 0xc8], 0x20
mov dword [esp + 0xf0], edx
mov edx, dword [esp + 0xb4]
sub edx, esi
mov dword [esp + 0x98], eax
sub dword [esp + 0x84], 1
mov dword [esp + 0xb4], edx
jne 0x100c5b71
mov ebx, dword [esp + 0x38]
mov edx, dword [esp + 0x100]
mov esi, dword [esp + 0x110]
mov ecx, dword [esp + 0x3c]
mov eax, dword [esp + 0x40]
cmp eax, 4
jl 0x100c603b
test al, 4
mov edi, esi
cmovne edi, edx
xor ebp, ebp
test ecx, ecx
jle 0x100c603b
lea eax, [ecx - 1]
shr eax, 3
inc eax
mov dword [esp + 0x18], eax
mov eax, dword [edi]
mov ebx, dword [esp + 0x18]
shr ebp, 0x1c
lea edi, [edi + 4]
or ebp, eax
mov dword [edi + 0x41c], ebp
mov ecx, dword [edi - 4]
shl ecx, 4
or ecx, ebp
mov dword [edi + 0x41c], ecx
mov eax, dword [edi]
mov edx, dword [edi - 4]
mov dword [esp + 0x18], eax
shl eax, 0x1c
shr edx, 4
or edx, eax
or edx, ecx
mov ecx, edx
mov dword [edi + 0x41c], edx
mov ebp, dword [edi - 4]
mov eax, edx
shr ecx, 1
and eax, 0xf7777777
add eax, eax
and ecx, 0x77777777
or ecx, eax
mov eax, ebp
or ecx, edx
not eax
and ecx, eax
mov eax, dword [esp + 0x18]
mov dword [edi + 0x41c], ecx
sub ebx, 1
jne 0x100c5fd3
mov ebx, dword [esp + 0x38]
mov ecx, dword [esp + 0x40]
cmp ecx, 8
jl 0x100c6832
mov ebp, dword [esp + 0x100]
mov eax, ecx
test ecx, 4
mov ecx, ebp
lea edx, [ebp + 0x210]
cmovne ecx, edx
test eax, 4
mov eax, dword [esp + 0x3c]
cmovne edx, ebp
mov dword [esp + 0x2c], ecx
xor edi, edi
mov dword [esp + 0x54], edx
lea esi, [ecx + 0x420]
mov dword [esp + 0x34], esi
test eax, eax
jle 0x100c680f
test byte [esp + 0x1a8], 8
jne 0x100c6106
mov eax, ecx
mov ebp, edx
sub eax, edx
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x3c]
dec eax
shr eax, 3
inc eax
mov ebx, eax
nop dword [eax]
mov eax, dword [ebp]
lea esi, [esi + 4]
mov ecx, dword [ebp + 4]
lea ebp, [ebp + 4]
shl ecx, 0x18
or ecx, eax
shr edi, 0x18
or edi, eax
shl ecx, 4
shr edi, 4
or ecx, edi
mov edi, eax
or ecx, eax
mov eax, dword [esp + 0x84]
and ecx, 0xf1111111
shl ecx, 3
or dword [esi - 4], ecx
mov eax, dword [eax + ebp - 4]
not eax
and dword [esi - 4], eax
sub ebx, 1
jne 0x100c60b0
mov eax, dword [esp + 0x54]
mov ebx, dword [esp + 0x38]
add eax, 0x420
mov edi, dword [esp + 0x34]
jmp 0x100c6131
lea ecx, [eax - 1]
shr ecx, 3
inc ecx
nop dword [eax]
mov eax, dword [esi - 0x420]
lea esi, [esi + 4]
not eax
and dword [esi - 4], eax
sub ecx, 1
jne 0x100c6110
mov edi, dword [esp + 0x34]
lea eax, [edx + 0x420]
mov dword [esp + 0x34], edi
mov ecx, dword [esp + 0xcc]
mov edx, 3
mov esi, dword [esp + 0x2c]
shl edx, cl
lea ecx, [eax - 0x41c]
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0xa0], 0
mov dword [esp + 0xc8], edx
mov dword [esp + 0xd0], esi
mov dword [esp + 0x8c], ecx
mov dword [esp + 0x84], eax
mov edi, dword [edi]
xor ebp, ebp
mov dword [esp + 0x4c], edi
mov dword [esp + 0x58], ebp
test edi, edi
je 0x100c6758
mov dword [esp + 0x5c], ebp
cmp dword [esp + 0xbc], 0x20
jae 0x100c646b
mov ebp, dword [esp + 0xec]
cmp ebp, 3
jle 0x100c61c9
mov eax, dword [esp + 0x90]
mov ecx, dword [eax]
add eax, 4
sub ebp, 4
mov dword [esp + 0x90], eax
mov dword [esp + 0xec], ebp
jmp 0x100c6229
test ebp, ebp
jle 0x100c621e
mov ebx, dword [esp + 0x114]
xor ecx, ecx
neg ebx
sbb ebx, ebx
nop word [eax + eax]
mov eax, dword [esp + 0x90]
dec ebp
movzx edx, byte [eax]
inc eax
mov dword [esp + 0x90], eax
mov eax, 0xff
shl eax, cl
not eax
shl edx, cl
and ebx, eax
add ecx, 8
or ebx, edx
test ebp, ebp
jg 0x100c61e0
mov dword [esp + 0x10], ebx
mov ebx, dword [esp + 0x38]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0xec], ebp
jmp 0x100c622d
mov ecx, dword [esp + 0x114]
neg ecx
sbb ecx, ecx
mov dword [esp + 0x10], ecx
mov eax, dword [esp + 0x118]
neg eax
sbb eax, eax
lea ebp, [eax + 8]
mov eax, ecx
shr eax, 8
movzx edx, al
movzx eax, cl
mov edi, edx
mov ecx, ebp
shl edi, cl
xor ecx, ecx
or edi, eax
cmp eax, 0xff
mov eax, 8
sete cl
sub eax, ecx
add ebp, eax
mov eax, dword [esp + 0x10]
shr eax, 0x10
mov ecx, ebp
movzx esi, al
mov eax, esi
shl eax, cl
xor ecx, ecx
or edi, eax
cmp edx, 0xff
mov eax, 8
sete cl
sub eax, ecx
xor ecx, ecx
add ebp, eax
mov eax, dword [esp + 0x10]
shr eax, 0x18
cmp eax, 0xff
mov dword [esp + 0x10], eax
sete cl
xor edx, edx
mov dword [esp + 0x118], ecx
mov ecx, ebp
shl eax, cl
or eax, edi
mov edi, dword [esp + 0xbc]
mov ecx, edi
call fcn.10104c00
or ebx, eax
mov eax, dword [esp + 0xb0]
or eax, edx
mov dword [esp + 0x38], ebx
mov dword [esp + 0xb0], eax
mov dword [esp + 0x150], eax
xor eax, eax
cmp esi, 0xff
mov dword [esp + 0x14c], ebx
sete al
add edi, 8
sub ebp, eax
add edi, ebp
mov dword [esp + 0xbc], edi
cmp edi, 0x20
jae 0x100c6463
mov ebp, dword [esp + 0xec]
cmp ebp, 3
jle 0x100c632a
mov ecx, dword [esp + 0x90]
mov eax, dword [ecx]
add ecx, 4
sub ebp, 4
mov dword [esp + 0x90], ecx
mov dword [esp + 0xec], ebp
jmp 0x100c638f
test ebp, ebp
jle 0x100c6384
mov ebx, dword [esp + 0x114]
xor ecx, ecx
neg ebx
sbb ebx, ebx
nop dword [eax + eax]
mov eax, dword [esp + 0x90]
dec ebp
movzx edx, byte [eax]
inc eax
mov dword [esp + 0x90], eax
mov eax, 0xff
shl eax, cl
not eax
shl edx, cl
and ebx, eax
add ecx, 8
or ebx, edx
test ebp, ebp
jg 0x100c6340
mov dword [esp + 0x9c], ebx
mov ebx, dword [esp + 0x38]
mov eax, dword [esp + 0x9c]
mov dword [esp + 0xec], ebp
jmp 0x100c6396
mov eax, dword [esp + 0x114]
neg eax
sbb eax, eax
mov dword [esp + 0x9c], eax
xor ecx, ecx
cmp dword [esp + 0x10], 0xff
setne cl
shr eax, 8
movzx edx, al
add ecx, 7
mov eax, dword [esp + 0x9c]
mov edi, edx
shl edi, cl
movzx eax, al
or edi, eax
mov dword [esp + 0x18], ecx
mov ebp, dword [esp + 0x18]
xor ecx, ecx
cmp eax, 0xff
mov eax, 8
sete cl
sub eax, ecx
add ebp, eax
mov eax, dword [esp + 0x9c]
shr eax, 0x10
mov ecx, ebp
movzx esi, al
mov eax, esi
shl eax, cl
xor ecx, ecx
or edi, eax
cmp edx, 0xff
mov eax, 8
sete cl
sub eax, ecx
xor ecx, ecx
add ebp, eax
mov eax, dword [esp + 0x9c]
shr eax, 0x18
cmp eax, 0xff
sete cl
xor edx, edx
mov dword [esp + 0x118], ecx
mov ecx, ebp
shl eax, cl
or eax, edi
mov edi, dword [esp + 0xbc]
mov ecx, edi
call fcn.10104c00
or ebx, eax
mov eax, dword [esp + 0xb0]
or eax, edx
mov dword [esp + 0x14c], ebx
mov dword [esp + 0x150], eax
xor eax, eax
cmp esi, 0xff
sete al
add edi, 8
sub ebp, eax
add edi, ebp
mov dword [esp + 0xbc], edi
mov edi, dword [esp + 0x4c]
mov ebp, dword [esp + 0x58]
mov eax, dword [esp + 0x5c]
mov esi, 0xf
xor edx, edx
lea ecx, [eax*4]
mov eax, dword [esp + 0xd0]
shl esi, cl
mov dword [esp + 0xd8], esi
mov dword [esp + 0xb0], esi
mov eax, dword [eax]
mov esi, dword [esp + 0xa0]
not eax
mov dword [esp + 0x10], eax
add esi, 4
mov eax, dword [esp + 0x5c]
add eax, esi
mov dword [esp + 0x120], ecx
mov esi, dword [esp + 0xb0]
cmp eax, dword [esp + 0x3c]
jge 0x100c64d1
mov eax, dword [esp + 0x5c]
mov ebp, dword [esp + 0x58]
add eax, 4
mov dword [esp + 0x38], eax
jmp 0x100c64e7
mov edi, dword [esp + 0x5c]
mov eax, dword [esp + 0x84]
add edi, 4
mov dword [esp + 0x38], edi
mov edi, dword [esp + 0x4c]
mov dword [esp + 0x18], eax
cmp dword [esp + 0x5c], eax
jge 0x100c65be
sub eax, dword [esp + 0x5c]
mov dword [esp + 0x9c], eax
mov dword [esp + 0x58], eax
test edi, esi
je 0x100c658f
and esi, 0x11111111
test edi, esi
je 0x100c652d
test bl, 1
je 0x100c652a
mov eax, 0x32
or ebp, esi
shl eax, cl
and eax, dword [esp + 0x10]
or edi, eax
shr ebx, 1
inc edx
add esi, esi
test edi, esi
je 0x100c654a
test bl, 1
je 0x100c6547
mov eax, 0x74
or ebp, esi
shl eax, cl
and eax, dword [esp + 0x10]
or edi, eax
shr ebx, 1
inc edx
add esi, esi
test edi, esi
je 0x100c6567
test bl, 1
je 0x100c6564
mov eax, 0xe8
or ebp, esi
shl eax, cl
and eax, dword [esp + 0x10]
or edi, eax
shr ebx, 1
inc edx
add esi, esi
test edi, esi
je 0x100c6584
test bl, 1
je 0x100c6581
mov eax, 0xc0
or ebp, esi
shl eax, cl
and eax, dword [esp + 0x10]
or edi, eax
shr ebx, 1
inc edx
mov eax, dword [esp + 0x58]
mov esi, dword [esp + 0xb0]
shl esi, 4
add ecx, 4
sub eax, 1
mov dword [esp + 0xb0], esi
mov dword [esp + 0x58], eax
jne 0x100c6504
mov ecx, dword [esp + 0x120]
mov esi, dword [esp + 0x5c]
mov dword [esp + 0x4c], edi
mov dword [esp + 0x58], ebp
jmp 0x100c65cb
mov esi, dword [esp + 0x5c]
sub eax, esi
mov dword [esp + 0x9c], eax
mov edi, dword [esp + 0x38]
mov eax, 0xffff
shl eax, cl
test ebp, eax
je 0x100c66cb
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x10c]
add eax, 0xfffffff8
imul eax, dword [esp + 0x3c]
add eax, esi
add eax, dword [esp + 0xa0]
lea esi, [ecx + eax*4]
mov eax, dword [esp + 0x5c]
cmp eax, dword [esp + 0x18]
jge 0x100c66cb
mov edi, dword [esp + 0xd8]
mov eax, dword [esp + 0x9c]
nop dword [eax]
test ebp, edi
je 0x100c66ae
mov ecx, edi
and ecx, 0x11111111
test ebp, ecx
je 0x100c6645
mov eax, ebx
shr ebx, 1
shl eax, 0x1f
or eax, dword [esp + 0xc8]
or dword [esi], eax
inc edx
add ecx, ecx
test ebp, ecx
je 0x100c6665
mov ebp, dword [esp + 0x3c]
mov eax, ebx
shl eax, 0x1f
or eax, dword [esp + 0xc8]
shr ebx, 1
or dword [esi + ebp*4], eax
inc edx
mov ebp, dword [esp + 0x58]
add ecx, ecx
test ebp, ecx
je 0x100c6685
mov ebp, dword [esp + 0x3c]
mov eax, ebx
shl eax, 0x1f
or eax, dword [esp + 0xc8]
shr ebx, 1
or dword [esi + ebp*8], eax
inc edx
mov ebp, dword [esp + 0x58]
lea eax, [ecx + ecx]
test ebp, eax
je 0x100c66a7
mov eax, dword [esp + 0x3c]
lea eax, [eax + eax*2]
lea ecx, [esi + eax*4]
mov eax, ebx
shl eax, 0x1f
or eax, dword [esp + 0xc8]
or dword [ecx], eax
shr ebx, 1
inc edx
mov eax, dword [esp + 0x9c]
add esi, 4
shl edi, 4
sub eax, 1
mov dword [esp + 0x9c], eax
jne 0x100c6620
mov edi, dword [esp + 0x5c]
add edi, 4
movq xmm1, qword [esp + 0x14c]
mov esi, dword [esp + 0xd0]
sub dword [esp + 0xbc], edx
add esi, 4
cmp dword [esp + 0x5c], 4
movd xmm0, edx
psrlq xmm1, xmm0
movq qword [esp + 0x14c], xmm1
jne 0x100c6722
mov edi, dword [esp + 0x38]
mov edx, ebp
shr edx, 0x1c
mov ecx, edx
mov eax, edx
and ecx, 7
shr eax, 1
add ecx, ecx
or ecx, eax
mov eax, dword [esi]
or ecx, edx
not eax
and ecx, eax
mov eax, dword [esp + 0x34]
or dword [eax + 4], ecx
mov eax, dword [esp + 0x150]
mov edx, edi
mov ebx, dword [esp + 0x14c]
mov dword [esp + 0x5c], edx
mov dword [esp + 0xb0], eax
mov dword [esp + 0x38], ebx
cmp edx, 8
jge 0x100c674f
mov edi, dword [esp + 0x4c]
jmp 0x100c6190
mov ecx, dword [esp + 0x8c]
jmp 0x100c675b
add esi, 4
mov eax, dword [esp + 0xd0]
mov edx, dword [eax]
or edx, ebp
mov ebp, dword [esp + 0xa0]
shr edx, 3
and edx, 0x11111111
mov edi, edx
mov eax, edx
shr edi, 4
shl eax, 4
or edi, eax
or edi, edx
test ebp, ebp
jle 0x100c679b
mov ecx, dword [ecx - 8]
mov eax, edx
shl eax, 0x1c
not ecx
and ecx, eax
mov eax, dword [esp + 0x54]
or dword [eax - 4], ecx
mov eax, dword [esp + 0x8c]
add ebp, 8
sub dword [esp + 0x84], 8
shr edx, 0x1c
mov dword [esp + 0xa0], ebp
mov eax, dword [eax - 4]
not eax
mov dword [esp + 0xd0], esi
and eax, edi
mov edi, dword [esp + 0x54]
lea ecx, [edi + 4]
or dword [edi], eax
mov edi, ecx
mov eax, dword [esp + 0x8c]
mov dword [esp + 0x54], edi
mov eax, dword [eax]
not eax
and edx, eax
or edx, dword [ecx]
mov ecx, dword [esp + 0x8c]
mov dword [edi], edx
add ecx, 4
mov edi, dword [esp + 0x34]
add edi, 4
mov dword [esp + 0x8c], ecx
mov dword [esp + 0x34], edi
cmp ebp, dword [esp + 0x3c]
jl 0x100c6178
mov ecx, dword [esp + 0x2c]
mov edi, dword [esp + 0x3c]
lea eax, [edi + 7]
shr eax, 1
and eax, 0x7ffffffc
add eax, 4
push eax
push 0
push ecx
call sub.VCRUNTIME140.dll_memset
mov ecx, dword [esp + 0x4c]
add esp, 0xc
jmp 0x100c6836
mov edi, dword [esp + 0x3c]
cmp ecx, dword [esp + 0x104]
jge 0x100c68a8
mov ebp, dword [esp + 0x10c]
jmp 0x100c3600
mov ebx, dword [esp + 0x1b0]
test ebx, ebx
je 0x100c36c3
push ebx
call fcn.1009aec0
push str.Malformed_HT_codeblock._VLC_code_produces_significant_samples_outside_the_codeblock_area._n
jmp 0x100c7934
mov ebx, dword [esp + 0x1b0]
test ebx, ebx
je 0x100c6885
push ebx
call fcn.1009aec0
push str.Malformed_HT_codeblock._Decoding_this_codeblock_is_stopped._U_q_islarger_than_bitplanes__1__n
jmp 0x100c7934
push str.Malformed_HT_codeblock._Decoding_this_codeblock_is_stopped._U_q_islarger_than_bitplanes__1__n
push 1
push dword [esp + 0x1b4]
call fcn.1008aab0
add esp, 0xc
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x184
ret
mov edx, dword [esp + 0xcc]
mov eax, dword [esp + 0xd4]
cmp eax, 1
jbe 0x100c77f9
cmp eax, 2
jbe 0x100c6d8e
mov ecx, dword [esp + 0x104]
mov eax, ecx
and eax, 3
cmp eax, 1
je 0x100c68e2
cmp eax, 2
jne 0x100c6d8e
mov ebp, dword [esp + 0x100]
test cl, 4
mov eax, ebp
lea esi, [ebp + 0x210]
cmovne eax, esi
mov dword [esp + 0x18], eax
mov eax, ecx
mov ecx, dword [esp + 0x10c]
and eax, 0xfffffc
imul eax, edi
lea eax, [ecx + eax*4]
mov ecx, edx
mov dword [esp + 0x84], eax
mov eax, 1
shl eax, cl
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x54], eax
test ecx, ecx
jle 0x100c6da0
mov edx, dword [esp + 0xb4]
lea eax, [ecx - 1]
shr eax, 3
inc eax
mov dword [esp + 0x108], eax
mov eax, dword [esp + 0x98]
nop dword [eax + eax]
cmp edx, 0x20
jae 0x100c6c04
mov ebx, dword [esp + 0xc0]
xor edx, edx
cmp ebx, 3
jle 0x100c6980
mov eax, dword [esp + 0xb8]
mov edx, dword [eax - 3]
sub eax, 4
mov dword [esp + 0xb8], eax
sub ebx, 4
jmp 0x100c69a7
test ebx, ebx
jle 0x100c69ae
mov esi, dword [esp + 0xb8]
mov ecx, 0x18
movzx eax, byte [esi]
dec ebx
shl eax, cl
dec esi
or edx, eax
sub ecx, 8
test ebx, ebx
jg 0x100c6990
mov dword [esp + 0xb8], esi
mov dword [esp + 0xc0], ebx
mov ebp, edx
shr ebp, 0x18
cmp dword [esp + 0xfc], 0
mov edi, ebp
je 0x100c69cd
mov eax, ebp
mov esi, 7
and eax, 0x7f
cmp al, 0x7f
je 0x100c69d2
mov esi, 8
mov ebx, edx
mov ecx, esi
shr ebx, 0x10
movzx eax, bl
mov dword [esp + 0xd8], eax
shl eax, cl
or edi, eax
cmp ebp, 0x8f
jbe 0x100c69fe
and ebx, 0x7f
cmp bl, 0x7f
jne 0x100c69fe
mov eax, 1
jmp 0x100c6a00
xor eax, eax
sub esi, eax
mov ebx, edx
shr ebx, 8
add esi, 8
movzx ebp, bl
mov ecx, esi
mov eax, ebp
shl eax, cl
or edi, eax
cmp dword [esp + 0xd8], 0x8f
jbe 0x100c6a31
and ebx, 0x7f
cmp bl, 0x7f
jne 0x100c6a31
mov ecx, 1
jmp 0x100c6a33
xor ecx, ecx
mov eax, 8
movzx ebx, dl
sub eax, ecx
add esi, eax
mov eax, ebx
mov ecx, esi
shl eax, cl
or edi, eax
cmp ebp, 0x8f
jbe 0x100c6a5e
and edx, 0x7f
cmp dl, 0x7f
jne 0x100c6a5e
mov ebp, 1
jmp 0x100c6a60
xor ebp, ebp
mov ecx, dword [esp + 0xb4]
mov eax, edi
xor edx, edx
call fcn.10104c00
or dword [esp + 0xf0], edx
sub esi, ebp
mov edx, dword [esp + 0xb4]
or dword [esp + 0x98], eax
add edx, 8
add edx, esi
mov eax, 0x8f
cmp eax, ebx
mov dword [esp + 0xb4], edx
sbb ecx, ecx
neg ecx
mov dword [esp + 0xfc], ecx
cmp edx, 0x20
jae 0x100c6bfd
mov esi, dword [esp + 0xc0]
xor edx, edx
cmp esi, 3
jle 0x100c6ad5
mov eax, dword [esp + 0xb8]
mov edx, dword [eax - 3]
sub eax, 4
mov dword [esp + 0xb8], eax
sub esi, 4
jmp 0x100c6afc
test esi, esi
jle 0x100c6b03
mov edi, dword [esp + 0xb8]
mov ecx, 0x18
movzx eax, byte [edi]
dec esi
shl eax, cl
dec edi
or edx, eax
sub ecx, 8
test esi, esi
jg 0x100c6ae5
mov dword [esp + 0xb8], edi
mov dword [esp + 0xc0], esi
mov ebp, edx
shr ebp, 0x18
mov edi, ebp
cmp ebx, 0x8f
jbe 0x100c6b20
mov eax, ebp
mov esi, 7
and eax, 0x7f
cmp al, 0x7f
je 0x100c6b25
mov esi, 8
mov ebx, edx
mov ecx, esi
shr ebx, 0x10
movzx eax, bl
mov dword [esp + 0xd8], eax
shl eax, cl
or edi, eax
cmp ebp, 0x8f
jbe 0x100c6b51
and ebx, 0x7f
cmp bl, 0x7f
jne 0x100c6b51
mov eax, 1
jmp 0x100c6b53
xor eax, eax
sub esi, eax
mov ebx, edx
shr ebx, 8
add esi, 8
movzx eax, bl
mov ecx, esi
mov dword [esp + 0x120], eax
shl eax, cl
or edi, eax
cmp dword [esp + 0xd8], 0x8f
jbe 0x100c6b89
and ebx, 0x7f
cmp bl, 0x7f
jne 0x100c6b89
mov ecx, 1
jmp 0x100c6b8b
xor ecx, ecx
mov eax, 8
movzx ebp, dl
sub eax, ecx
add esi, eax
mov eax, ebp
mov ecx, esi
shl eax, cl
or edi, eax
cmp dword [esp + 0x120], 0x8f
jbe 0x100c6bbb
and edx, 0x7f
cmp dl, 0x7f
jne 0x100c6bbb
mov ebx, 1
jmp 0x100c6bbd
xor ebx, ebx
mov eax, edi
xor edx, edx
mov edi, dword [esp + 0xb4]
mov ecx, edi
call fcn.10104c00
or dword [esp + 0x98], eax
sub esi, ebx
or dword [esp + 0xf0], edx
add edi, 8
add edi, esi
mov eax, 0x8f
cmp eax, ebp
mov dword [esp + 0xb4], edi
sbb eax, eax
neg eax
mov dword [esp + 0xfc], eax
mov eax, dword [esp + 0x98]
mov ebp, dword [esp + 0x84]
mov edi, eax
mov eax, dword [esp + 0x18]
mov ebx, 0xf
mov esi, dword [eax]
add eax, 4
mov dword [esp + 0x120], esi
mov dword [esp + 0x18], eax
test esi, esi
je 0x100c6d3d
mov eax, 8
mov dword [esp + 0x2c], eax
test esi, ebx
je 0x100c6d2a
mov ecx, dword [esp + 0x94]
mov eax, ebx
and eax, 0x11111111
mov dword [esp + 0xd8], eax
test esi, eax
je 0x100c6c79
mov eax, edi
mov edx, 1
and eax, 1
sub edx, eax
mov eax, dword [esp + 0xd8]
shl edx, cl
xor edx, dword [ebp]
or edx, dword [esp + 0x54]
mov dword [ebp], edx
shr edi, 1
add eax, eax
mov dword [esp + 0xd8], eax
test esi, eax
je 0x100c6caf
mov eax, edi
mov edx, 1
and eax, 1
sub edx, eax
mov eax, dword [esp + 0xd8]
shl edx, cl
mov ecx, dword [esp + 0x3c]
xor edx, dword [ebp + ecx*4]
or edx, dword [esp + 0x54]
mov dword [ebp + ecx*4], edx
shr edi, 1
jmp 0x100c6cb3
mov ecx, dword [esp + 0x3c]
add eax, eax
mov dword [esp + 0xd8], eax
test esi, eax
je 0x100c6cee
mov ecx, dword [esp + 0x94]
mov eax, edi
and eax, 1
mov edx, 1
sub edx, eax
mov eax, dword [esp + 0xd8]
shl edx, cl
mov ecx, dword [esp + 0x3c]
xor edx, dword [ebp + ecx*8]
or edx, dword [esp + 0x54]
mov dword [ebp + ecx*8], edx
shr edi, 1
add eax, eax
test esi, eax
je 0x100c6d26
lea eax, [ecx + ecx*2]
mov edx, 1
mov ecx, dword [esp + 0x94]
lea esi, [eax*4]
mov eax, edi
and eax, 1
sub edx, eax
shl edx, cl
xor edx, dword [esi + ebp]
or edx, dword [esp + 0x54]
mov dword [esi + ebp], edx
mov esi, dword [esp + 0x120]
shr edi, 1
mov eax, dword [esp + 0x2c]
shl ebx, 4
add ebp, 4
sub eax, 1
mov dword [esp + 0x2c], eax
jne 0x100c6c37
mov eax, dword [esp + 0x98]
mov edx, dword [esp + 0xf0]
popcnt esi, esi
mov ecx, esi
call fcn.10104c20
add dword [esp + 0x84], 0x20
mov dword [esp + 0xf0], edx
mov edx, dword [esp + 0xb4]
sub edx, esi
mov dword [esp + 0x98], eax
sub dword [esp + 0x108], 1
mov dword [esp + 0xb4], edx
jne 0x100c6950
mov ebx, dword [esp + 0x38]
mov ecx, dword [esp + 0x3c]
mov ebp, dword [esp + 0x100]
mov esi, dword [esp + 0x110]
mov edx, dword [esp + 0x104]
mov eax, edx
and eax, 3
cmp eax, 1
je 0x100c6dba
cmp eax, 2
jne 0x100c6e58
test dl, 4
mov edi, ebp
cmovne edi, esi
xor ebp, ebp
test ecx, ecx
jle 0x100c6e58
lea eax, [ecx - 1]
shr eax, 3
inc eax
mov dword [esp + 0xd8], eax
mov eax, dword [edi]
mov ebx, dword [esp + 0xd8]
shr ebp, 0x1c
lea edi, [edi + 4]
or ebp, eax
mov dword [edi + 0x41c], ebp
mov ecx, dword [edi - 4]
shl ecx, 4
or ecx, ebp
mov dword [edi + 0x41c], ecx
mov eax, dword [edi]
mov edx, dword [edi - 4]
mov dword [esp + 0xd8], eax
shl eax, 0x1c
shr edx, 4
or edx, eax
or edx, ecx
mov ecx, edx
mov dword [edi + 0x41c], edx
mov ebp, dword [edi - 4]
mov eax, edx
shr ecx, 1
and eax, 0xf7777777
add eax, eax
and ecx, 0x77777777
or ecx, eax
mov eax, ebp
or ecx, edx
not eax
and ecx, eax
mov eax, dword [esp + 0xd8]
mov dword [edi + 0x41c], ecx
sub ebx, 1
jne 0x100c6de3
mov ebx, dword [esp + 0x38]
mov edx, dword [esp + 0x104]
cmp edx, 6
jle 0x100c6e6f
lea ebp, [edx + 1]
and ebp, 3
add ebp, 3
mov dword [esp + 0xfc], ebp
jmp 0x100c6e78
mov ebp, edx
mov dword [esp + 0xfc], edx
sub edx, ebp
mov dword [esp + 0xe0], edx
cmp edx, dword [esp + 0x104]
jge 0x100c77f9
mov ecx, dword [esp + 0xcc]
mov eax, 3
shl eax, cl
mov dword [esp + 0xd0], eax
mov eax, edx
imul eax, dword [esp + 0x3c]
mov dword [esp + 0x58], eax
nop
cmp ebp, 3
jne 0x100c6ec5
mov dword [esp + 0xd4], 0x77777777
jmp 0x100c7081
cmp ebp, 2
jne 0x100c6eda
mov dword [esp + 0xd4], 0x33333333
jmp 0x100c7081
cmp ebp, 1
jne 0x100c6eef
mov dword [esp + 0xd4], 0x11111111
jmp 0x100c7081
mov dword [esp + 0xd4], 0xffffffff
cmp ebp, 4
jle 0x100c7081
mov ecx, dword [esp + 0x100]
xor esi, esi
mov ebp, dword [esp + 0x110]
test edx, 4
mov eax, edx
mov dword [esp + 0xd4], 0xffffffff
cmovne ecx, ebp
test eax, 4
mov eax, dword [esp + 0x3c]
cmovne ebp, dword [esp + 0x100]
lea edi, [ecx + 0x420]
test eax, eax
jle 0x100c707a
test byte [esp + 0x1a8], 8
jne 0x100c7006
dec eax
sub ecx, ebp
shr eax, 3
inc eax
mov dword [esp + 0x120], ecx
mov ebx, eax
mov ecx, dword [ebp]
lea edi, [edi + 4]
mov eax, dword [ebp + 4]
lea ebp, [ebp + 4]
shl eax, 0x18
or eax, ecx
shr esi, 0x18
shl eax, 4
or esi, ecx
shr esi, 4
or eax, esi
mov esi, ecx
or eax, ecx
and eax, 0xf1111111
shl eax, 3
or dword [edi - 4], eax
mov eax, dword [esp + 0x120]
mov eax, dword [eax + ebp - 4]
not eax
and dword [edi - 4], eax
sub ebx, 1
jne 0x100c6f66
mov edi, dword [esp + 0x100]
or ebp, 0xffffffff
test dword [esp + 0xe0], 4
mov ecx, edi
mov dword [esp + 0xd4], ebp
mov dword [esp + 0x34], 0
lea ebx, [edi + 0x210]
cmovne ecx, ebx
mov esi, ebx
mov ebx, dword [esp + 0x38]
cmovne esi, edi
add esi, 0x420
mov dword [esp + 0x88], ecx
mov dword [esp + 0x8c], esi
lea edx, [ecx + 0x420]
mov dword [esp + 0xa0], edx
jmp 0x100c70de
lea ecx, [eax - 1]
shr ecx, 3
inc ecx
nop dword [eax]
mov eax, dword [edi - 0x420]
lea edi, [edi + 4]
not eax
and dword [edi - 4], eax
sub ecx, 1
jne 0x100c7010
mov edi, dword [esp + 0x100]
or ebp, 0xffffffff
test edx, 4
mov dword [esp + 0xd4], ebp
mov eax, edx
mov dword [esp + 0x34], 0
mov ecx, edi
lea esi, [edi + 0x210]
cmovne ecx, esi
test eax, 4
mov dword [esp + 0x88], ecx
cmovne esi, edi
add esi, 0x420
lea edx, [ecx + 0x420]
mov dword [esp + 0x8c], esi
mov dword [esp + 0xa0], edx
jmp 0x100c70de
mov ebp, dword [esp + 0xfc]
mov edi, dword [esp + 0x100]
test edx, 4
mov eax, edx
mov dword [esp + 0x34], 0
mov ecx, edi
lea esi, [edi + 0x210]
cmovne ecx, esi
test eax, 4
mov dword [esp + 0x88], ecx
cmovne esi, edi
add esi, 0x420
cmp dword [esp + 0x3c], 0
lea edx, [ecx + 0x420]
mov dword [esp + 0x8c], esi
mov dword [esp + 0xa0], edx
jle 0x100c77c2
mov ebp, dword [esp + 0xd4]
lea eax, [esi - 0x41c]
mov dword [esp + 0xc8], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x5c], eax
mov esi, ebp
mov ebp, 0
and esi, dword [edx]
mov dword [esp + 0xf8], esi
mov dword [esp + 0x64], ebp
je 0x100c7702
mov dword [esp + 0xe8], ebp
nop dword [eax]
nop dword [eax + eax]
cmp dword [esp + 0xbc], 0x20
jae 0x100c73f2
mov ebp, dword [esp + 0xec]
cmp ebp, 3
jle 0x100c7159
mov eax, dword [esp + 0x90]
mov ecx, dword [eax]
add eax, 4
sub ebp, 4
mov dword [esp + 0x90], eax
mov dword [esp + 0xec], ebp
jmp 0x100c71b9
test ebp, ebp
jle 0x100c71ae
mov ebx, dword [esp + 0x114]
xor ecx, ecx
neg ebx
sbb ebx, ebx
nop word [eax + eax]
mov eax, dword [esp + 0x90]
dec ebp
movzx edx, byte [eax]
inc eax
mov dword [esp + 0x90], eax
mov eax, 0xff
shl eax, cl
not eax
shl edx, cl
and ebx, eax
add ecx, 8
or ebx, edx
test ebp, ebp
jg 0x100c7170
mov dword [esp + 0x10], ebx
mov ebx, dword [esp + 0x38]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0xec], ebp
jmp 0x100c71bd
mov ecx, dword [esp + 0x114]
neg ecx
sbb ecx, ecx
mov dword [esp + 0x10], ecx
mov eax, dword [esp + 0x118]
neg eax
sbb eax, eax
lea ebp, [eax + 8]
mov eax, ecx
shr eax, 8
movzx edx, al
movzx eax, cl
mov edi, edx
mov ecx, ebp
shl edi, cl
xor ecx, ecx
or edi, eax
cmp eax, 0xff
mov eax, 8
sete cl
sub eax, ecx
add ebp, eax
mov eax, dword [esp + 0x10]
shr eax, 0x10
mov ecx, ebp
movzx esi, al
mov eax, esi
shl eax, cl
xor ecx, ecx
or edi, eax
cmp edx, 0xff
mov eax, 8
sete cl
sub eax, ecx
xor ecx, ecx
add ebp, eax
mov eax, dword [esp + 0x10]
shr eax, 0x18
cmp eax, 0xff
mov dword [esp + 0x10], eax
sete cl
xor edx, edx
mov dword [esp + 0x118], ecx
mov ecx, ebp
shl eax, cl
or eax, edi
mov edi, dword [esp + 0xbc]
mov ecx, edi
call fcn.10104c00
or ebx, eax
mov eax, dword [esp + 0xb0]
or eax, edx
mov dword [esp + 0x38], ebx
mov dword [esp + 0xb0], eax
mov dword [esp + 0x150], eax
xor eax, eax
cmp esi, 0xff
mov dword [esp + 0x14c], ebx
sete al
add edi, 8
sub ebp, eax
add edi, ebp
mov dword [esp + 0xbc], edi
cmp edi, 0x20
jae 0x100c73e7
mov ebp, dword [esp + 0xec]
cmp ebp, 3
jle 0x100c72ba
mov ecx, dword [esp + 0x90]
mov eax, dword [ecx]
add ecx, 4
sub ebp, 4
mov dword [esp + 0x90], ecx
mov dword [esp + 0xec], ebp
jmp 0x100c7319
test ebp, ebp
jle 0x100c730e
mov ebx, dword [esp + 0x114]
xor ecx, ecx
neg ebx
sbb ebx, ebx
nop dword [eax + eax]
mov eax, dword [esp + 0x90]
dec ebp
movzx edx, byte [eax]
inc eax
mov dword [esp + 0x90], eax
mov eax, 0xff
shl eax, cl
not eax
shl edx, cl
and ebx, eax
add ecx, 8
or ebx, edx
test ebp, ebp
jg 0x100c72d0
mov dword [esp + 0x40], ebx
mov ebx, dword [esp + 0x38]
mov eax, dword [esp + 0x40]
mov dword [esp + 0xec], ebp
jmp 0x100c731d
mov eax, dword [esp + 0x114]
neg eax
sbb eax, eax
mov dword [esp + 0x40], eax
xor ecx, ecx
cmp dword [esp + 0x10], 0xff
setne cl
shr eax, 8
movzx edx, al
add ecx, 7
mov eax, dword [esp + 0x40]
mov edi, edx
shl edi, cl
movzx eax, al
or edi, eax
mov dword [esp + 0xd8], ecx
mov ebp, dword [esp + 0xd8]
xor ecx, ecx
cmp eax, 0xff
mov eax, 8
sete cl
sub eax, ecx
add ebp, eax
mov eax, dword [esp + 0x40]
shr eax, 0x10
mov ecx, ebp
movzx esi, al
mov eax, esi
shl eax, cl
xor ecx, ecx
or edi, eax
cmp edx, 0xff
mov eax, 8
sete cl
sub eax, ecx
xor ecx, ecx
add ebp, eax
mov eax, dword [esp + 0x40]
shr eax, 0x18
cmp eax, 0xff
sete cl
xor edx, edx
mov dword [esp + 0x118], ecx
mov ecx, ebp
shl eax, cl
or eax, edi
mov edi, dword [esp + 0xbc]
mov ecx, edi
call fcn.10104c00
or ebx, eax
mov eax, dword [esp + 0xb0]
or eax, edx
mov dword [esp + 0x14c], ebx
mov dword [esp + 0x150], eax
xor eax, eax
cmp esi, 0xff
sete al
add edi, 8
sub ebp, eax
add edi, ebp
mov dword [esp + 0xbc], edi
mov esi, dword [esp + 0xf8]
mov ebp, dword [esp + 0x64]
mov eax, dword [esp + 0xe8]
xor edx, edx
lea ecx, [eax*4]
mov eax, 0xf
shl eax, cl
mov edi, eax
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x88]
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0xe8]
mov dword [esp + 0x2c], edi
mov eax, dword [eax]
not eax
and eax, dword [esp + 0xd4]
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x34]
add eax, 4
add eax, ecx
cmp eax, dword [esp + 0x3c]
jge 0x100c7453
mov ebp, dword [esp + 0x64]
lea eax, [ecx + 4]
mov dword [esp + 0x9c], eax
jmp 0x100c7468
mov eax, dword [esp + 0x5c]
lea esi, [ecx + 4]
mov dword [esp + 0x9c], esi
mov esi, dword [esp + 0xf8]
mov dword [esp + 0x108], eax
cmp ecx, eax
jge 0x100c7542
sub eax, dword [esp + 0xe8]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0xcc], eax
mov dword [esp + 0x84], eax
test esi, edi
je 0x100c751b
and edi, 0x11111111
test esi, edi
je 0x100c74b9
test bl, 1
je 0x100c74b6
mov eax, 0x32
or ebp, edi
shl eax, cl
and eax, dword [esp + 0x54]
or esi, eax
shr ebx, 1
inc edx
add edi, edi
test esi, edi
je 0x100c74d6
test bl, 1
je 0x100c74d3
mov eax, 0x74
or ebp, edi
shl eax, cl
and eax, dword [esp + 0x54]
or esi, eax
shr ebx, 1
inc edx
add edi, edi
test esi, edi
je 0x100c74f3
test bl, 1
je 0x100c74f0
mov eax, 0xe8
or ebp, edi
shl eax, cl
and eax, dword [esp + 0x54]
or esi, eax
shr ebx, 1
inc edx
add edi, edi
test esi, edi
je 0x100c7510
test bl, 1
je 0x100c750d
mov eax, 0xc0
or ebp, edi
shl eax, cl
and eax, dword [esp + 0x54]
or esi, eax
shr ebx, 1
inc edx
mov eax, dword [esp + 0x84]
mov edi, dword [esp + 0x2c]
shl edi, 4
add ecx, 4
sub eax, 1
mov dword [esp + 0x2c], edi
mov dword [esp + 0x84], eax
jne 0x100c7490
mov dword [esp + 0xf8], esi
mov dword [esp + 0x64], ebp
jmp 0x100c754b
sub eax, ecx
mov dword [esp + 0xcc], eax
mov eax, dword [esp + 0x9c]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0xd8], eax
mov eax, 0xffff
shl eax, cl
test ebp, eax
je 0x100c765b
mov eax, dword [esp + 0xe8]
add eax, dword [esp + 0x58]
add eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x10c]
lea edi, [ecx + eax*4]
mov ecx, dword [esp + 0x108]
mov eax, dword [esp + 0x9c]
cmp dword [esp + 0xe8], ecx
jge 0x100c7662
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0xcc]
mov esi, dword [esp + 0x3c]
nop
test ebp, eax
je 0x100c762e
mov ecx, eax
and ecx, 0x11111111
test ebp, ecx
je 0x100c75d5
mov eax, ebx
shr ebx, 1
shl eax, 0x1f
or eax, dword [esp + 0xd0]
or dword [edi], eax
inc edx
add ecx, ecx
test ebp, ecx
je 0x100c75ed
mov eax, ebx
shr ebx, 1
shl eax, 0x1f
or eax, dword [esp + 0xd0]
or dword [edi + esi*4], eax
inc edx
add ecx, ecx
test ebp, ecx
je 0x100c7605
mov eax, ebx
shr ebx, 1
shl eax, 0x1f
or eax, dword [esp + 0xd0]
or dword [edi + esi*8], eax
inc edx
lea eax, [ecx + ecx]
test ebp, eax
je 0x100c7623
lea eax, [esi + esi*2]
lea ecx, [edi + eax*4]
mov eax, ebx
shl eax, 0x1f
or eax, dword [esp + 0xd0]
or dword [ecx], eax
shr ebx, 1
inc edx
mov ecx, dword [esp + 0xcc]
mov eax, dword [esp + 0x40]
shl eax, 4
add edi, 4
sub ecx, 1
mov dword [esp + 0x40], eax
mov dword [esp + 0xcc], ecx
jne 0x100c75b0
mov eax, dword [esp + 0xe8]
mov esi, dword [esp + 0xf8]
add eax, 4
jmp 0x100c7662
mov eax, dword [esp + 0xd8]
movq xmm1, qword [esp + 0x14c]
sub dword [esp + 0xbc], edx
cmp dword [esp + 0xe8], 4
movd xmm0, edx
psrlq xmm1, xmm0
movq qword [esp + 0x14c], xmm1
jne 0x100c76cb
mov edi, dword [esp + 0x88]
mov edx, ebp
shr edx, 0x1c
add edi, 4
mov ecx, edx
mov eax, edx
and ecx, 7
shr eax, 1
add ecx, ecx
or ecx, eax
mov eax, dword [edi]
or ecx, edx
not eax
and ecx, eax
mov eax, dword [esp + 0xa0]
or dword [eax + 4], ecx
mov eax, dword [esp + 0x9c]
mov ecx, dword [esp + 0x88]
jmp 0x100c76d5
mov ecx, dword [esp + 0x88]
lea edi, [ecx + 4]
mov ebx, dword [esp + 0x14c]
mov edx, eax
mov eax, dword [esp + 0x150]
mov dword [esp + 0xe8], edx
mov dword [esp + 0xb0], eax
mov dword [esp + 0x38], ebx
cmp edx, 8
jl 0x100c7120
jmp 0x100c7705
lea edi, [ecx + 4]
mov edx, dword [ecx]
or edx, ebp
mov ebp, dword [esp + 0x34]
shr edx, 3
and edx, 0x11111111
mov esi, edx
mov eax, edx
shr esi, 4
shl eax, 4
or esi, eax
or esi, edx
test ebp, ebp
jle 0x100c7745
mov ecx, dword [esp + 0xc8]
mov eax, edx
shl eax, 0x1c
mov ecx, dword [ecx - 8]
not ecx
and ecx, eax
mov eax, dword [esp + 0x8c]
or dword [eax - 4], ecx
mov eax, dword [esp + 0xc8]
add ebp, 8
sub dword [esp + 0x5c], 8
shr edx, 0x1c
mov dword [esp + 0x34], ebp
mov eax, dword [eax - 4]
not eax
and eax, esi
mov esi, dword [esp + 0x8c]
lea ecx, [esi + 4]
or dword [esi], eax
mov esi, ecx
mov eax, dword [esp + 0xc8]
add dword [esp + 0xc8], 4
mov dword [esp + 0x8c], esi
mov eax, dword [eax]
not eax
and edx, eax
or edx, dword [ecx]
mov ecx, edi
mov dword [esi], edx
mov edx, dword [esp + 0xa0]
add edx, 4
mov dword [esp + 0x88], ecx
cmp ebp, dword [esp + 0x3c]
mov ebp, dword [esp + 0xd4]
mov dword [esp + 0xa0], edx
jl 0x100c70f3
mov ebp, dword [esp + 0xfc]
mov ecx, dword [esp + 0x3c]
sub ebp, 4
mov edx, dword [esp + 0xe0]
add edx, 4
mov dword [esp + 0xfc], ebp
mov dword [esp + 0xe0], edx
lea eax, [ecx*4]
add dword [esp + 0x58], eax
cmp edx, dword [esp + 0x104]
jl 0x100c6eb0
cmp dword [esp + 0x104], 0
jle 0x100c790e
mov ebp, dword [esp + 0x3c]
movups xmm6, xmmword [0x101e65b0]
mov ecx, dword [esp + 0x10c]
lea ebx, [ebp*4]
mov esi, ecx
xor ecx, ecx
test ebp, ebp
jle 0x100c78f0
cmp ebp, 8
jb 0x100c78ce
mov eax, ebp
and eax, 0x80000007
jns 0x100c7843
dec eax
or eax, 0xfffffff8
inc eax
movaps xmm3, xmmword [0x101aaaf0]
mov edx, ebp
movaps xmm4, xmmword [0x101e6590]
sub edx, eax
xorps xmm5, xmm5
nop dword [eax + eax]
movups xmm0, xmmword [esi]
add ecx, 8
movaps xmm1, xmm4
pand xmm1, xmm0
movaps xmm2, xmm0
xorps xmm0, xmm0
pcmpeqd xmm1, xmm5
pandn xmm1, xmm6
pand xmm2, xmm3
psubd xmm0, xmm2
pand xmm0, xmm1
pandn xmm1, xmm2
por xmm0, xmm1
movaps xmm1, xmm4
movups xmmword [esi], xmm0
movups xmm0, xmmword [esi + 0x10]
pand xmm1, xmm0
movaps xmm2, xmm0
xorps xmm0, xmm0
pand xmm2, xmm3
pcmpeqd xmm1, xmm5
psubd xmm0, xmm2
pandn xmm1, xmm6
pand xmm0, xmm1
pandn xmm1, xmm2
por xmm0, xmm1
movups xmmword [esi + 0x10], xmm0
add esi, 0x20
cmp ecx, edx
jl 0x100c7860
cmp ecx, ebp
jge 0x100c78f0
mov edi, ebp
sub edi, ecx
mov ecx, dword [esi]
lea esi, [esi + 4]
mov edx, ecx
and edx, 0x7fffffff
mov eax, edx
neg eax
test ecx, ecx
cmovns eax, edx
mov dword [esi - 4], eax
sub edi, 1
jne 0x100c78d2
mov ecx, dword [esp + 0x10c]
add ecx, ebx
sub dword [esp + 0x104], 1
mov dword [esp + 0x10c], ecx
jne 0x100c7820
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x184
ret
mov ebx, dword [esp + 0x1b0]
test ebx, ebx
je 0x100c7958
push ebx
call fcn.1009aec0
push str.Malformed_HT_codeblock._One_of_the_following_condition_is_not_met:_2___Scup___min_Lcup__4079__n
push 1
push dword [esp + 0x1b8]
call fcn.1008aab0
push ebx
call fcn.1009aed0
add esp, 0x14
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x184
ret
push str.Malformed_HT_codeblock._One_of_the_following_condition_is_not_met:_2___Scup___min_Lcup__4079__n
push 1
push dword [esp + 0x1b4]
call fcn.1008aab0
add esp, 0xc
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x184
ret
mov ebx, dword [esp + 0x1b0]
test ebx, ebx
je 0x100c7993
push ebx
call fcn.1009aec0
push str.Malformed_HT_codeblock._Invalid_codeblock_length_values._n
jmp 0x100c7934
push str.Malformed_HT_codeblock._Invalid_codeblock_length_values._n
push 1
push dword [esp + 0x1b4]
call fcn.1008aab0
add esp, 0xc
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x184
ret