4290b3:	89 5d fc             	mov    %ebx,-0x4(%ebp)
4290b6:	33 c0                	xor    %eax,%eax
4290b8:	8b c8                	mov    %eax,%ecx
4290ba:	89 4d 10             	mov    %ecx,0x10(%ebp)
4290bd:	39 87 b8 00 00 00    	cmp    %eax,0xb8(%edi)
4290c3:	0f 86 2b 01 00 00    	jbe    0x4291f4
4290c9:	8b d0                	mov    %eax,%edx
4290cb:	89 45 f8             	mov    %eax,-0x8(%ebp)
4290ce:	8b 9f b4 00 00 00    	mov    0xb4(%edi),%ebx
4290d4:	03 da                	add    %edx,%ebx
4290d6:	83 3b 02             	cmpl   $0x2,(%ebx)
4290d9:	75 37                	jne    0x429112
4290db:	8b 47 3c             	mov    0x3c(%edi),%eax
4290de:	3b 43 0c             	cmp    0xc(%ebx),%eax
4290e1:	77 2f                	ja     0x429112
4290e3:	72 08                	jb     0x4290ed
4290e5:	8b 47 38             	mov    0x38(%edi),%eax
4290e8:	3b 43 08             	cmp    0x8(%ebx),%eax
4290eb:	77 25                	ja     0x429112
4290ed:	6a ff                	push   $0xffffffff
4290ef:	ff 73 18             	push   0x18(%ebx)
4290f2:	33 c0                	xor    %eax,%eax
4290f4:	6a ff                	push   $0xffffffff
4290f6:	ff b7 bc 00 00 00    	push   0xbc(%edi)
4290fc:	40                   	inc    %eax
4290fd:	50                   	push   %eax
4290fe:	33 c0                	xor    %eax,%eax
429100:	50                   	push   %eax
429101:	ff 15 28 b1 44 00    	call   *0x44b128
429107:	83 f8 02             	cmp    $0x2,%eax
42910a:	74 20                	je     0x42912c
42910c:	8b 4d 10             	mov    0x10(%ebp),%ecx
42910f:	8b 55 f8             	mov    -0x8(%ebp),%edx
429112:	41                   	inc    %ecx
429113:	81 c2 f8 00 00 00    	add    $0xf8,%edx
429119:	89 4d 10             	mov    %ecx,0x10(%ebp)
42911c:	89 55 f8             	mov    %edx,-0x8(%ebp)
42911f:	3b 8f b8 00 00 00    	cmp    0xb8(%edi),%ecx
429125:	72 a7                	jb     0x4290ce
429127:	e9 c8 00 00 00       	jmp    0x4291f4
42912c:	ff 75 fc             	push   -0x4(%ebp)
42912f:	8b 75 08             	mov    0x8(%ebp),%esi
429132:	ff 73 0c             	push   0xc(%ebx)
429135:	ff 73 08             	push   0x8(%ebx)
429138:	8b 4e 10             	mov    0x10(%esi),%ecx
42913b:	ff 73 2c             	push   0x2c(%ebx)
42913e:	ff 73 10             	push   0x10(%ebx)
429141:	8b 01                	mov    (%ecx),%eax
429143:	ff 33                	push   (%ebx)
429145:	ff 73 18             	push   0x18(%ebx)
429148:	51                   	push   %ecx
429149:	ff 50 1c             	call   *0x1c(%eax)
42914c:	50                   	push   %eax
42914d:	89 45 10             	mov    %eax,0x10(%ebp)
429150:	33 c0                	xor    %eax,%eax
429152:	40                   	inc    %eax
429153:	50                   	push   %eax
429154:	56                   	push   %esi
429155:	e8 31 44 fe ff       	call   0x40d58b
42915a:	8b f0                	mov    %eax,%esi
42915c:	85 f6                	test   %esi,%esi
42915e:	79 1c                	jns    0x42917c
429160:	56                   	push   %esi
429161:	6a 7e                	push   $0x7e
429163:	68 c8 e6 45 00       	push   $0x45e6c8
429168:	e8 66 a6 fd ff       	call   0x4037d3
42916d:	68 d4 e6 45 00       	push   $0x45e6d4
429172:	56                   	push   %esi
429173:	e8 b7 6f 01 00       	call   0x44012f
429178:	59                   	pop    %ecx
429179:	59                   	pop    %ecx
42917a:	eb 78                	jmp    0x4291f4
42917c:	33 c0                	xor    %eax,%eax
42917e:	40                   	inc    %eax
42917f:	39 45 10             	cmp    %eax,0x10(%ebp)
429182:	75 35                	jne    0x4291b9
429184:	8d 43 18             	lea    0x18(%ebx),%eax
429187:	50                   	push   %eax
429188:	ff b7 c0 00 00 00    	push   0xc0(%edi)
42918e:	33 c0                	xor    %eax,%eax
429190:	ff 77 40             	push   0x40(%edi)
429193:	50                   	push   %eax
429194:	ff 75 0c             	push   0xc(%ebp)
429197:	8d 87 c8 00 00 00    	lea    0xc8(%edi),%eax
42919d:	50                   	push   %eax
42919e:	e8 74 33 00 00       	call   0x42c517
4291a3:	8b f0                	mov    %eax,%esi
4291a5:	85 f6                	test   %esi,%esi
4291a7:	79 07                	jns    0x4291b0
4291a9:	68 04 e7 45 00       	push   $0x45e704
4291ae:	eb c2                	jmp    0x429172
4291b0:	33 c0                	xor    %eax,%eax
4291b2:	40                   	inc    %eax
4291b3:	89 87 c4 00 00 00    	mov    %eax,0xc4(%edi)
4291b9:	ff b7 c4 00 00 00    	push   0xc4(%edi)
4291bf:	e8 6c aa fe ff       	call   0x413c30
4291c4:	50                   	push   %eax
4291c5:	ff 73 0c             	push   0xc(%ebx)
4291c8:	ff 73 08             	push   0x8(%ebx)
4291cb:	e8 2a b2 fe ff       	call   0x4143fa
4291d0:	50                   	push   %eax
4291d1:	ff 73 2c             	push   0x2c(%ebx)
4291d4:	e8 16 af fe ff       	call   0x4140ef
4291d9:	50                   	push   %eax
4291da:	ff 33                	push   (%ebx)
4291dc:	e8 89 af fe ff       	call   0x41416a
4291e1:	50                   	push   %eax
4291e2:	ff 73 18             	push   0x18(%ebx)
4291e5:	68 6b 00 00 20       	push   $0x2000006b
4291ea:	6a 02                	push   $0x2
4291ec:	e8 1e c3 fd ff       	call   0x40550f
4291f1:	83 c4 1c             	add    $0x1c,%esp
4291f4:	5f                   	pop    %edi
4291f5:	8b c6                	mov    %esi,%eax
4291f7:	5e                   	pop    %esi
4291f8:	5b                   	pop    %ebx
4291f9:	8b e5                	mov    %ebp,%esp
4291fb:	5d                   	pop    %ebp
4291fc:	c2 0c 00             	ret    $0xc
4291ff:	55                   	push   %ebp
429200:	8b ec                	mov    %esp,%ebp
429202:	51                   	push   %ecx
429203:	51                   	push   %ecx
429204:	8b 4d 0c             	mov    0xc(%ebp),%ecx
429207:	56                   	push   %esi
429208:	33 f6                	xor    %esi,%esi
42920a:	21 75 fc             	and    %esi,-0x4(%ebp)
42920d:	39 b1 b8 00 00 00    	cmp    %esi,0xb8(%ecx)
429213:	0f 86 55 01 00 00    	jbe    0x42936e
429219:	53                   	push   %ebx
42921a:	8b 5d 14             	mov    0x14(%ebp),%ebx
42921d:	33 c0                	xor    %eax,%eax
42921f:	89 45 f8             	mov    %eax,-0x8(%ebp)
429222:	57                   	push   %edi
429223:	8b b9 b4 00 00 00    	mov    0xb4(%ecx),%edi
429229:	33 f6                	xor    %esi,%esi
42922b:	03 f8                	add    %eax,%edi
42922d:	8b 07                	mov    (%edi),%eax
42922f:	83 e8 01             	sub    $0x1,%eax
429232:	0f 84 8f 00 00 00    	je     0x4292c7
429238:	83 e8 01             	sub    $0x1,%eax
42923b:	74 5a                	je     0x429297
42923d:	83 e8 01             	sub    $0x1,%eax
429240:	74 34                	je     0x429276
429242:	83 e8 01             	sub    $0x1,%eax
429245:	74 2f                	je     0x429276
429247:	83 e8 01             	sub    $0x1,%eax
42924a:	74 7b                	je     0x4292c7
42924c:	be 05 40 00 80       	mov    $0x80004005,%esi
429251:	56                   	push   %esi
429252:	68 c6 00 00 00       	push   $0xc6
429257:	68 c8 e6 45 00       	push   $0x45e6c8
42925c:	e8 72 a5 fd ff       	call   0x4037d3
429261:	ff 37                	push   (%edi)
429263:	68 28 e7 45 00       	push   $0x45e728
429268:	56                   	push   %esi
429269:	e8 c1 6e 01 00       	call   0x44012f
42926e:	83 c4 0c             	add    $0xc,%esp
429271:	e9 f6 00 00 00       	jmp    0x42936c
429276:	83 fb 03             	cmp    $0x3,%ebx
429279:	75 04                	jne    0x42927f
42927b:	6a 04                	push   $0x4
42927d:	eb 15                	jmp    0x429294
42927f:	83 fb 05             	cmp    $0x5,%ebx
429282:	74 0e                	je     0x429292
429284:	83 fb 06             	cmp    $0x6,%ebx
429287:	74 09                	je     0x429292
429289:	83 fb 07             	cmp    $0x7,%ebx
42928c:	75 39                	jne    0x4292c7
42928e:	6a 06                	push   $0x6
429290:	eb 02                	jmp    0x429294
429292:	6a 05                	push   $0x5
429294:	5e                   	pop    %esi
429295:	eb 30                	jmp    0x4292c7
429297:	83 7d 10 02          	cmpl   $0x2,0x10(%ebp)
42929b:	74 2a                	je     0x4292c7
42929d:	83 fb 03             	cmp    $0x3,%ebx
4292a0:	7e 25                	jle    0x4292c7
4292a2:	8b 41 38             	mov    0x38(%ecx),%eax
4292a5:	8b 49 3c             	mov    0x3c(%ecx),%ecx
4292a8:	3b 4f 0c             	cmp    0xc(%edi),%ecx
4292ab:	72 17                	jb     0x4292c4
4292ad:	77 05                	ja     0x4292b4
4292af:	3b 47 08             	cmp    0x8(%edi),%eax
4292b2:	76 04                	jbe    0x4292b8
4292b4:	6a 03                	push   $0x3
4292b6:	eb dc                	jmp    0x429294
4292b8:	3b 4f 0c             	cmp    0xc(%edi),%ecx
4292bb:	77 0a                	ja     0x4292c7
4292bd:	72 05                	jb     0x4292c4
4292bf:	3b 47 08             	cmp    0x8(%edi),%eax
4292c2:	73 03                	jae    0x4292c7
4292c4:	33 f6                	xor    %esi,%esi
4292c6:	46                   	inc    %esi
4292c7:	56                   	push   %esi
4292c8:	e8 3a ae fe ff       	call   0x414107
4292cd:	50                   	push   %eax
4292ce:	ff 77 0c             	push   0xc(%edi)
4292d1:	ff 77 08             	push   0x8(%edi)
4292d4:	e8 21 b1 fe ff       	call   0x4143fa
4292d9:	50                   	push   %eax
4292da:	ff 77 2c             	push   0x2c(%edi)
4292dd:	e8 0d ae fe ff       	call   0x4140ef
4292e2:	50                   	push   %eax
4292e3:	ff 37                	push   (%edi)
4292e5:	e8 80 ae fe ff       	call   0x41416a
4292ea:	50                   	push   %eax
4292eb:	ff 77 18             	push   0x18(%edi)
4292ee:	68 66 00 00 20       	push   $0x20000066
4292f3:	6a 02                	push   $0x2
4292f5:	e8 15 c2 fd ff       	call   0x40550f
4292fa:	8b 45 08             	mov    0x8(%ebp),%eax
4292fd:	83 c4 1c             	add    $0x1c,%esp
429300:	8b 40 10             	mov    0x10(%eax),%eax
429303:	56                   	push   %esi
429304:	ff 77 0c             	push   0xc(%edi)
429307:	ff 77 08             	push   0x8(%edi)
42930a:	8b 08                	mov    (%eax),%ecx
42930c:	ff 77 2c             	push   0x2c(%edi)
42930f:	ff 77 10             	push   0x10(%edi)
429312:	ff 37                	push   (%edi)
429314:	ff 77 18             	push   0x18(%edi)
429317:	50                   	push   %eax
429318:	ff 51 2c             	call   *0x2c(%ecx)
42931b:	50                   	push   %eax
42931c:	6a 01                	push   $0x1
42931e:	ff 75 08             	push   0x8(%ebp)
429321:	e8 65 42 fe ff       	call   0x40d58b
429326:	8b f0                	mov    %eax,%esi
429328:	85 f6                	test   %esi,%esi
42932a:	78 23                	js     0x42934f
42932c:	8b 55 fc             	mov    -0x4(%ebp),%edx
42932f:	8b 4d 0c             	mov    0xc(%ebp),%ecx
429332:	42                   	inc    %edx
429333:	8b 45 f8             	mov    -0x8(%ebp),%eax
429336:	05 f8 00 00 00       	add    $0xf8,%eax
42933b:	89 55 fc             	mov    %edx,-0x4(%ebp)
42933e:	89 45 f8             	mov    %eax,-0x8(%ebp)
429341:	3b 91 b8 00 00 00    	cmp    0xb8(%ecx),%edx
429347:	0f 82 d6 fe ff ff    	jb     0x429223
42934d:	eb 1d                	jmp    0x42936c
42934f:	56                   	push   %esi
429350:	68 ce 00 00 00       	push   $0xce
429355:	68 c8 e6 45 00       	push   $0x45e6c8
42935a:	e8 74 a4 fd ff       	call   0x4037d3
42935f:	68 54 e7 45 00       	push   $0x45e754
429364:	56                   	push   %esi
429365:	e8 c5 6d 01 00       	call   0x44012f
42936a:	59                   	pop    %ecx
42936b:	59                   	pop    %ecx
42936c:	5f                   	pop    %edi
42936d:	5b                   	pop    %ebx
42936e:	8b c6                	mov    %esi,%eax
429370:	5e                   	pop    %esi
429371:	8b e5                	mov    %ebp,%esp
429373:	5d                   	pop    %ebp
429374:	c2 10 00             	ret    $0x10
429377:	55                   	push   %ebp
429378:	8b ec                	mov    %esp,%ebp
42937a:	53                   	push   %ebx
42937b:	56                   	push   %esi
42937c:	8b 75 08             	mov    0x8(%ebp),%esi
42937f:	57                   	push   %edi
429380:	8d 86 b4 00 00 00    	lea    0xb4(%esi),%eax
429386:	50                   	push   %eax
429387:	e8 d4 f8 ff ff       	call   0x428c60
42938c:	8b 86 bc 00 00 00    	mov    0xbc(%esi),%eax
429392:	85 c0                	test   %eax,%eax
429394:	74 0d                	je     0x4293a3
429396:	50                   	push   %eax
429397:	e8 53 c1 01 00       	call   0x4454ef
42939c:	83 a6 bc 00 00 00 00 	andl   $0x0,0xbc(%esi)
4293a3:	83 a6 c4 00 00 00 00 	andl   $0x0,0xc4(%esi)
4293aa:	8d 86 c8 00 00 00    	lea    0xc8(%esi),%eax
4293b0:	50                   	push   %eax
4293b1:	e8 8e 49 fe ff       	call   0x40dd44
4293b6:	8b 7d 0c             	mov    0xc(%ebp),%edi
4293b9:	33 db                	xor    %ebx,%ebx
4293bb:	39 5f 0c             	cmp    %ebx,0xc(%edi)
4293be:	0f 86 99 00 00 00    	jbe    0x42945d
4293c4:	33 d2                	xor    %edx,%edx
4293c6:	89 55 08             	mov    %edx,0x8(%ebp)
4293c9:	8b 77 08             	mov    0x8(%edi),%esi
4293cc:	33 c9                	xor    %ecx,%ecx
4293ce:	03 f2                	add    %edx,%esi
4293d0:	83 66 40 00          	andl   $0x0,0x40(%esi)
4293d4:	83 66 44 00          	andl   $0x0,0x44(%esi)
4293d8:	39 8e 80 00 00 00    	cmp    %ecx,0x80(%esi)
4293de:	76 11                	jbe    0x4293f1
4293e0:	8b 46 7c             	mov    0x7c(%esi),%eax
4293e3:	83 64 c8 04 00       	andl   $0x0,0x4(%eax,%ecx,8)
4293e8:	41                   	inc    %ecx
4293e9:	3b 8e 80 00 00 00    	cmp    0x80(%esi),%ecx
4293ef:	72 ef                	jb     0x4293e0
4293f1:	8b 86 8c 00 00 00    	mov    0x8c(%esi),%eax
4293f7:	83 f8 02             	cmp    $0x2,%eax
4293fa:	75 28                	jne    0x429424
4293fc:	33 c9                	xor    %ecx,%ecx
4293fe:	39 8e c0 00 00 00    	cmp    %ecx,0xc0(%esi)
429404:	76 44                	jbe    0x42944a
429406:	33 ff                	xor    %edi,%edi
429408:	8b 86 bc 00 00 00    	mov    0xbc(%esi),%eax
42940e:	8d 7f 28             	lea    0x28(%edi),%edi
429411:	83 64 07 f4 00       	andl   $0x0,-0xc(%edi,%eax,1)
429416:	41                   	inc    %ecx
429417:	3b 8e c0 00 00 00    	cmp    0xc0(%esi),%ecx
42941d:	72 e9                	jb     0x429408
42941f:	8b 7d 0c             	mov    0xc(%ebp),%edi
429422:	eb 26                	jmp    0x42944a
429424:	83 f8 03             	cmp    $0x3,%eax
429427:	75 21                	jne    0x42944a
429429:	8b 86 a4 00 00 00    	mov    0xa4(%esi),%eax
42942f:	85 c0                	test   %eax,%eax
429431:	74 10                	je     0x429443
429433:	50                   	push   %eax
429434:	e8 60 a5 fd ff       	call   0x403999
429439:	83 a6 a4 00 00 00 00 	andl   $0x0,0xa4(%esi)
429440:	8b 55 08             	mov    0x8(%ebp),%edx
429443:	83 a6 a8 00 00 00 00 	andl   $0x0,0xa8(%esi)
42944a:	43                   	inc    %ebx
42944b:	81 c2 e0 00 00 00    	add    $0xe0,%edx
429451:	89 55 08             	mov    %edx,0x8(%ebp)
429454:	3b 5f 0c             	cmp    0xc(%edi),%ebx
429457:	0f 82 6c ff ff ff    	jb     0x4293c9
42945d:	33 c9                	xor    %ecx,%ecx
42945f:	39 4f 28             	cmp    %ecx,0x28(%edi)
429462:	76 18                	jbe    0x42947c
429464:	33 d2                	xor    %edx,%edx
429466:	8b 47 20             	mov    0x20(%edi),%eax
429469:	03 c2                	add    %edx,%eax
42946b:	83 c2 10             	add    $0x10,%edx
42946e:	83 60 08 00          	andl   $0x0,0x8(%eax)
429472:	83 60 0c 00          	andl   $0x0,0xc(%eax)
429476:	41                   	inc    %ecx
429477:	3b 4f 28             	cmp    0x28(%edi),%ecx
42947a:	72 ea                	jb     0x429466
42947c:	5f                   	pop    %edi
42947d:	5e                   	pop    %esi
42947e:	5b                   	pop    %ebx
42947f:	5d                   	pop    %ebp
429480:	c2 08 00             	ret    $0x8
429483:	55                   	push   %ebp
429484:	8b ec                	mov    %esp,%ebp
429486:	53                   	push   %ebx
429487:	8b 5d 10             	mov    0x10(%ebp),%ebx
42948a:	56                   	push   %esi
42948b:	57                   	push   %edi
42948c:	33 ff                	xor    %edi,%edi
42948e:	8b 53 04             	mov    0x4(%ebx),%edx
429491:	8b f7                	mov    %edi,%esi