Function at 0xc54780
Capabilities:
Enumerate pe sections

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x7c
mov ebp, dword [esp + 0x90]
mov ebx, dword [ebp + 0x6dd4]
lea edx, [ebp + 0x1400]
mov esi, dword [ebp + 0x6df8]
imul eax, dword [ebp + 0x45bc], 0x3c
mov dword [esp + 0x54], edx
mov edx, dword [ebp + 0x6fb4]
mov dword [ebp + 0x1108], 0
add esi, ebx
mov dword [ebp + eax + 0x44f0], 0
mov eax, esi
sub eax, ebx
cmp eax, 2
mov dword [esp + 0x34], ebx
mov dword [esp + 0x6c], edx
jg 0xc5504a
mov eax, dword [ebp + 0x6fa8]
test eax, eax
je 0xc5521d
mov dword [ebp + 0x4648], 1
mov dword [ebp + 0x609c], 0
mov dword [ebp + 0x464c], 1
mov dword [esp + 0x3c], 0
mov edx, dword [ebp + 0x6fb0]
test edx, edx
jne 0xc54829
mov eax, dword [ebp + 0x4648]
test eax, eax
jne 0xc5894a
mov eax, dword [ebp + 0x44a0]
test eax, eax
je 0xc5894a
mov eax, dword [ebp + 0x44a4]
test eax, eax
je 0xc5894a
mov eax, dword [ebp + 0x4648]
test eax, eax
mov ecx, eax
je 0xc58270
mov edi, dword [ebp + 0x466c]
test edi, edi
jne 0xc5523e
mov ebx, dword [ebp + 0x60f4]
mov dword [ebp + 0x46a8], 0
mov dword [ebp + 0x10f4], ebx
mov ebx, dword [ebp + 0x60f0]
mov dword [ebp + 0x10f8], ebx
mov ebx, dword [ebp + 0x60ec]
mov dword [ebp + 0x10fc], ebx
mov ebx, dword [ebp + 0x60e8]
mov dword [ebp + 0x1100], ebx
test edx, edx
je 0xc548c1
mov ebx, dword [ebp + 0x6fa4]
test ebx, ebx
je 0xc548c1
mov edx, dword [ebp + 0x6fa8]
test edx, edx
jne 0xc548c1
mov dword [ebp + 0x6fa8], 1
mov eax, ecx
lea edx, [ebp + 0x53f8]
mov dword [ebp + 0x10a4], edx
mov edx, dword [ebp + 0x469c]
mov dword [ebp + 0x1094], eax
mov eax, dword [ebp + 0x4660]
mov dword [ebp + 0x108c], edx
mov dword [edx], 0
mov dword [ebp + 0x1090], eax
mov eax, dword [ebp + 0x4670]
mov dword [ebp + 0x1108], 0
mov dword [ebp + 0x1010], 0xffffffff
test eax, eax
je 0xc54919
mov dword [ebp + 0x1010], 0xfffffff8
sub esi, dword [esp + 0x34]
lea ebx, [ebp + 0x6d90]
mov dword [esp], ebx
mov dword [esp + 8], esi
mov esi, dword [esp + 0x34]
mov dword [esp + 4], esi
call fcn.00c82f30
test eax, eax
je 0xc54957
mov edx, dword [esp + 0x54]
mov dword [esp + 8], str.Failed_to_allocate_bool_decoder_0
mov dword [esp + 4], 2
mov dword [esp], edx
call fcn.00c54000
mov eax, dword [ebp + 0x4648]
mov esi, dword [ebp + 0x6da0]
test eax, eax
je 0xc5818e
mov eax, dword [ebp + 0x6d9c]
sub esi, 1
shl esi, 7
shr esi, 8
lea edi, [esi + 1]
test eax, eax
js 0xc58258
mov esi, dword [ebp + 0x6d98]
mov edx, edi
shl edx, 0x18
mov byte [esp + 0x38], 0
cmp esi, edx
jb 0xc549aa
mov ecx, dword [ebp + 0x6da0]
sub esi, edx
mov byte [esp + 0x38], 1
sub ecx, edi
mov edi, ecx
movzx ecx, byte [edi + 0x114fc00]
mov edx, edi
shl edx, cl
sub eax, ecx
shl esi, cl
movzx ecx, byte [esp + 0x38]
mov dword [ebp + 0x6d98], esi
mov dword [ebp + 0x6d9c], eax
mov dword [ebp + 0x6da0], edx
test cl, cl
mov byte [ebp + 0x10a8], cl
jne 0xc57c63
sub edx, 1
shl edx, 7
shr edx, 8
test eax, eax
lea edi, [edx + 1]
js 0xc5899c
mov esi, dword [ebp + 0x6d98]
mov ecx, edi
xor edx, edx
shl ecx, 0x18
cmp esi, ecx
jb 0xc54a14
mov edx, dword [ebp + 0x6da0]
sub esi, ecx
sub edx, edi
mov edi, edx
mov edx, 1
movzx ecx, byte [edi + 0x114fc00]
mov dword [ebp + 0x46ac], edx
shl edi, cl
sub eax, ecx
mov dword [ebp + 0x6da0], edi
sub edi, 1
shl edi, 7
shr edi, 8
shl esi, cl
add edi, 1
test eax, eax
mov dword [ebp + 0x6d98], esi
mov dword [ebp + 0x6d9c], eax
js 0xc58983
mov edx, edi
shl edx, 0x18
cmp edx, esi
mov dword [esp + 0x38], 0
ja 0xc54a72
mov ecx, dword [ebp + 0x6da0]
sub esi, edx
mov dword [esp + 0x38], 0x20
sub ecx, edi
mov edi, ecx
movzx ecx, byte [edi + 0x114fc00]
shl edi, cl
sub eax, ecx
mov dword [ebp + 0x6da0], edi
sub edi, 1
shl edi, 7
shr edi, 8
shl esi, cl
add edi, 1
test eax, eax
mov dword [ebp + 0x6d98], esi
mov dword [ebp + 0x6d9c], eax
js 0xc58bb3
mov ecx, edi
xor edx, edx
shl ecx, 0x18
cmp esi, ecx
jb 0xc54ac1
mov edx, dword [ebp + 0x6da0]
sub esi, ecx
sub edx, edi
mov edi, edx
mov edx, 0x10
movzx ecx, byte [edi + 0x114fc00]
or edx, dword [esp + 0x38]
shl edi, cl
sub eax, ecx
mov dword [ebp + 0x6da0], edi
sub edi, 1
shl edi, 7
shr edi, 8
shl esi, cl
add edi, 1
test eax, eax
mov dword [ebp + 0x6d98], esi
mov dword [ebp + 0x6d9c], eax
mov dword [esp + 0x38], edx
js 0xc58b9a
mov ecx, edi
xor edx, edx
shl ecx, 0x18
cmp esi, ecx
jb 0xc54b18
mov edx, dword [ebp + 0x6da0]
sub esi, ecx
sub edx, edi
mov edi, edx
mov edx, 8
movzx ecx, byte [edi + 0x114fc00]
or edx, dword [esp + 0x38]
shl edi, cl
sub eax, ecx
mov dword [ebp + 0x6da0], edi
sub edi, 1
shl edi, 7
shr edi, 8
shl esi, cl
add edi, 1
test eax, eax
mov dword [ebp + 0x6d98], esi
mov dword [ebp + 0x6d9c], eax
mov dword [esp + 0x38], edx
js 0xc58b81
mov ecx, edi
xor edx, edx
shl ecx, 0x18
cmp ecx, esi
ja 0xc54b6f
mov edx, dword [ebp + 0x6da0]
sub esi, ecx
sub edx, edi
mov edi, edx
mov edx, 4
movzx ecx, byte [edi + 0x114fc00]
or edx, dword [esp + 0x38]
shl edi, cl
sub eax, ecx
mov dword [ebp + 0x6da0], edi
sub edi, 1
shl edi, 7
shr edi, 8
shl esi, cl
add edi, 1
test eax, eax
mov dword [ebp + 0x6d98], esi
mov dword [ebp + 0x6d9c], eax
mov dword [esp + 0x38], edx
js 0xc58b68
mov ecx, edi
xor edx, edx
shl ecx, 0x18
cmp ecx, esi
ja 0xc54bc6
mov edx, dword [ebp + 0x6da0]
sub esi, ecx
sub edx, edi
mov edi, edx
mov edx, 2
movzx ecx, byte [edi + 0x114fc00]
or edx, dword [esp + 0x38]
shl edi, cl
sub eax, ecx
mov dword [ebp + 0x6da0], edi
sub edi, 1
shl edi, 7
shr edi, 8
shl esi, cl
add edi, 1
test eax, eax
mov dword [ebp + 0x6d98], esi
mov dword [ebp + 0x6d9c], eax
mov dword [esp + 0x38], edx
js 0xc58b4f
mov ecx, edi
xor edx, edx
shl ecx, 0x18
cmp ecx, esi
ja 0xc54c1d
mov edx, dword [ebp + 0x6da0]
sub esi, ecx
sub edx, edi
mov edi, edx
mov edx, 1
movzx ecx, byte [edi + 0x114fc00]
or edx, dword [esp + 0x38]
shl edi, cl
sub eax, ecx
mov dword [ebp + 0x6da0], edi
sub edi, 1
shl edi, 7
shr edi, 8
shl esi, cl
add edi, 1
test eax, eax
mov dword [ebp + 0x6d98], esi
mov dword [ebp + 0x6d9c], eax
mov dword [ebp + 0x53c0], edx
js 0xc58b36
mov ecx, edi
xor edx, edx
shl ecx, 0x18
cmp esi, ecx
jb 0xc54c76
mov edx, dword [ebp + 0x6da0]
sub esi, ecx
sub edx, edi
mov edi, edx
mov edx, 4
movzx ecx, byte [edi + 0x114fc00]
shl edi, cl
sub eax, ecx
mov dword [ebp + 0x6da0], edi
sub edi, 1
shl edi, 7
shr edi, 8
shl esi, cl
add edi, 1
test eax, eax
mov dword [ebp + 0x6d98], esi
mov dword [ebp + 0x6d9c], eax
js 0xc58b15
mov ecx, edi
shl ecx, 0x18
cmp esi, ecx
mov dword [esp + 0x40], ecx
mov dword [esp + 0x38], 0
jb 0xc54cd4
mov ecx, dword [ebp + 0x6da0]
sub esi, dword [esp + 0x40]
mov dword [esp + 0x38], 2
sub ecx, edi
mov edi, ecx
movzx ecx, byte [edi + 0x114fc00]
or edx, dword [esp + 0x38]
shl edi, cl
sub eax, ecx
mov dword [ebp + 0x6da0], edi
sub edi, 1
shl edi, 7
shr edi, 8
shl esi, cl
add edi, 1
test eax, eax
mov dword [ebp + 0x6d98], esi
mov dword [ebp + 0x6d9c], eax
mov dword [esp + 0x38], edx
js 0xc58afc
mov ecx, edi
xor edx, edx
shl ecx, 0x18
cmp ecx, esi
ja 0xc54d2b
mov edx, dword [ebp + 0x6da0]
sub esi, ecx
sub edx, edi
mov edi, edx
mov edx, 1
movzx ecx, byte [edi + 0x114fc00]
or edx, dword [esp + 0x38]
mov byte [ebp + 0x10b8], 0
shl edi, cl
sub eax, ecx
mov dword [ebp + 0x6da0], edi
sub edi, 1
shl edi, 7
shr edi, 8
shl esi, cl
add edi, 1
test eax, eax
mov dword [ebp + 0x6d98], esi
mov dword [ebp + 0x6d9c], eax
mov dword [ebp + 0x53c8], edx
js 0xc5877b
mov edx, edi
shl edx, 0x18
cmp edx, esi
mov byte [esp + 0x38], 0
ja 0xc54d8e
mov ecx, dword [ebp + 0x6da0]
sub esi, edx
mov byte [esp + 0x38], 1
sub ecx, edi
mov edi, ecx
movzx ecx, byte [edi + 0x114fc00]
mov edx, edi
shl edx, cl
sub eax, ecx
shl esi, cl
movzx ecx, byte [esp + 0x38]
mov dword [ebp + 0x6d98], esi
mov dword [ebp + 0x6d9c], eax
mov dword [ebp + 0x6da0], edx
test cl, cl
mov byte [ebp + 0x10b7], cl
jne 0xc57387
mov esi, dword [esp + 0x34]
lea edi, [ebp + 0x6da4]
sub edx, 1
add esi, dword [esp + 0x3c]
mov dword [esp + 0x64], edi
mov edi, dword [ebp + 0x6df8]
shl edx, 7
shr edx, 8
mov dword [esp + 0x50], esi
mov esi, dword [ebp + 0x6dd4]
add esi, edi
test eax, eax
mov dword [esp + 0x58], esi
lea esi, [edx + 1]
js 0xc587e2
mov edx, dword [ebp + 0x6d98]
mov ecx, esi
xor edi, edi
shl ecx, 0x18
cmp ecx, edx
ja 0xc54e20
mov edi, dword [ebp + 0x6da0]
sub edx, ecx
sub edi, esi
mov esi, edi
mov edi, 2
movzx ecx, byte [esi + 0x114fc00]
shl esi, cl
sub eax, ecx
mov dword [ebp + 0x6da0], esi
sub esi, 1
shl esi, 7
shr esi, 8
shl edx, cl
add esi, 1
test eax, eax
mov dword [ebp + 0x6d98], edx
mov dword [ebp + 0x6d9c], eax
js 0xc587c9
mov ecx, esi
shl ecx, 0x18
cmp edx, ecx
mov dword [esp + 0x38], ecx
mov dword [esp + 0x34], 0
jb 0xc54e7e
mov ecx, dword [ebp + 0x6da0]
sub edx, dword [esp + 0x38]
mov dword [esp + 0x34], 1
sub ecx, esi
mov esi, ecx
movzx ecx, byte [esi + 0x114fc00]
sub eax, ecx
shl edx, cl
shl esi, cl
mov ecx, dword [esp + 0x34]
mov dword [ebp + 0x6d9c], eax
sub eax, 0x21
mov dword [ebp + 0x6d98], edx
mov dword [ebp + 0x6da0], esi
or ecx, edi
cmp eax, 0x3fffffde
ja 0xc5737c
mov ecx, dword [ebp + 0x60a0]
mov dword [esp + 0x44], 1
mov esi, dword [esp + 0x64]
shl dword [esp + 0x44], cl
cmp dword [esp + 0x44], 1
mov dword [esp + 0x5c], esi
jle 0xc54ef6
mov edi, dword [esp + 0x44]
lea eax, [edi + edi*4]
shl eax, 2
mov dword [esp], eax
call fcn.00c2e700
test eax, eax
mov dword [esp + 0x5c], eax
mov dword [ebp + 0x6e78], eax
je 0xc58794
mov ecx, dword [ebp + 0x6e1c]
test ecx, ecx
je 0xc5532a
mov edx, dword [esp + 0x44]
mov dword [esp + 0x68], ebx
sub edx, 1
lea esi, [edx + edx*2]
mov dword [esp + 0x60], esi
xor esi, esi
mov dword [esp + 0x48], edx
mov ebx, esi
jmp 0xc54f30
mov ecx, dword [ebp + 0x6e1c]
mov edx, ebx
cmp edx, ecx
jae 0xc55326
lea edx, [ebx + 0x1b74]
test ebx, ebx
mov eax, dword [ebp + ebx*4 + 0x6df8]
mov esi, dword [ebp + edx*4 + 4]
jne 0xc55315
mov edi, dword [ebp + 0x6dd4]
mov edx, 1
mov bl, 1
mov dword [esp + 0x38], edi
mov edi, dword [esp + 0x50]
sub edi, dword [esp + 0x38]
add edi, dword [esp + 0x60]
mov dword [esp + 0x3c], edi
mov edi, eax
sub edi, dword [esp + 0x3c]
mov dword [esp + 0x34], edi
je 0xc54f28
mov edx, dword [esp + 0x3c]
mov edi, dword [esp + 0x38]
mov dword [ebp + 0x6df8], edx
add edi, edx
mov edx, 0x1b75
mov dword [ebp + 0x6dd8], edi
add esi, eax
lea ecx, [ebx + ebx*2]
mov dword [esp + 0x3c], esi
lea edi, [ebp + edx*4 + 4]
xor esi, esi
mov dword [esp + 0x4c], ecx
mov eax, dword [edi]
lea ecx, [ebx - 1]
mov edx, dword [esp + 0x3c]
sub edx, eax
cmp ecx, dword [esp + 0x48]
mov dword [esp + 0x38], edx
jge 0xc54ffe
mov edx, dword [esp + 0x50]
add edx, dword [esp + 0x4c]
mov dword [esp + 0x40], edx
add edx, esi
cmp dword [esp + 0x58], edx
jb 0xc55280
mov ecx, dword [esp + 0x40]
movzx ecx, byte [ecx + esi - 3]
mov dword [esp + 0x2c], ecx
mov ecx, dword [esp + 0x40]
movzx edx, byte [ecx + esi - 2]
shl edx, 8
add edx, dword [esp + 0x2c]
mov dword [esp + 0x2c], edx
movzx edx, byte [ecx + esi - 1]
shl edx, 0x10
add edx, dword [esp + 0x2c]
test edx, edx
jle 0xc5500a
add eax, edx
cmp dword [esp + 0x3c], eax
jae 0xc5501c
mov ecx, dword [ebp + 0x6fa8]
test ecx, ecx
je 0xc552c0
mov edx, dword [esp + 0x38]
cmp ebx, dword [esp + 0x44]
mov dword [ebp + ebx*4 + 0x6df8], edx
jg 0xc552f9
add edi, 4
add esi, 3
add ebx, 1
sub dword [esp + 0x34], edx
je 0xc54f20
add edx, dword [edi - 4]
mov dword [edi], edx
jmp 0xc54fa4
movzx eax, byte [ebx]
and eax, 1
mov dword [ebp + 0x4648], eax
movzx eax, byte [ebx]
shr al, 1
and eax, 7
mov dword [ebp + 0x609c], eax
movzx eax, byte [ebx]
shr al, 4
and eax, 1
mov dword [ebp + 0x464c], eax
movzx edx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl edx, 8
shl eax, 0x10
or edx, eax
movzx eax, byte [ebx]
or edx, eax
mov eax, dword [ebp + 0x6fa8]
sar edx, 5
mov dword [esp + 0x3c], edx
test eax, eax
jne 0xc550bd
mov eax, ebx
add eax, edx
cmp esi, eax
jae 0xc550bd
mov ebx, dword [esp + 0x54]
mov dword [esp + 8], str.Truncated_packet_or_corrupt_partition_0_length
mov dword [esp + 4], 7
mov dword [esp], ebx
call fcn.00c54000
mov edx, dword [esp + 0x54]
mov dword [esp], edx
call fcn.00c2ed60
mov eax, dword [ebp + 0x4648]
test eax, eax
jne 0xc55213
mov eax, dword [ebp + 0x6fa8]
mov edi, dword [ebp + 0x44a0]
mov ebx, dword [ebp + 0x44a4]
test eax, eax
je 0xc550fc
mov edx, dword [esp + 0x34]
add edx, 6
cmp esi, edx
jbe 0xc5837d
mov edx, dword [esp + 0x34]
cmp byte [edx + 3], 0x9d
jne 0xc55110
cmp byte [edx + 4], 1
je 0xc588da
mov edx, dword [esp + 0x54]
mov dword [esp + 8], str.Invalid_frame_sync_code
mov dword [esp + 4], 5
mov dword [esp], edx
call fcn.00c54000
mov eax, dword [ebp + 0x6fa8]
test eax, eax
jne 0xc5837d
mov edx, dword [esp + 0x34]
mov ecx, dword [esp + 0x34]
movzx eax, byte [edx + 7]
movzx edx, byte [edx + 6]
shl eax, 8
or eax, edx
and eax, 0x3fff
mov dword [ebp + 0x44a0], eax
movzx edx, byte [ecx + 7]
shr dl, 6
movzx edx, dl
mov dword [ebp + 0x44a8], edx
movzx edx, byte [ecx + 9]
movzx ecx, byte [ecx + 8]
shl edx, 8
or edx, ecx
mov ecx, dword [esp + 0x34]
and edx, 0x3fff
mov dword [ebp + 0x44a4], edx
add dword [esp + 0x34], 0xa
movzx edx, byte [ecx + 9]
shr dl, 6
cmp edi, eax
movzx edx, dl
mov dword [ebp + 0x44ac], edx
je 0xc5839f
mov edx, dword [ebp + 0x4658]
test eax, eax
mov dword [esp + 0x38], edx
jle 0xc583bd
mov eax, dword [ebp + 0x44a4]
test eax, eax
jle 0xc583ed
mov dword [esp + 8], eax
mov edx, dword [esp + 0x54]
mov eax, dword [ebp + 0x44a0]
mov dword [esp], edx
mov dword [esp + 4], eax
call fcn.00c2e910
test eax, eax
jne 0xc58915
mov eax, dword [ebp + 0x6e20]
test eax, eax
je 0xc54811
mov edi, dword [esp + 0x38]
mov dword [esp + 8], edi
mov eax, dword [ebp + 0x44a0]
mov dword [esp], ebp
mov dword [esp + 4], eax
call fcn.00c52680
jmp 0xc54811
add dword [esp + 0x34], 3
jmp 0xc54811
mov ebx, dword [esp + 0x54]
mov dword [esp + 8], str.Truncated_packet
mov dword [esp + 4], 7
mov dword [esp], ebx
call fcn.00c54000
jmp 0xc547eb
mov ebx, dword [ebp + 0x6104]
mov dword [ebp + 0x46a8], 1
mov dword [ebp + 0x10f4], ebx
mov ebx, dword [ebp + 0x6100]
mov dword [ebp + 0x10f8], ebx
mov ebx, dword [ebp + 0x60fc]
mov dword [ebp + 0x10fc], ebx
mov ebx, dword [ebp + 0x60f8]
mov dword [ebp + 0x1100], ebx
jmp 0xc5489d
mov ecx, dword [ebp + 0x6fa8]
mov edx, dword [esp + 0x38]
test ecx, ecx
jne 0xc54ffe
mov edx, dword [esp + 0x54]
mov dword [esp + 0x30], eax
mov dword [esp + 8], str.Truncated_partition_size_data
mov dword [esp + 4], 7
mov dword [esp], edx
call fcn.00c54000
xor edx, edx
mov eax, dword [esp + 0x30]
jmp 0xc54ffe
mov ecx, dword [esp + 0x54]
mov dword [esp + 0x30], edx
mov dword [esp + 0xc], ebx
mov dword [esp + 8], str.Truncated_packet_or_corrupt_partition__d_length
mov dword [esp + 4], 7
mov dword [esp], ecx
call fcn.00c54000
mov edx, dword [esp + 0x30]
cmp ebx, dword [esp + 0x44]
mov dword [ebp + ebx*4 + 0x6df8], edx
jle 0xc5502d
mov dword [esp + 8], 0x21e
mov dword [esp + 4], str.vp8_decoder_decodframe.c
mov dword [esp], str.fragment_idx___num_token_partitions
call sub.msvcrt.dll__assert
test eax, eax
je 0xc587bf
mov dword [esp + 0x34], eax
jmp 0xc54f91
mov ebx, dword [esp + 0x68]
mov eax, dword [esp + 0x44]
add eax, 1
cmp eax, 1
mov dword [ebp + 0x6e1c], eax
jbe 0xc553a4
mov dword [esp + 0x34], ebx
mov esi, ebp
mov edi, 1
mov ebx, dword [esp + 0x5c]
jmp 0xc5535e
add ebx, 0x14
add edi, 1
add esi, 4
cmp edi, dword [ebp + 0x6e1c]
jae 0xc553a0
mov eax, dword [esi + 0x6dfc]
mov dword [esp + 8], eax
mov eax, dword [esi + 0x6dd8]
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.00c82f30
test eax, eax
je 0xc5534d
mov edx, dword [esp + 0x54]
mov dword [esp + 0xc], edi
mov dword [esp + 8], str.Failed_to_allocate_bool_decoder__d
mov dword [esp + 4], 2
mov dword [esp], edx
call fcn.00c54000
jmp 0xc5534d
mov ebx, dword [esp + 0x34]
mov esi, dword [esp + 0x44]
cmp esi, dword [ebp + 0x6e2c]
jg 0xc553bb
mov eax, esi
sub eax, 1
mov dword [ebp + 0x6e2c], eax
mov esi, dword [ebp + 0x6da0]
mov edx, dword [ebp + 0x6d9c]
mov edi, dword [esp + 0x64]
sub esi, 1
shl esi, 7
shr esi, 8
add esi, 1
test edx, edx
mov dword [ebp + 0x1104], edi
js 0xc58970
mov eax, dword [ebp + 0x6d98]
mov ecx, esi
xor edi, edi
shl ecx, 0x18
cmp ecx, eax
ja 0xc55407
mov edi, dword [ebp + 0x6da0]
sub eax, ecx
sub edi, esi
mov esi, edi
mov edi, 0x40
movzx ecx, byte [esi + 0x114fc00]
shl esi, cl
sub edx, ecx
mov dword [ebp + 0x6da0], esi
sub esi, 1
shl esi, 7
shr esi, 8
shl eax, cl
add esi, 1
test edx, edx
mov dword [ebp + 0x6d98], eax
mov dword [ebp + 0x6d9c], edx
js 0xc58957
mov ecx, esi
shl ecx, 0x18
cmp eax, ecx
mov dword [esp + 0x38], ecx
mov dword [esp + 0x34], 0
jb 0xc55465
mov ecx, dword [ebp + 0x6da0]
sub eax, dword [esp + 0x38]
mov dword [esp + 0x34], 0x20
sub ecx, esi
mov esi, ecx
movzx ecx, byte [esi + 0x114fc00]
or edi, dword [esp + 0x34]
shl esi, cl
sub edx, ecx
mov dword [ebp + 0x6da0], esi
sub esi, 1
shl esi, 7
shr esi, 8
shl eax, cl
add esi, 1
test edx, edx
mov dword [ebp + 0x6d98], eax
mov dword [ebp + 0x6d9c], edx
mov dword [esp + 0x34], edi
js 0xc58c5c
mov ecx, esi
xor edi, edi
shl ecx, 0x18
cmp ecx, eax
ja 0xc554bc
mov edi, dword [ebp + 0x6da0]
sub eax, ecx
sub edi, esi
mov esi, edi
mov edi, 0x10
movzx ecx, byte [esi + 0x114fc00]
or edi, dword [esp + 0x34]
shl esi, cl
sub edx, ecx
mov dword [ebp + 0x6da0], esi
sub esi, 1
shl esi, 7
shr esi, 8
shl eax, cl
add esi, 1
test edx, edx
mov dword [ebp + 0x6d98], eax
mov dword [ebp + 0x6d9c], edx
mov dword [esp + 0x34], edi
js 0xc58c43
mov ecx, esi
xor edi, edi
shl ecx, 0x18
cmp eax, ecx
jb 0xc55513
mov edi, dword [ebp + 0x6da0]
sub eax, ecx
sub edi, esi
mov esi, edi
mov edi, 8
movzx ecx, byte [esi + 0x114fc00]
or edi, dword [esp + 0x34]
shl esi, cl
sub edx, ecx
mov dword [ebp + 0x6da0], esi
sub esi, 1
shl esi, 7
shr esi, 8
shl eax, cl
add esi, 1
test edx, edx
mov dword [ebp + 0x6d98], eax
mov dword [ebp + 0x6d9c], edx
mov dword [esp + 0x34], edi
js 0xc58c2a
mov ecx, esi
xor edi, edi
shl ecx, 0x18
cmp eax, ecx
jb 0xc5556a
mov edi, dword [ebp + 0x6da0]
sub eax, ecx
sub edi, esi
mov esi, edi
mov edi, 4
movzx ecx, byte [esi + 0x114fc00]
or edi, dword [esp + 0x34]
shl esi, cl
sub edx, ecx
mov dword [ebp + 0x6da0], esi
sub esi, 1
shl esi, 7
shr esi, 8
shl eax, cl
add esi, 1
test edx, edx
mov dword [ebp + 0x6d98], eax
mov dword [ebp + 0x6d9c], edx
mov dword [esp + 0x34], edi
js 0xc58c11
mov ecx, esi
xor edi, edi
shl ecx, 0x18
cmp eax, ecx
jb 0xc555c1
mov edi, dword [ebp + 0x6da0]
sub eax, ecx
sub edi, esi
mov esi, edi
mov edi, 2
movzx ecx, byte [esi + 0x114fc00]
or edi, dword [esp + 0x34]
shl esi, cl
sub edx, ecx
mov dword [ebp + 0x6da0], esi
sub esi, 1
shl esi, 7
shr esi, 8
shl eax, cl
add esi, 1
test edx, edx
mov dword [ebp + 0x6d98], eax
mov dword [ebp + 0x6d9c], edx
mov dword [esp + 0x34], edi
js 0xc58bf8
mov ecx, esi
xor edi, edi
shl ecx, 0x18
cmp eax, ecx
jb 0xc55618
mov edi, dword [ebp + 0x6da0]
sub eax, ecx
sub edi, esi
mov esi, edi
mov edi, 1
movzx ecx, byte [esi + 0x114fc00]
or edi, dword [esp + 0x34]
shl esi, cl
sub edx, ecx
mov dword [ebp + 0x4674], edi
mov edi, dword [ebp + 0x467c]
shl eax, cl
mov dword [ebp + 0x6da0], esi
sub esi, 1
shl esi, 7
shr esi, 8
test edx, edx
mov dword [esp + 0x3c], edi
lea edi, [esi + 1]
mov dword [ebp + 0x6d98], eax
mov dword [ebp + 0x6d9c], edx
js 0xc58bdf
mov ecx, edi
shl ecx, 0x18
cmp ecx, eax
mov dword [esp + 0x34], ecx
ja 0xc58160
mov esi, dword [ebp + 0x6da0]
sub eax, dword [esp + 0x34]
sub esi, edi
movzx ecx, byte [esi + 0x114fc00]
shl esi, cl
sub edx, ecx
mov dword [ebp + 0x6da0], esi
sub esi, 1
shl esi, 7
shr esi, 8
shl eax, cl
add esi, 1
test edx, edx
mov dword [ebp + 0x6d98], eax
mov dword [ebp + 0x6d9c], edx
js 0xc588c1
mov ecx, esi
xor edi, edi
shl ecx, 0x18
cmp eax, ecx
jb 0xc556cb
mov edi, dword [ebp + 0x6da0]
sub eax, ecx
sub edi, esi
mov esi, edi
mov edi, 8
movzx ecx, byte [esi + 0x114fc00]
shl esi, cl
sub edx, ecx
mov dword [ebp + 0x6da0], esi
sub esi, 1
shl esi, 7
shr esi, 8
shl eax, cl
add esi, 1
test edx, edx
mov dword [ebp + 0x6d98], eax
mov dword [ebp + 0x6d9c], edx
js 0xc58d31
mov ecx, esi
shl ecx, 0x18
cmp eax, ecx
mov dword [esp + 0x38], ecx
mov dword [esp + 0x34], 0
jb 0xc55729
mov ecx, dword [ebp + 0x6da0]
sub eax, dword [esp + 0x38]
mov dword [esp + 0x34], 4
sub ecx, esi
mov esi, ecx
movzx ecx, byte [esi + 0x114fc00]
or edi, dword [esp + 0x34]
shl esi, cl
sub edx, ecx
mov dword [ebp + 0x6da0], esi
sub esi, 1
shl esi, 7
shr esi, 8
shl eax, cl
add esi, 1
test edx, edx
mov dword [ebp + 0x6d98], eax
mov dword [ebp + 0x6d9c], edx
mov dword [esp + 0x34], edi
js 0xc58d18
mov ecx, esi
xor edi, edi
shl ecx, 0x18
cmp eax, ecx
jb 0xc55780
mov edi, dword [ebp + 0x6da0]
sub eax, ecx
sub edi, esi
mov esi, edi
mov edi, 2
movzx ecx, byte [esi + 0x114fc00]
or edi, dword [esp + 0x34]
shl esi, cl
sub edx, ecx
mov dword [ebp + 0x6da0], esi
sub esi, 1
shl esi, 7
shr esi, 8
shl eax, cl
add esi, 1
test edx, edx
mov dword [ebp + 0x6d98], eax
mov dword [ebp + 0x6d9c], edx
mov dword [esp + 0x34], edi
js 0xc58cff
mov ecx, esi
xor edi, edi
shl ecx, 0x18
cmp ecx, eax
ja 0xc557d7
mov edi, dword [ebp + 0x6da0]
sub eax, ecx
sub edi, esi
mov esi, edi
mov edi, 1
movzx ecx, byte [esi + 0x114fc00]
or edi, dword [esp + 0x34]
shl esi, cl
sub edx, ecx
mov dword [ebp + 0x6da0], esi
sub esi, 1
shl esi, 7
shl eax, cl
shr esi, 8
test edx, edx
mov dword [esp + 0x34], edi
lea edi, [esi + 1]
mov dword [ebp + 0x6d98], eax
mov dword [ebp + 0x6d9c], edx
js 0xc58ce6
mov ecx, edi
shl ecx, 0x18
cmp ecx, eax
mov dword [esp + 0x38], ecx
ja 0xc58cc0
mov esi, dword [ebp + 0x6da0]
sub eax, dword [esp + 0x38]
neg dword [esp + 0x34]
sub esi, edi
movzx ecx, byte [esi + 0x114fc00]
shl esi, cl
sub edx, ecx
shl eax, cl
mov dword [ebp + 0x6d98], eax
mov dword [ebp + 0x6d9c], edx
mov dword [ebp + 0x6da0], esi
mov edi, dword [esp + 0x34]
sub esi, 1
shl esi, 7
shr esi, 8
test edx, edx
mov dword [ebp + 0x467c], edi
mov edi, dword [ebp + 0x4680]
mov dword [esp + 0x40], edi
lea edi, [esi + 1]
js 0xc58ca7
mov ecx, edi
shl ecx, 0x18
cmp ecx, eax
mov dword [esp + 0x38], ecx
ja 0xc58138
mov esi, dword [ebp + 0x6da0]
sub eax, dword [esp + 0x38]
sub esi, edi
movzx ecx, byte [esi + 0x114fc00]
shl esi, cl
sub edx, ecx
mov dword [ebp + 0x6da0], esi
sub esi, 1
shl esi, 7
shr esi, 8
shl eax, cl
add esi, 1
test edx, edx
mov dword [ebp + 0x6d98], eax
mov dword [ebp + 0x6d9c], edx
js 0xc58c8e
mov ecx, esi
xor edi, edi
shl ecx, 0x18
cmp eax, ecx
jb 0xc558e6
mov edi, dword [ebp + 0x6da0]
sub eax, ecx
sub edi, esi
mov esi, edi
mov edi, 8
movzx ecx, byte [esi + 0x114fc00]
shl esi, cl
sub edx, ecx
mov dword [ebp + 0x6da0], esi
sub esi, 1
shl esi, 7
shr esi, 8
shl eax, cl
add esi, 1
test edx, edx
mov dword [ebp + 0x6d98], eax
mov dword [ebp + 0x6d9c], edx
js 0xc58497
mov ecx, esi
shl ecx, 0x18
cmp eax, ecx
mov dword [esp + 0x44], ecx
mov dword [esp + 0x38], 0
jb 0xc55944
mov ecx, dword [ebp + 0x6da0]
sub eax, dword [esp + 0x44]
mov dword [esp + 0x38], 4
sub ecx, esi
mov esi, ecx
movzx ecx, byte [esi + 0x114fc00]
or edi, dword [esp + 0x38]
shl esi, cl
sub edx, ecx
mov dword [ebp + 0x6da0], esi
sub esi, 1
shl esi, 7
shr esi, 8
shl eax, cl
add esi, 1
test edx, edx
mov dword [ebp + 0x6d98], eax
mov dword [ebp + 0x6d9c], edx
mov dword [esp + 0x38], edi
js 0xc5847e
mov ecx, esi
xor edi, edi
shl ecx, 0x18
cmp eax, ecx
jb 0xc5599b
mov edi, dword [ebp + 0x6da0]
sub eax, ecx
sub edi, esi
mov esi, edi
mov edi, 2
movzx ecx, byte [esi + 0x114fc00]
or edi, dword [esp + 0x38]
shl esi, cl
sub edx, ecx
mov dword [ebp + 0x6da0], esi
sub esi, 1
shl esi, 7
shr esi, 8
shl eax, cl
add esi, 1
test edx, edx
mov dword [ebp + 0x6d98], eax
mov dword [ebp + 0x6d9c], edx
mov dword [esp + 0x38], edi
js 0xc58465
mov ecx, esi
xor edi, edi
shl ecx, 0x18
cmp ecx, eax
ja 0xc559f2
mov edi, dword [ebp + 0x6da0]
sub eax, ecx
sub edi, esi
mov esi, edi
mov edi, 1
movzx ecx, byte [esi + 0x114fc00]
or edi, dword [esp + 0x38]
shl esi, cl
sub edx, ecx
mov dword [ebp + 0x6da0], esi
sub esi, 1
shl esi, 7
shr esi, 8
shl eax, cl
test edx, edx
lea ecx, [esi + 1]
mov dword [ebp + 0x6d98], eax
mov dword [ebp + 0x6d9c], edx
mov dword [esp + 0x38], ecx
js 0xc5841a
cmp dword [esp + 0x40], edi
mov dword [esp + 0x38], 1
jne 0xc55a85
mov eax, dword [esp + 0x34]
cmp dword [esp + 0x3c], eax
setne al
movzx eax, al
mov dword [esp + 0x38], eax
mov dword [ebp + 0x4680], edi
mov edi, dword [ebp + 0x4684]
mov dword [esp + 0x40], edi
lea edi, [esi - 1]
shl edi, 7
shr edi, 8
test edx, edx
lea esi, [edi + 1]
js 0xc58bcc
mov eax, dword [ebp + 0x6d98]
mov dword [esp + 0x34], eax
mov eax, esi
shl eax, 0x18
cmp dword [esp + 0x34], eax
mov dword [esp + 0x3c], eax
jb 0xc5810c
mov eax, dword [ebp + 0x6da0]
sub eax, esi
movzx ecx, byte [eax + 0x114fc00]
mov esi, eax
mov eax, dword [esp + 0x34]
sub eax, dword [esp + 0x3c]
shl esi, cl
sub edx, ecx
mov dword [ebp + 0x6da0], esi
sub esi, 1
shl esi, 7
shr esi, 8
shl eax, cl
add esi, 1
test edx, edx
mov dword [ebp + 0x6d98], eax
mov dword [ebp + 0x6d9c], edx
js 0xc58c75
mov ecx, esi
xor edi, edi
shl ecx, 0x18
cmp eax, ecx
jb 0xc55b27
mov edi, dword [ebp + 0x6da0]
sub eax, ecx
sub edi, esi
mov esi, edi
mov edi, 8
movzx ecx, byte [esi + 0x114fc00]
shl esi, cl
sub edx, ecx
mov dword [ebp + 0x6da0], esi
sub esi, 1
shl esi, 7
shr esi, 8
shl eax, cl
add esi, 1
test edx, edx
mov dword [ebp + 0x6d98], eax
mov dword [ebp + 0x6d9c], edx
js 0xc58576
mov ecx, esi
shl ecx, 0x18
cmp eax, ecx
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x34], 0
jb 0xc55b85
mov ecx, dword [ebp + 0x6da0]
sub eax, dword [esp + 0x3c]
mov dword [esp + 0x34], 4
sub ecx, esi
mov esi, ecx
movzx ecx, byte [esi + 0x114fc00]
or edi, dword [esp + 0x34]
shl esi, cl
sub edx, ecx
mov dword [ebp + 0x6da0], esi
sub esi, 1
shl esi, 7
shr esi, 8
shl eax, cl
add esi, 1
test edx, edx
mov dword [ebp + 0x6d98], eax
mov dword [ebp + 0x6d9c], edx
mov dword [esp + 0x34], edi
js 0xc5855d
mov ecx, esi
xor edi, edi
shl ecx, 0x18
cmp eax, ecx
jb 0xc55bdc
cmp dword [esp + 0x40], edi
mov edx, 1
mov dword [ebp + 0x4684], edi
mov edi, dword [ebp + 0x4688]
cmove edx, dword [esp + 0x38]
sub esi, 1
shl esi, 7
shr esi, 8
test eax, eax
mov dword [esp + 0x44], edi
lea edi, [esi + 1]
mov dword [esp + 0x38], edx
js 0xc584e2
mov edx, dword [ebp + 0x6d98]
mov dword [esp + 0x34], edx
mov edx, edi
shl edx, 0x18
cmp dword [esp + 0x34], edx
mov dword [esp + 0x3c], edx
jb 0xc580e0
mov edx, dword [ebp + 0x6da0]
sub edx, edi
movzx ecx, byte [edx + 0x114fc00]
mov esi, edx
mov edx, dword [esp + 0x34]
sub edx, dword [esp + 0x3c]
shl esi, cl
sub eax, ecx
mov dword [ebp + 0x6da0], esi
sub esi, 1
shl esi, 7
shr esi, 8
shl edx, cl
add esi, 1
test eax, eax
mov dword [ebp + 0x6d98], edx
mov dword [ebp + 0x6d9c], eax
js 0xc584c9
mov ecx, esi
shl ecx, 0x18
cmp edx, ecx
mov dword [esp + 0x34], 0
jb 0xc55d6f
mov edi, dword [ebp + 0x6da0]
sub edx, ecx
mov dword [esp + 0x34], 8
sub edi, esi
mov esi, edi
movzx ecx, byte [esi + 0x114fc00]
mov edi, esi
mov esi, eax
shl edi, cl
sub esi, ecx
mov dword [ebp + 0x6da0], edi
sub edi, 1
shl edi, 7
shr edi, 8
shl edx, cl
add edi, 1
test esi, esi
mov dword [ebp + 0x6d98], edx
mov dword [ebp + 0x6d9c], esi
js 0xc5866a
cmp dword [esp + 0x44], esi
mov ecx, 1
mov dword [ebp + 0x4688], esi
mov esi, dword [ebp + 0x468c]
cmove ecx, dword [esp + 0x38]
sub edx, 1
shl edx, 7
shr edx, 8
test eax, eax
mov dword [esp + 0x38], ecx
lea edi, [edx + 1]
mov dword [esp + 0x3c], esi
js 0xc585d0
mov esi, dword [ebp + 0x6d98]
mov ecx, edi
shl ecx, 0x18
mov dword [esp + 0x34], ecx
cmp esi, ecx
jb 0xc57b76
mov dword [ebp + 0x60a0], ecx
jmp 0xc54eb7
sub edx, 1
shl edx, 7
shr edx, 8
test eax, eax
lea edi, [edx + 1]
js 0xc58762
mov edx, edi
shl edx, 0x18
cmp edx, esi
mov byte [esp + 0x38], 0
ja 0xc573ba
mov ecx, dword [ebp + 0x6da0]
sub esi, edx
mov byte [esp + 0x38], 1
sub ecx, edi
mov edi, ecx
movzx ecx, byte [edi + 0x114fc00]
mov edx, edi
shl edx, cl
sub eax, ecx
shl esi, cl
movzx ecx, byte [esp + 0x38]
mov dword [ebp + 0x6d98], esi
mov dword [ebp + 0x6d9c], eax
mov dword [ebp + 0x6da0], edx
test cl, cl
mov byte [ebp + 0x10b8], cl
je 0xc54dc2
lea esi, [ebp + 4]
mov dword [esp + 0x40], ebp
mov dword [esp + 0x4c], esi
mov dword [esp + 0x44], ebp
sub edx, 1
shl edx, 7
shr edx, 8
test eax, eax
lea esi, [edx + 1]
js 0xc5874f
mov edi, dword [ebx + 8]
mov edx, esi
shl edx, 0x18
mov dword [esp + 0x38], edx
cmp edi, edx
jb 0xc57957
mov edx, dword [ebx + 0x10]
sub edi, dword [esp + 0x38]
sub edx, esi
movzx ecx, byte [edx + 0x114fc00]
mov esi, edx
mov edx, eax
shl esi, cl
sub edx, ecx
mov dword [ebx + 0x10], esi
sub esi, 1
shl esi, 7
shr esi, 8
shl edi, cl
add esi, 1
test edx, edx
mov dword [ebx + 8], edi
mov dword [ebx + 0xc], edx
js 0xc588a8
mov eax, esi
shl eax, 0x18
cmp eax, edi
mov dword [esp + 0x38], 0
ja 0xc5747e
mov ecx, dword [ebx + 0x10]
sub edi, eax
mov dword [esp + 0x38], 0x20
sub ecx, esi
mov esi, ecx
movzx ecx, byte [esi + 0x114fc00]
mov eax, edi
shl esi, cl
sub edx, ecx
mov dword [ebx + 0x10], esi
sub esi, 1
shl esi, 7
shr esi, 8
shl eax, cl
add esi, 1
test edx, edx
mov dword [ebx + 8], eax
mov dword [ebx + 0xc], edx
js 0xc5888f
mov ecx, esi
xor edi, edi
shl ecx, 0x18
cmp ecx, eax
ja 0xc574c3
mov edi, dword [ebx + 0x10]
sub eax, ecx
sub edi, esi
mov esi, edi
mov edi, 0x10
movzx ecx, byte [esi + 0x114fc00]
or edi, dword [esp + 0x38]
shl esi, cl
sub edx, ecx
mov dword [ebx + 0x10], esi
sub esi, 1
shl esi, 7
shr esi, 8
shl eax, cl
add esi, 1
test edx, edx
mov dword [ebx + 8], eax
mov dword [ebx + 0xc], edx
mov dword [esp + 0x38], edi
js 0xc58876
mov ecx, esi
xor edi, edi
shl ecx, 0x18
cmp ecx, eax
ja 0xc5750e
mov edi, dword [ebx + 0x10]
sub eax, ecx
sub edi, esi
mov esi, edi
mov edi, 8
movzx ecx, byte [esi + 0x114fc00]
or edi, dword [esp + 0x38]
shl esi, cl
sub edx, ecx
mov dword [ebx + 0x10], esi
sub esi, 1
shl esi, 7
shr esi, 8
shl eax, cl
add esi, 1
test edx, edx
mov dword [ebx + 8], eax
mov dword [ebx + 0xc], edx
mov dword [esp + 0x38], edi
js 0xc5885d
mov ecx, esi
xor edi, edi
shl ecx, 0x18
cmp ecx, eax
ja 0xc57559
mov edi, dword [ebx + 0x10]
sub eax, ecx
sub edi, esi
mov esi, edi
mov edi, 4
movzx ecx, byte [esi + 0x114fc00]
or edi, dword [esp + 0x38]
shl esi, cl
mov dword [esp + 0x48], esi
mov esi, eax
mov eax, edx
mov edx, dword [esp + 0x48]
sub eax, ecx
mov dword [esp + 0x38], edi
shl esi, cl
mov dword [ebx + 8], esi
mov dword [ebx + 0xc], eax
mov edi, edx
sub edi, 1
shl edi, 7
shr edi, 8
add edi, 1
test eax, eax
mov dword [ebx + 0x10], edx
js 0xc58844
mov ecx, edi
xor edx, edx
shl ecx, 0x18
cmp ecx, esi
ja 0xc575b2
mov edx, dword [ebx + 0x10]
sub esi, ecx
sub edx, edi
mov edi, edx
mov edx, 2
movzx ecx, byte [edi + 0x114fc00]
or edx, dword [esp + 0x38]
shl edi, cl
sub eax, ecx
mov dword [ebx + 0x10], edi
sub edi, 1
shl edi, 7
shr edi, 8
shl esi, cl
add edi, 1
test eax, eax
mov dword [ebx + 8], esi
mov dword [ebx + 0xc], eax
mov dword [esp + 0x38], edx
js 0xc5882b
mov ecx, edi
xor edx, edx
shl ecx, 0x18
cmp ecx, esi
ja 0xc575fd
mov edx, dword [ebx + 0x10]
sub esi, ecx
sub edx, edi
mov edi, edx
mov edx, 1
movzx ecx, byte [edi + 0x114fc00]
or edx, dword [esp + 0x38]
shl edi, cl
sub eax, ecx
mov dword [ebx + 0x10], edi
mov edi, dword [esp + 0x44]
shl esi, cl
mov dword [ebx + 0xc], eax
mov dword [ebx + 8], esi
mov byte [edi + 0x10bd], dl
mov edi, dword [ebx + 0x10]
mov eax, dword [ebx + 0xc]
sub edi, 1
shl edi, 7
shr edi, 8
add edi, 1
test eax, eax
js 0xc58812
mov ecx, edi
shl ecx, 0x18
cmp ecx, esi
ja 0xc587f5
mov edx, dword [ebx + 0x10]
sub esi, ecx
sub edx, edi
movzx ecx, byte [edx + 0x114fc00]
shl esi, cl
sub eax, ecx
mov dword [ebx + 8], esi
mov esi, dword [esp + 0x44]
shl edx, cl
mov dword [ebx + 0xc], eax
mov dword [ebx + 0x10], edx
neg byte [esi + 0x10bd]
add dword [esp + 0x44], 1
mov edi, dword [esp + 0x4c]
cmp dword [esp + 0x44], edi
jne 0xc573fd
sub edx, 1
shl edx, 7
shr edx, 8
test eax, eax
lea esi, [edx + 1]
js 0xc5791b
mov edi, dword [ebx + 8]
mov edx, esi
shl edx, 0x18
mov dword [esp + 0x38], edx
cmp edi, edx
jb 0xc5793d
mov edx, dword [ebx + 0x10]
sub edi, dword [esp + 0x38]
sub edx, esi
movzx ecx, byte [edx + 0x114fc00]
mov esi, edx
mov edx, eax
shl esi, cl
sub edx, ecx
mov dword [ebx + 0x10], esi
sub esi, 1
shl esi, 7
shr esi, 8
shl edi, cl
add esi, 1
test edx, edx
mov dword [ebx + 8], edi
mov dword [ebx + 0xc], edx
js 0xc58700
mov eax, esi
shl eax, 0x18
cmp eax, edi
mov dword [esp + 0x38], 0
ja 0xc57703
mov ecx, dword [ebx + 0x10]
sub edi, eax
mov dword [esp + 0x38], 0x20
sub ecx, esi
mov esi, ecx
movzx ecx, byte [esi + 0x114fc00]
mov eax, edi
shl esi, cl
sub edx, ecx
mov dword [ebx + 0x10], esi
sub esi, 1
shl esi, 7
shr esi, 8
shl eax, cl
add esi, 1
test edx, edx
mov dword [ebx + 8], eax
mov dword [ebx + 0xc], edx
js 0xc586e7
mov ecx, esi
xor edi, edi
shl ecx, 0x18
cmp ecx, eax
ja 0xc57748
mov edi, dword [ebx + 0x10]
sub eax, ecx
sub edi, esi
mov esi, edi
mov edi, 0x10
movzx ecx, byte [esi + 0x114fc00]
or edi, dword [esp + 0x38]
shl esi, cl
sub edx, ecx
mov dword [ebx + 0x10], esi
sub esi, 1
shl esi, 7
shr esi, 8
shl eax, cl
add esi, 1
test edx, edx
mov dword [ebx + 8], eax
mov dword [ebx + 0xc], edx
mov dword [esp + 0x38], edi
js 0xc586ce
mov ecx, esi
xor edi, edi
shl ecx, 0x18
cmp ecx, eax
ja 0xc57793
mov edi, dword [ebx + 0x10]
sub eax, ecx
sub edi, esi
mov esi, edi
mov edi, 8
movzx ecx, byte [esi + 0x114fc00]
or edi, dword [esp + 0x38]
shl esi, cl
sub edx, ecx
mov dword [ebx + 0x10], esi
sub esi, 1
shl esi, 7
shr esi, 8
shl eax, cl
add esi, 1
test edx, edx
mov dword [ebx + 8], eax
mov dword [ebx + 0xc], edx
mov dword [esp + 0x38], edi
js 0xc586b5
mov ecx, esi
xor edi, edi
shl ecx, 0x18
cmp ecx, eax
ja 0xc577de
mov edi, dword [ebx + 0x10]
sub eax, ecx
sub edi, esi
mov esi, edi
mov edi, 4
movzx ecx, byte [esi + 0x114fc00]
or edi, dword [esp + 0x38]
shl esi, cl
mov dword [esp + 0x44], esi
mov esi, eax
mov eax, edx
mov edx, dword [esp + 0x44]
sub eax, ecx
mov dword [esp + 0x38], edi
shl esi, cl
mov dword [ebx + 8], esi
mov dword [ebx + 0xc], eax
mov edi, edx
sub edi, 1
shl edi, 7
shr edi, 8
add edi, 1
test eax, eax
mov dword [ebx + 0x10], edx
js 0xc5869c
mov ecx, edi
xor edx, edx
shl ecx, 0x18
cmp ecx, esi
ja 0xc57837
mov edx, dword [ebx + 0x10]
sub esi, ecx
sub edx, edi
mov edi, edx
mov edx, 2
movzx ecx, byte [edi + 0x114fc00]
or edx, dword [esp + 0x38]
shl edi, cl
sub eax, ecx
mov dword [ebx + 0x10], edi
sub edi, 1
shl edi, 7
shr edi, 8
shl esi, cl
add edi, 1
test eax, eax
mov dword [ebx + 8], esi
mov dword [ebx + 0xc], eax
mov dword [esp + 0x38], edx
js 0xc58683
mov ecx, edi
xor edx, edx
shl ecx, 0x18
cmp ecx, esi
ja 0xc57882
mov edx, dword [ebx + 0x10]
sub esi, ecx
sub edx, edi
mov edi, edx
mov edx, 1
movzx ecx, byte [edi + 0x114fc00]
or edx, dword [esp + 0x38]
shl edi, cl
sub eax, ecx
mov dword [ebx + 0x10], edi
mov edi, dword [esp + 0x40]
shl esi, cl
mov dword [ebx + 0xc], eax
mov dword [ebx + 8], esi
mov byte [edi + 0x10c5], dl
mov edi, dword [ebx + 0x10]
mov eax, dword [ebx + 0xc]
sub edi, 1
shl edi, 7
shr edi, 8
add edi, 1
test eax, eax
js 0xc58736
mov ecx, edi
shl ecx, 0x18
cmp ecx, esi
ja 0xc58719
mov edx, dword [ebx + 0x10]
sub esi, ecx
sub edx, edi
movzx ecx, byte [edx + 0x114fc00]
shl esi, cl
sub eax, ecx
mov dword [ebx + 8], esi
mov esi, dword [esp + 0x40]
shl edx, cl
mov dword [ebx + 0xc], eax
mov dword [ebx + 0x10], edx
neg byte [esi + 0x10c5]
add dword [esp + 0x40], 1
mov edi, dword [esp + 0x4c]
cmp dword [esp + 0x40], edi
je 0xc54dc2
sub edx, 1
shl edx, 7
shr edx, 8
test eax, eax
lea esi, [edx + 1]
jns 0xc57696
mov dword [esp], ebx
call fcn.00c82fe0
mov edi, dword [ebx + 8]
mov edx, esi
shl edx, 0x18
mov eax, dword [ebp + 0x6d9c]
mov dword [esp + 0x38], edx
cmp edi, edx
jae 0xc576aa
movzx ecx, byte [esi + 0x114fc00]
mov edx, esi
shl edx, cl
sub eax, ecx
shl edi, cl
mov dword [ebx + 8], edi
mov dword [ebx + 0xc], eax
mov dword [ebx + 0x10], edx
jmp 0xc578f4
movzx ecx, byte [esi + 0x114fc00]
mov edx, esi
shl edx, cl
sub eax, ecx
shl edi, cl
mov dword [ebx + 8], edi
mov dword [ebx + 0xc], eax
mov dword [ebx + 0x10], edx
jmp 0xc5766f
sub edx, 1
shl edx, 7
shr edx, 8
test eax, eax
lea edi, [edx + 1]
js 0xc591ed
mov ecx, edi
xor edx, edx
shl ecx, 0x18
cmp ecx, esi
ja 0xc57c93
mov edx, dword [ebp + 0x6da0]
sub esi, ecx
sub edx, edi
mov edi, edx
mov edx, 1
movzx ecx, byte [edi + 0x114fc00]
mov byte [ebp + 0x10a9], dl
shl edi, cl
sub eax, ecx
mov dword [ebp + 0x6da0], edi
sub edi, 1
shl edi, 7
shr edi, 8
shl esi, cl
add edi, 1
test eax, eax
mov dword [ebp + 0x6d98], esi
mov dword [ebp + 0x6d9c], eax
js 0xc5923c
mov edx, edi
shl edx, 0x18
cmp edx, esi
mov byte [esp + 0x38], 0
ja 0xc57ceb
mov ecx, dword [ebp + 0x6da0]
sub esi, edx
mov byte [esp + 0x38], 1
sub ecx, edi
mov edi, ecx
movzx ecx, byte [edi + 0x114fc00]
mov edx, edi
shl edx, cl
sub eax, ecx
shl esi, cl
movzx ecx, byte [esp + 0x38]
mov dword [ebp + 0x6d98], esi
mov dword [ebp + 0x6d9c], eax
mov dword [ebp + 0x6da0], edx
test cl, cl
mov byte [ebp + 0x10aa], cl
jne 0xc58d4a
cmp byte [ebp + 0x10a9], 0
je 0xc549de
mov word [ebp + 0x10ac], 0xffff
mov edx, dword [ebp + 0x6da0]
mov byte [ebp + 0x10ae], 0xff
mov eax, dword [ebp + 0x6d9c]
mov dword [esp + 0x40], 0
jmp 0xc5808b
mov edi, dword [ebx + 8]
mov edx, esi
shl edx, 0x18
mov dword [esp + 0x38], edx
cmp edi, edx
jb 0xc580c1
mov edx, dword [ebx + 0x10]
sub edi, dword [esp + 0x38]
sub edx, esi
movzx ecx, byte [edx + 0x114fc00]
mov esi, edx
mov edx, eax
shl esi, cl
sub edx, ecx
mov dword [ebx + 0x10], esi
sub esi, 1
shl esi, 7
shr esi, 8
shl edi, cl
add esi, 1
test edx, edx
mov dword [ebx + 8], edi
mov dword [ebx + 0xc], edx
js 0xc584b0
mov eax, esi
shl eax, 0x18
cmp eax, edi
mov dword [esp + 0x38], 0
ja 0xc57dc2
mov ecx, dword [ebx + 0x10]
sub edi, eax
mov dword [esp + 0x38], pe_nt_image_headers32
sub ecx, esi
mov esi, ecx
movzx ecx, byte [esi + 0x114fc00]
mov eax, edi
shl esi, cl
sub edx, ecx
mov dword [ebx + 0x10], esi
sub esi, 1
shl esi, 7
shr esi, 8
shl eax, cl
add esi, 1
test edx, edx
mov dword [ebx + 8], eax
mov dword [ebx + 0xc], edx
jns 0xc57dfe
mov dword [esp], ebx
call fcn.00c82fe0
mov eax, dword [ebp + 0x6d98]
mov edx, dword [ebp + 0x6d9c]
mov ecx, esi
xor edi, edi
shl ecx, 0x18
cmp ecx, eax
ja 0xc57e17
mov edi, dword [ebx + 0x10]
sub eax, ecx
sub edi, esi
mov esi, edi
mov edi, 0x40
movzx ecx, byte [esi + 0x114fc00]
or edi, dword [esp + 0x38]
shl esi, cl
sub edx, ecx
mov dword [ebx + 0x10], esi
sub esi, 1
shl esi, 7
shr esi, 8
shl eax, cl
add esi, 1
test edx, edx
mov dword [ebx + 8], eax
mov dword [ebx + 0xc], edx
mov dword [esp + 0x38], edi
jns 0xc57e59
mov dword [esp], ebx
call fcn.00c82fe0
mov eax, dword [ebp + 0x6d98]
mov edx, dword [ebp + 0x6d9c]
mov ecx, esi
xor edi, edi
shl ecx, 0x18
cmp ecx, eax
ja 0xc57e72
mov edi, dword [ebx + 0x10]
sub eax, ecx
sub edi, esi
mov esi, edi
mov edi, 0x20
movzx ecx, byte [esi + 0x114fc00]
or edi, dword [esp + 0x38]
shl esi, cl
sub edx, ecx
mov dword [ebx + 0x10], esi
sub esi, 1
shl esi, 7
shr esi, 8
shl eax, cl
add esi, 1
test edx, edx
mov dword [ebx + 8], eax
mov dword [ebx + 0xc], edx
mov dword [esp + 0x38], edi
jns 0xc57eb4
mov dword [esp], ebx
call fcn.00c82fe0
mov eax, dword [ebp + 0x6d98]
mov edx, dword [ebp + 0x6d9c]
mov ecx, esi
xor edi, edi
shl ecx, 0x18
cmp ecx, eax
ja 0xc57ecd
mov edi, dword [ebx + 0x10]
sub eax, ecx
sub edi, esi
mov esi, edi
mov edi, 0x10
movzx ecx, byte [esi + 0x114fc00]
or edi, dword [esp + 0x38]
shl esi, cl
sub edx, ecx
mov dword [ebx + 0x10], esi
sub esi, 1
shl esi, 7
shr esi, 8
shl eax, cl
add esi, 1
test edx, edx
mov dword [ebx + 8], eax
mov dword [ebx + 0xc], edx
mov dword [esp + 0x38], edi
jns 0xc57f0f
mov dword [esp], ebx
call fcn.00c82fe0
mov eax, dword [ebp + 0x6d98]
mov edx, dword [ebp + 0x6d9c]
mov ecx, esi
xor edi, edi
shl ecx, 0x18
cmp ecx, eax
ja 0xc57f28
mov edi, dword [ebx + 0x10]
sub eax, ecx
sub edi, esi
mov esi, edi
mov edi, 8
movzx ecx, byte [esi + 0x114fc00]
or edi, dword [esp + 0x38]
shl esi, cl
sub edx, ecx
mov dword [ebx + 0x10], esi
sub esi, 1
shl esi, 7
shr esi, 8
shl eax, cl
add esi, 1
test edx, edx
mov dword [ebx + 8], eax
mov dword [ebx + 0xc], edx
mov dword [esp + 0x38], edi
jns 0xc57f6a
mov dword [esp], ebx
call fcn.00c82fe0
mov eax, dword [ebp + 0x6d98]
mov edx, dword [ebp + 0x6d9c]
mov ecx, esi
xor edi, edi
shl ecx, 0x18
cmp ecx, eax
ja 0xc57f83
mov edi, dword [ebx + 0x10]
sub eax, ecx
sub edi, esi
mov esi, edi
mov edi, 4
movzx ecx, byte [esi + 0x114fc00]
or edi, dword [esp + 0x38]
shl esi, cl
mov dword [esp + 0x44], esi
mov esi, eax
mov eax, edx
mov edx, dword [esp + 0x44]
sub eax, ecx
mov dword [esp + 0x38], edi
shl esi, cl
mov dword [ebx + 8], esi
mov dword [ebx + 0xc], eax
mov edi, edx
sub edi, 1
shl edi, 7
shr edi, 8
add edi, 1
test eax, eax
mov dword [ebx + 0x10], edx
jns 0xc57fd3
mov dword [esp], ebx
call fcn.00c82fe0
mov esi, dword [ebp + 0x6d98]
mov eax, dword [ebp + 0x6d9c]
mov ecx, edi
xor edx, edx
shl ecx, 0x18
cmp ecx, esi
ja 0xc57fec
mov edx, dword [ebx + 0x10]
sub esi, ecx
sub edx, edi
mov edi, edx
mov edx, 2
movzx ecx, byte [edi + 0x114fc00]
or edx, dword [esp + 0x38]
shl edi, cl
sub eax, ecx
mov dword [ebx + 0x10], edi
sub edi, 1
shl edi, 7
shr edi, 8
shl esi, cl
add edi, 1
test eax, eax
mov dword [ebx + 8], esi
mov dword [ebx + 0xc], eax
mov dword [esp + 0x38], edx
jns 0xc5802e
mov dword [esp], ebx
call fcn.00c82fe0
mov esi, dword [ebp + 0x6d98]
mov eax, dword [ebp + 0x6d9c]
mov edx, edi
shl edx, 0x18
cmp edx, esi
mov dword [esp + 0x44], 0
ja 0xc58050
mov ecx, dword [ebx + 0x10]
sub esi, edx
mov dword [esp + 0x44], 1
sub ecx, edi
mov edi, ecx
movzx ecx, byte [edi + 0x114fc00]
mov edx, edi
shl esi, cl
sub eax, ecx
shl edx, cl
mov ecx, dword [esp + 0x38]
mov dword [ebx + 8], esi
mov esi, dword [esp + 0x40]
or ecx, dword [esp + 0x44]
mov dword [ebx + 0xc], eax
mov dword [ebx + 0x10], edx
mov byte [ebp + esi + 0x10ac], cl
add dword [esp + 0x40], 1
cmp dword [esp + 0x40], 3
je 0xc549de
sub edx, 1
shl edx, 7
shr edx, 8
test eax, eax
lea esi, [edx + 1]
jns 0xc57d55
mov dword [esp], ebx
call fcn.00c82fe0
mov edi, dword [ebx + 8]
mov edx, esi
shl edx, 0x18
mov eax, dword [ebp + 0x6d9c]
mov dword [esp + 0x38], edx
cmp edi, edx
jae 0xc57d69
movzx ecx, byte [esi + 0x114fc00]
mov edx, esi
shl edx, cl
sub eax, ecx
shl edi, cl
mov dword [ebx + 8], edi
mov dword [ebx + 0xc], eax
mov dword [ebx + 0x10], edx
jmp 0xc5807b
movzx ecx, byte [esi + 0x114fc01]
mov edx, edi
xor esi, esi
mov edi, dword [esp + 0x34]
shl edx, cl
sub eax, ecx
shl edi, cl
mov dword [ebp + 0x6d98], edi
mov dword [ebp + 0x6d9c], eax
mov dword [ebp + 0x6da0], edx
jmp 0xc55f0d
movzx ecx, byte [edi + 0x114fc01]
mov eax, edx
mov edi, dword [esp + 0x34]
shl esi, cl
sub eax, ecx
shl edi, cl
mov dword [ebp + 0x6d98], edi
xor edi, edi
mov dword [ebp + 0x6d9c], eax
mov dword [ebp + 0x6da0], esi
jmp 0xc55cb2
movzx ecx, byte [esi + 0x114fc01]
mov esi, edi
xor edi, edi
shl esi, cl
sub edx, ecx
shl eax, cl
mov dword [ebp + 0x6d98], eax
mov dword [ebp + 0x6d9c], edx
mov dword [ebp + 0x6da0], esi
jmp 0xc55a65
movzx ecx, byte [esi + 0x114fc01]
mov esi, edi
mov dword [esp + 0x34], 0
shl esi, cl
sub edx, ecx
shl eax, cl
mov dword [ebp + 0x6d98], eax
mov dword [ebp + 0x6d9c], edx
mov dword [ebp + 0x6da0], esi
jmp 0xc55852
mov eax, dword [ebp + 0x6d9c]
sub esi, 1
shl esi, 7
shr esi, 8
add esi, 1
test eax, eax
js 0xc58902
mov edx, dword [ebp + 0x6d98]
mov ecx, esi
xor edi, edi
shl ecx, 0x18
cmp edx, ecx
jb 0xc581ca
mov edi, dword [ebp + 0x6da0]
sub edx, ecx
sub edi, esi
mov esi, edi
mov edi, 1
movzx ecx, byte [esi + 0x114fc00]
mov dword [ebp + 0x44b0], edi
shl esi, cl
sub eax, ecx
mov dword [ebp + 0x6da0], esi
sub esi, 1
shl esi, 7
shr esi, 8
shl edx, cl
add esi, 1
test eax, eax
mov dword [ebp + 0x6d98], edx
mov dword [ebp + 0x6d9c], eax
js 0xc588e9
mov ecx, esi
xor edi, edi
shl ecx, 0x18
cmp ecx, edx
ja 0xc5821f
mov edi, dword [ebp + 0x6da0]
sub edx, ecx
sub edi, esi
mov esi, edi
mov edi, 1
movzx ecx, byte [esi + 0x114fc00]
mov dword [ebp + 0x44b4], edi
shl esi, cl
sub eax, ecx
mov dword [ebp + 0x6da0], esi
sub esi, 1
shl esi, 7
shl edx, cl
shr esi, 8
test eax, eax
mov dword [ebp + 0x6d98], edx
lea edi, [esi + 1]
mov dword [ebp + 0x6d9c], eax
jns 0xc54985
mov dword [esp], ebx
call fcn.00c82fe0
mov eax, dword [ebp + 0x6d9c]
jmp 0xc54985
mov eax, dword [0x1150c20]
mov edx, dword [esp + 0x54]
mov dword [ebp + 0x603e], eax
mov eax, dword [0x1150c24]
mov dword [ebp + 0x6042], eax
mov eax, dword [0x1150c28]
mov dword [ebp + 0x6046], eax
mov eax, dword [0x1150c2c]
mov dword [ebp + 0x604a], eax
mov eax, dword [0x1150c30]
mov dword [ebp + 0x604e], eax
mov eax, dword [0x1150c34]
mov dword [ebp + 0x6052], eax
mov eax, dword [0x1150c38]
mov dword [ebp + 0x6056], eax
mov eax, dword [0x1150c3c]
mov dword [ebp + 0x605a], eax
mov eax, dword [0x1150c40]
mov dword [ebp + 0x605e], eax
movzx eax, word [0x1150c44]
mov word [ebp + 0x6062], ax
mov dword [esp], edx
call fcn.00c59830
mov ebx, dword [esp + 0x54]
mov dword [esp], ebx
call fcn.00c59330
lea eax, [ebp + 0x5401]
mov dword [esp], eax
call fcn.00c599c0
mov eax, dword [ebp + 0x4648]
mov dword [ebp + 0x10af], 0
mov dword [ebp + 0x10b3], 0
mov byte [ebp + 0x10ab], 0
mov dword [ebp + 0x10bd], 0
mov dword [ebp + 0x10c5], 0
mov dword [ebp + 0x53d0], 1
mov dword [ebp + 0x53d4], 1
mov dword [ebp + 0x53d8], 0
mov dword [ebp + 0x53dc], 0
mov dword [ebp + 0x53ec], 0
mov dword [ebp + 0x53f0], 0
jmp 0xc548c1
mov eax, dword [esp + 0x34]
add eax, 9
cmp esi, eax
ja 0xc5513a
mov eax, dword [ebp + 0x44a0]
add dword [esp + 0x34], 0xa
cmp edi, eax
jne 0xc551a4
cmp dword [ebp + 0x44a4], ebx
je 0xc54811
mov edx, dword [ebp + 0x4658]
test eax, eax
mov dword [esp + 0x38], edx
jg 0xc551b6
mov edx, dword [esp + 0x54]
mov dword [ebp + 0x44a0], edi
mov dword [esp + 8], str.Invalid_frame_width
mov dword [esp + 4], 7
mov dword [esp], edx
call fcn.00c54000
mov eax, dword [ebp + 0x44a4]
test eax, eax
jg 0xc551c4
mov dword [ebp + 0x44a4], ebx
mov ebx, dword [esp + 0x54]
mov dword [esp + 8], str.Invalid_frame_height
mov dword [esp + 4], 7
mov dword [esp], ebx
call fcn.00c54000
mov eax, dword [ebp + 0x44a4]
jmp 0xc551c4
mov dword [esp], ebx
call fcn.00c82fe0
mov eax, dword [ebp + 0x6d98]
mov edx, dword [ebp + 0x6d9c]
jmp 0xc559d6
mov dword [esp], ebx
call fcn.00c82fe0
mov eax, dword [ebp + 0x6d98]
mov edx, dword [ebp + 0x6d9c]
jmp 0xc5597f
mov dword [esp], ebx
call fcn.00c82fe0
mov eax, dword [ebp + 0x6d98]
mov edx, dword [ebp + 0x6d9c]
jmp 0xc55919
mov dword [esp], ebx
call fcn.00c82fe0
mov edi, dword [ebp + 0x6d98]
mov edx, dword [ebp + 0x6d9c]
jmp 0xc57da0
mov dword [esp], ebx
call fcn.00c82fe0
mov edx, dword [ebp + 0x6d98]
mov eax, dword [ebp + 0x6d9c]
jmp 0xc55d4a
mov dword [esp], ebx
call fcn.00c82fe0
mov eax, dword [ebp + 0x6d9c]
jmp 0xc55ce8
mov dword [esp], ebx
call fcn.00c82fe0
mov eax, dword [ebp + 0x6d98]
mov edx, dword [ebp + 0x6d9c]
jmp 0xc55bc0
mov dword [esp], ebx
call fcn.00c82fe0
mov eax, dword [ebp + 0x6d98]
mov edx, dword [ebp + 0x6d9c]
jmp 0xc55b5a
mov dword [esp + 0x30], edx
mov dword [esp], ebx
call fcn.00c82fe0
mov eax, dword [ebp + 0x6d9c]
mov edx, dword [esp + 0x30]
jmp 0xc55f43
mov dword [esp], ebx
call fcn.00c82fe0
mov esi, dword [ebp + 0x6d98]
mov eax, dword [ebp + 0x6d9c]
jmp 0xc57869
mov dword [esp], ebx
call fcn.00c82fe0
mov esi, dword [ebp + 0x6d98]
mov eax, dword [ebp + 0x6d9c]
jmp 0xc5781e
mov dword [esp], ebx
call fcn.00c82fe0
mov eax, dword [ebp + 0x6d98]
mov edx, dword [ebp + 0x6d9c]
jmp 0xc577c5
mov dword [esp], ebx
call fcn.00c82fe0
mov eax, dword [ebp + 0x6d98]
mov edx, dword [ebp + 0x6d9c]
jmp 0xc5777a
mov dword [esp], ebx
call fcn.00c82fe0
mov eax, dword [ebp + 0x6d98]
mov edx, dword [ebp + 0x6d9c]
jmp 0xc5772f
mov dword [esp], ebx
call fcn.00c82fe0
mov edi, dword [ebp + 0x6d98]
mov edx, dword [ebp + 0x6d9c]
jmp 0xc576e1
movzx ecx, byte [edi + 0x114fc00]
mov edx, edi
shl edx, cl
sub eax, ecx
shl esi, cl
mov dword [ebx + 8], esi
mov dword [ebx + 0xc], eax
mov dword [ebx + 0x10], edx
jmp 0xc578f4
mov dword [esp], ebx
call fcn.00c82fe0
mov esi, dword [ebp + 0x6d98]
mov eax, dword [ebp + 0x6d9c]
jmp 0xc578c0
mov dword [esp], ebx
call fcn.00c82fe0
mov eax, dword [ebp + 0x6d9c]
jmp 0xc57411
mov dword [esp], ebx
call fcn.00c82fe0
mov esi, dword [ebp + 0x6d98]
mov eax, dword [ebp + 0x6d9c]
jmp 0xc5739b
mov dword [esp], ebx
call fcn.00c82fe0
mov esi, dword [ebp + 0x6d98]
mov eax, dword [ebp + 0x6d9c]
jmp 0xc54d6f
mov edx, dword [esp + 0x54]
mov dword [esp + 8], str.Failed_to_allocate_pbi__mbc
mov dword [esp + 4], 2
mov dword [esp], edx
call fcn.00c54000
mov eax, dword [ebp + 0x6e78]
mov dword [esp + 0x5c], eax
jmp 0xc54ef6
add ebx, 1
mov edx, ebx
jmp 0xc54f28
mov dword [esp], ebx
call fcn.00c82fe0
mov eax, dword [ebp + 0x6d9c]
mov edx, dword [ebp + 0x6d98]
jmp 0xc54e53
mov dword [esp], ebx
call fcn.00c82fe0
mov eax, dword [ebp + 0x6d9c]
jmp 0xc54dfe
movzx ecx, byte [edi + 0x114fc00]
mov edx, edi
shl edx, cl
sub eax, ecx
shl esi, cl
mov dword [ebx + 8], esi
mov dword [ebx + 0xc], eax
mov dword [ebx + 0x10], edx
jmp 0xc5766f
mov dword [esp], ebx
call fcn.00c82fe0
mov esi, dword [ebp + 0x6d98]
mov eax, dword [ebp + 0x6d9c]
jmp 0xc5763b
mov dword [esp], ebx
call fcn.00c82fe0
mov esi, dword [ebp + 0x6d98]
mov eax, dword [ebp + 0x6d9c]
jmp 0xc575e4
mov dword [esp], ebx
call fcn.00c82fe0
mov esi, dword [ebp + 0x6d98]
mov eax, dword [ebp + 0x6d9c]
jmp 0xc57599
mov dword [esp], ebx
call fcn.00c82fe0
mov eax, dword [ebp + 0x6d98]
mov edx, dword [ebp + 0x6d9c]
jmp 0xc57540
mov dword [esp], ebx
call fcn.00c82fe0
mov eax, dword [ebp + 0x6d98]
mov edx, dword [ebp + 0x6d9c]
jmp 0xc574f5
mov dword [esp], ebx
call fcn.00c82fe0
mov eax, dword [ebp + 0x6d98]
mov edx, dword [ebp + 0x6d9c]
jmp 0xc574aa
mov dword [esp], ebx
call fcn.00c82fe0
mov edi, dword [ebp + 0x6d98]
mov edx, dword [ebp + 0x6d9c]
jmp 0xc5745c
mov dword [esp], ebx
call fcn.00c82fe0
mov eax, dword [ebp + 0x6d98]
mov edx, dword [ebp + 0x6d9c]
jmp 0xc556af
cmp byte [edx + 5], 0x2a
jne 0xc55110
jmp 0xc55132
mov dword [esp], ebx
call fcn.00c82fe0
mov edx, dword [ebp + 0x6d98]
mov eax, dword [ebp + 0x6d9c]
jmp 0xc58203
mov dword [esp], ebx
call fcn.00c82fe0
mov eax, dword [ebp + 0x6d9c]
jmp 0xc581a8
mov ebx, dword [esp + 0x54]
mov dword [esp + 8], str.Failed_to_allocate_frame_buffers
mov dword [esp + 4], 2
mov dword [esp], ebx
call fcn.00c54000
jmp 0xc551e6
add esp, 0x7c
mov eax, 0xffffffff
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [esp], ebx
call fcn.00c82fe0
mov edx, dword [ebp + 0x6d9c]
mov eax, dword [ebp + 0x6d98]
jmp 0xc5543a
mov dword [esp], ebx
call fcn.00c82fe0
mov edx, dword [ebp + 0x6d9c]
jmp 0xc553e5
mov dword [esp], ebx
call fcn.00c82fe0
mov esi, dword [ebp + 0x6d98]
mov eax, dword [ebp + 0x6d9c]
jmp 0xc54a4d
mov dword [esp], ebx
call fcn.00c82fe0
mov eax, dword [ebp + 0x6d9c]
jmp 0xc549f2
mov dword [esp], ebx
call fcn.00c82fe0
mov esi, dword [ebp + 0x6d98]
mov eax, dword [ebp + 0x6d9c]
jmp 0xc54d0f
mov dword [esp + 0x30], edx
mov dword [esp], ebx
call fcn.00c82fe0
mov esi, dword [ebp + 0x6d98]
mov eax, dword [ebp + 0x6d9c]
mov edx, dword [esp + 0x30]
jmp 0xc54ca9
mov dword [esp], ebx
call fcn.00c82fe0
mov esi, dword [ebp + 0x6d98]
mov eax, dword [ebp + 0x6d9c]
jmp 0xc54c5a
mov dword [esp], ebx
call fcn.00c82fe0
mov esi, dword [ebp + 0x6d98]
mov eax, dword [ebp + 0x6d9c]
jmp 0xc54c01
mov dword [esp], ebx
call fcn.00c82fe0
mov esi, dword [ebp + 0x6d98]
mov eax, dword [ebp + 0x6d9c]
jmp 0xc54baa
mov dword [esp], ebx
call fcn.00c82fe0
mov esi, dword [ebp + 0x6d98]
mov eax, dword [ebp + 0x6d9c]
jmp 0xc54b53
mov dword [esp], ebx
call fcn.00c82fe0
mov esi, dword [ebp + 0x6d98]
mov eax, dword [ebp + 0x6d9c]
jmp 0xc54afc
mov dword [esp], ebx
call fcn.00c82fe0
mov esi, dword [ebp + 0x6d98]
mov eax, dword [ebp + 0x6d9c]
jmp 0xc54aa5
mov dword [esp], ebx
call fcn.00c82fe0
mov edx, dword [ebp + 0x6d9c]
jmp 0xc55aa9
mov dword [esp], ebx
call fcn.00c82fe0
mov eax, dword [ebp + 0x6d98]
mov edx, dword [ebp + 0x6d9c]
jmp 0xc5565f
mov dword [esp], ebx
call fcn.00c82fe0
mov edx, dword [ebp + 0x6d9c]
mov eax, dword [ebp + 0x6d98]
jmp 0xc555fc
mov dword [esp], ebx
call fcn.00c82fe0
mov edx, dword [ebp + 0x6d9c]
mov eax, dword [ebp + 0x6d98]
jmp 0xc555a5
mov dword [esp], ebx
call fcn.00c82fe0
mov edx, dword [ebp + 0x6d9c]
mov eax, dword [ebp + 0x6d98]
jmp 0xc5554e
mov dword [esp], ebx
call fcn.00c82fe0
mov edx, dword [ebp + 0x6d9c]
mov eax, dword [ebp + 0x6d98]
jmp 0xc554f7
mov dword [esp], ebx
call fcn.00c82fe0
mov edx, dword [ebp + 0x6d9c]
mov eax, dword [ebp + 0x6d98]
jmp 0xc554a0
mov dword [esp], ebx
call fcn.00c82fe0
mov eax, dword [ebp + 0x6d98]
mov edx, dword [ebp + 0x6d9c]
jmp 0xc55b0b
mov dword [esp], ebx
call fcn.00c82fe0
mov eax, dword [ebp + 0x6d98]
mov edx, dword [ebp + 0x6d9c]
jmp 0xc558ca
mov dword [esp], ebx
call fcn.00c82fe0
mov eax, dword [ebp + 0x6d98]
mov edx, dword [ebp + 0x6d9c]
jmp 0xc5587a
movzx ecx, byte [esi + 0x114fc01]
mov esi, edi
shl esi, cl
sub edx, ecx
shl eax, cl
mov dword [ebp + 0x6d98], eax
mov dword [ebp + 0x6d9c], edx
mov dword [ebp + 0x6da0], esi
jmp 0xc55852
mov dword [esp], ebx
call fcn.00c82fe0
mov eax, dword [ebp + 0x6d98]
mov edx, dword [ebp + 0x6d9c]
jmp 0xc55812
mov dword [esp], ebx
call fcn.00c82fe0
mov eax, dword [ebp + 0x6d98]
mov edx, dword [ebp + 0x6d9c]
jmp 0xc557bb
mov dword [esp], ebx
call fcn.00c82fe0
mov eax, dword [ebp + 0x6d98]
mov edx, dword [ebp + 0x6d9c]
jmp 0xc55764
mov dword [esp], ebx
call fcn.00c82fe0
mov eax, dword [ebp + 0x6d98]
mov edx, dword [ebp + 0x6d9c]
jmp 0xc556fe
sub edx, 1
shl edx, 7
shr edx, 8
test eax, eax
lea edi, [edx + 1]
jns 0xc58d6e
mov dword [esp], ebx
call fcn.00c82fe0
mov esi, dword [ebp + 0x6d98]
mov eax, dword [ebp + 0x6d9c]
mov ecx, edi
xor edx, edx
shl ecx, 0x18
cmp ecx, esi
ja 0xc58d8a
mov edx, dword [ebp + 0x6da0]
sub esi, ecx
sub edx, edi
mov edi, edx
mov edx, 1
movzx ecx, byte [edi + 0x114fc00]
mov byte [ebp + 0x10ab], dl
mov dword [ebp + 0x10af], 0
mov dword [ebp + 0x10b3], 0
shl esi, cl
sub eax, ecx
shl edi, cl
mov dword [ebp + 0x6d98], esi
lea esi, [ebp + 0x10b3]
mov edx, edi
mov dword [ebp + 0x6d9c], eax
mov dword [ebp + 0x6da0], edi
mov dword [esp + 0x48], esi
mov dword [esp + 0x38], 0
mov esi, dword [esp + 0x38]
lea edi, [ebp + esi*4 + 0x10af]
sub edx, 1
shl edx, 7
shr edx, 8
test eax, eax
lea esi, [edx + 1]
js 0xc59229
mov edx, dword [ebx + 8]
mov dword [esp + 0x40], edx
mov edx, esi
shl edx, 0x18
cmp dword [esp + 0x40], edx
mov dword [esp + 0x44], edx
jb 0xc58f53
mov edx, dword [ebx + 0x10]
sub edx, esi
mov esi, dword [esp + 0x40]
movzx ecx, byte [edx + 0x114fc00]
sub esi, dword [esp + 0x44]
mov dword [esp + 0x44], 0
shl edx, cl
sub eax, ecx
shl esi, cl
mov ecx, dword [esp + 0x38]
mov dword [ebx + 8], esi
mov dword [ebx + 0xc], eax
mov dword [ebx + 0x10], edx
mov ecx, dword [ecx*4 + 0x114fb78]
mov dword [esp + 0x28], ecx
sub ecx, 1
mov dword [esp + 0x40], ecx
js 0xc58f74
mov dword [esp + 0x50], edi
jmp 0xc58eb3
mov edx, edi
shl edx, 0x18
cmp edx, esi
mov dword [esp + 0x4c], 0
ja 0xc58e87
mov ecx, dword [ebx + 0x10]
sub esi, edx
mov edx, 1
sub ecx, edi
mov edi, ecx
movzx ecx, byte [esp + 0x40]
shl edx, cl
mov dword [esp + 0x4c], edx
movzx ecx, byte [edi + 0x114fc00]
mov edx, edi
sub dword [esp + 0x40], 1
mov edi, dword [esp + 0x4c]
or dword [esp + 0x44], edi
shl edx, cl
sub eax, ecx
shl esi, cl
cmp dword [esp + 0x40], 0xffffffff
mov dword [ebx + 8], esi
mov dword [ebx + 0xc], eax
mov dword [ebx + 0x10], edx
je 0xc58ed9
sub edx, 1
shl edx, 7
shr edx, 8
test eax, eax
lea edi, [edx + 1]
jns 0xc58e5d
mov dword [esp], ebx
call fcn.00c82fe0
mov esi, dword [ebp + 0x6d98]
mov eax, dword [ebp + 0x6d9c]
jmp 0xc58e5d
mov edi, dword [esp + 0x50]
movzx ecx, byte [esp + 0x44]
sub edx, 1
shl edx, 7
shr edx, 8
add edx, 1
test eax, eax
mov byte [edi], cl
mov dword [esp + 0x40], edx
js 0xc59274
mov ecx, dword [esp + 0x40]
shl ecx, 0x18
cmp ecx, esi
ja 0xc59255
mov edx, dword [ebx + 0x10]
sub esi, ecx
sub edx, dword [esp + 0x40]
movzx ecx, byte [edx + 0x114fc00]
shl edx, cl
sub eax, ecx
shl esi, cl
mov dword [ebx + 8], esi
mov dword [ebx + 0xc], eax
mov dword [ebx + 0x10], edx
neg byte [edi]
add edi, 1
cmp edi, dword [esp + 0x48]
jne 0xc58de2
add dword [esp + 0x38], 1
add dword [esp + 0x48], 4
cmp dword [esp + 0x38], 2
jne 0xc58dd7
jmp 0xc57d1f
movzx ecx, byte [esi + 0x114fc00]
mov edx, esi
mov esi, dword [esp + 0x40]
shl edx, cl
sub eax, ecx
shl esi, cl
mov dword [ebx + 8], esi
mov dword [ebx + 0xc], eax
mov dword [ebx + 0x10], edx
mov byte [edi], 0
jmp 0xc58f2c
xor ecx, ecx
jmp 0xc58ee2
mov dword [esp], ebx
call fcn.00c82fe0
mov esi, dword [ebp + 0x6d98]
mov eax, dword [ebp + 0x6d9c]
jmp 0xc57c77
mov dword [esp], ebx
call fcn.00c82fe0
mov eax, dword [ebp + 0x6d9c]
jmp 0xc58df6
mov dword [esp], ebx
call fcn.00c82fe0
mov esi, dword [ebp + 0x6d98]
mov eax, dword [ebp + 0x6d9c]
jmp 0xc57ccc
mov edx, dword [esp + 0x40]
movzx ecx, byte [edx + 0x114fc00]
shl edx, cl
sub eax, ecx
shl esi, cl
mov dword [ebx + 8], esi
mov dword [ebx + 0xc], eax
mov dword [ebx + 0x10], edx
jmp 0xc58f2c
mov dword [esp], ebx
call fcn.00c82fe0
mov esi, dword [ebp + 0x6d98]
mov eax, dword [ebp + 0x6d9c]
jmp 0xc58efc