429105:	8b 45 fc             	mov    -0x4(%ebp),%eax
429108:	50                   	push   %eax
429109:	e8 e2 e4 fd ff       	call   0x4075f0
42910e:	84 db                	test   %bl,%bl
429110:	74 18                	je     0x42912a
429112:	6a 00                	push   $0x0
429114:	6a 01                	push   $0x1
429116:	6a 01                	push   $0x1
429118:	8b 45 f8             	mov    -0x8(%ebp),%eax
42911b:	50                   	push   %eax
42911c:	8b 45 f4             	mov    -0xc(%ebp),%eax
42911f:	50                   	push   %eax
429120:	e8 33 e3 fd ff       	call   0x407458
429125:	89 45 f0             	mov    %eax,-0x10(%ebp)
429128:	eb 62                	jmp    0x42918c
42912a:	6a 00                	push   $0x0
42912c:	e8 df e8 fd ff       	call   0x407a10
429131:	89 45 ec             	mov    %eax,-0x14(%ebp)
429134:	83 7d ec 00          	cmpl   $0x0,-0x14(%ebp)
429138:	75 05                	jne    0x42913f
42913a:	e8 d1 fe ff ff       	call   0x429010
42913f:	33 c0                	xor    %eax,%eax
429141:	55                   	push   %ebp
429142:	68 85 91 42 00       	push   $0x429185
429147:	64 ff 30             	push   %fs:(%eax)
42914a:	64 89 20             	mov    %esp,%fs:(%eax)
42914d:	8b 45 f8             	mov    -0x8(%ebp),%eax
429150:	50                   	push   %eax
429151:	8b 45 f4             	mov    -0xc(%ebp),%eax
429154:	50                   	push   %eax
429155:	8b 45 ec             	mov    -0x14(%ebp),%eax
429158:	50                   	push   %eax
429159:	e8 0a e3 fd ff       	call   0x407468
42915e:	89 45 f0             	mov    %eax,-0x10(%ebp)
429161:	83 7d f0 00          	cmpl   $0x0,-0x10(%ebp)
429165:	75 05                	jne    0x42916c
429167:	e8 a4 fe ff ff       	call   0x429010
42916c:	33 c0                	xor    %eax,%eax
42916e:	5a                   	pop    %edx
42916f:	59                   	pop    %ecx
429170:	59                   	pop    %ecx
429171:	64 89 10             	mov    %edx,%fs:(%eax)
429174:	68 8c 91 42 00       	push   $0x42918c
429179:	8b 45 ec             	mov    -0x14(%ebp),%eax
42917c:	50                   	push   %eax
42917d:	6a 00                	push   $0x0
42917f:	e8 54 eb fd ff       	call   0x407cd8
429184:	c3                   	ret
429185:	e9 82 b0 fd ff       	jmp    0x40420c
42918a:	eb ed                	jmp    0x429179
42918c:	83 7d f0 00          	cmpl   $0x0,-0x10(%ebp)
429190:	74 64                	je     0x4291f6
429192:	8b 45 fc             	mov    -0x4(%ebp),%eax
429195:	50                   	push   %eax
429196:	8b 45 e8             	mov    -0x18(%ebp),%eax
429199:	50                   	push   %eax
42919a:	e8 61 e5 fd ff       	call   0x407700
42919f:	8b d8                	mov    %eax,%ebx
4291a1:	8b 45 f0             	mov    -0x10(%ebp),%eax
4291a4:	50                   	push   %eax
4291a5:	8b 45 e4             	mov    -0x1c(%ebp),%eax
4291a8:	50                   	push   %eax
4291a9:	e8 52 e5 fd ff       	call   0x407700
4291ae:	8b f0                	mov    %eax,%esi
4291b0:	68 20 00 cc 00       	push   $0xcc0020
4291b5:	8b 45 d4             	mov    -0x2c(%ebp),%eax
4291b8:	50                   	push   %eax
4291b9:	8b 45 d0             	mov    -0x30(%ebp),%eax
4291bc:	50                   	push   %eax
4291bd:	6a 00                	push   $0x0
4291bf:	6a 00                	push   $0x0
4291c1:	8b 45 e8             	mov    -0x18(%ebp),%eax
4291c4:	50                   	push   %eax
4291c5:	8b 45 f8             	mov    -0x8(%ebp),%eax
4291c8:	50                   	push   %eax
4291c9:	8b 45 f4             	mov    -0xc(%ebp),%eax
4291cc:	50                   	push   %eax
4291cd:	6a 00                	push   $0x0
4291cf:	6a 00                	push   $0x0
4291d1:	8b 45 e4             	mov    -0x1c(%ebp),%eax
4291d4:	50                   	push   %eax
4291d5:	e8 e6 e5 fd ff       	call   0x4077c0
4291da:	85 db                	test   %ebx,%ebx
4291dc:	74 0a                	je     0x4291e8
4291de:	53                   	push   %ebx
4291df:	8b 45 e8             	mov    -0x18(%ebp),%eax
4291e2:	50                   	push   %eax
4291e3:	e8 18 e5 fd ff       	call   0x407700
4291e8:	85 f6                	test   %esi,%esi
4291ea:	74 0a                	je     0x4291f6
4291ec:	56                   	push   %esi
4291ed:	8b 45 e4             	mov    -0x1c(%ebp),%eax
4291f0:	50                   	push   %eax
4291f1:	e8 0a e5 fd ff       	call   0x407700
4291f6:	33 c0                	xor    %eax,%eax
4291f8:	5a                   	pop    %edx
4291f9:	59                   	pop    %ecx
4291fa:	59                   	pop    %ecx
4291fb:	64 89 10             	mov    %edx,%fs:(%eax)
4291fe:	68 1d 92 42 00       	push   $0x42921d
429203:	8b 45 e8             	mov    -0x18(%ebp),%eax
429206:	50                   	push   %eax
429207:	e8 f4 e2 fd ff       	call   0x407500
42920c:	8b 45 e4             	mov    -0x1c(%ebp),%eax
42920f:	50                   	push   %eax
429210:	e8 eb e2 fd ff       	call   0x407500
429215:	c3                   	ret
429216:	e9 f1 af fd ff       	jmp    0x40420c
42921b:	eb e6                	jmp    0x429203
42921d:	8b 45 f0             	mov    -0x10(%ebp),%eax
429220:	5f                   	pop    %edi
429221:	5e                   	pop    %esi
429222:	5b                   	pop    %ebx
429223:	8b e5                	mov    %ebp,%esp
429225:	5d                   	pop    %ebp
429226:	c3                   	ret
429227:	90                   	nop
429228:	8b d0                	mov    %eax,%edx
42922a:	66 ff ca             	dec    %dx
42922d:	74 0c                	je     0x42923b
42922f:	66 83 ea 03          	sub    $0x3,%dx
429233:	74 06                	je     0x42923b
429235:	66 83 ea 04          	sub    $0x4,%dx
429239:	75 0a                	jne    0x429245
42923b:	8b c8                	mov    %eax,%ecx
42923d:	b8 01 00 00 00       	mov    $0x1,%eax
429242:	d3 e0                	shl    %cl,%eax
429244:	c3                   	ret
429245:	33 c0                	xor    %eax,%eax
429247:	c3                   	ret
429248:	49                   	dec    %ecx
429249:	f7 ea                	imul   %edx
42924b:	03 c1                	add    %ecx,%eax
42924d:	f7 d1                	not    %ecx
42924f:	23 c1                	and    %ecx,%eax
429251:	85 c0                	test   %eax,%eax
429253:	79 03                	jns    0x429258
429255:	83 c0 07             	add    $0x7,%eax
429258:	c1 f8 03             	sar    $0x3,%eax
42925b:	c3                   	ret
42925c:	55                   	push   %ebp
42925d:	8b ec                	mov    %esp,%ebp
42925f:	83 c4 dc             	add    $0xffffffdc,%esp
429262:	53                   	push   %ebx
429263:	56                   	push   %esi
429264:	57                   	push   %edi
429265:	89 4d f8             	mov    %ecx,-0x8(%ebp)
429268:	89 55 fc             	mov    %edx,-0x4(%ebp)
42926b:	8b f8                	mov    %eax,%edi
42926d:	8b 75 14             	mov    0x14(%ebp),%esi
429270:	8b 5d 18             	mov    0x18(%ebp),%ebx
429273:	c6 45 f7 01          	movb   $0x1,-0x9(%ebp)
429277:	a1 90 72 6a 00       	mov    0x6a7290,%eax
42927c:	83 38 02             	cmpl   $0x2,(%eax)
42927f:	0f 85 b1 00 00 00    	jne    0x429336
429285:	3b 5d 2c             	cmp    0x2c(%ebp),%ebx
429288:	0f 85 a8 00 00 00    	jne    0x429336
42928e:	3b 75 28             	cmp    0x28(%ebp),%esi
429291:	0f 85 9f 00 00 00    	jne    0x429336
429297:	6a 01                	push   $0x1
429299:	6a 01                	push   $0x1
42929b:	8b 45 24             	mov    0x24(%ebp),%eax
42929e:	50                   	push   %eax
42929f:	e8 c4 e1 fd ff       	call   0x407468
4292a4:	e8 0f fe ff ff       	call   0x4290b8
4292a9:	89 45 ec             	mov    %eax,-0x14(%ebp)
4292ac:	8b 45 ec             	mov    -0x14(%ebp),%eax
4292af:	50                   	push   %eax
4292b0:	8b 45 10             	mov    0x10(%ebp),%eax
4292b3:	50                   	push   %eax
4292b4:	e8 47 e4 fd ff       	call   0x407700
4292b9:	89 45 ec             	mov    %eax,-0x14(%ebp)
4292bc:	33 c0                	xor    %eax,%eax
4292be:	55                   	push   %ebp
4292bf:	68 2f 93 42 00       	push   $0x42932f
4292c4:	64 ff 30             	push   %fs:(%eax)
4292c7:	64 89 20             	mov    %esp,%fs:(%eax)
4292ca:	ba 20 00 cc 00       	mov    $0xcc0020,%edx
4292cf:	b8 29 00 aa 00       	mov    $0xaa0029,%eax
4292d4:	e8 67 ec fd ff       	call   0x407f40
4292d9:	50                   	push   %eax
4292da:	8b 45 08             	mov    0x8(%ebp),%eax
4292dd:	50                   	push   %eax
4292de:	8b 45 0c             	mov    0xc(%ebp),%eax
4292e1:	50                   	push   %eax
4292e2:	8b 45 ec             	mov    -0x14(%ebp),%eax
4292e5:	50                   	push   %eax
4292e6:	8b 45 1c             	mov    0x1c(%ebp),%eax
4292e9:	50                   	push   %eax
4292ea:	8b 45 20             	mov    0x20(%ebp),%eax
4292ed:	50                   	push   %eax
4292ee:	8b 45 24             	mov    0x24(%ebp),%eax
4292f1:	50                   	push   %eax
4292f2:	8b 45 28             	mov    0x28(%ebp),%eax
4292f5:	50                   	push   %eax
4292f6:	8b 45 2c             	mov    0x2c(%ebp),%eax
4292f9:	50                   	push   %eax
4292fa:	8b 45 f8             	mov    -0x8(%ebp),%eax
4292fd:	50                   	push   %eax
4292fe:	8b 45 fc             	mov    -0x4(%ebp),%eax
429301:	50                   	push   %eax
429302:	57                   	push   %edi
429303:	e8 70 e3 fd ff       	call   0x407678
429308:	33 c0                	xor    %eax,%eax
42930a:	5a                   	pop    %edx
42930b:	59                   	pop    %ecx
42930c:	59                   	pop    %ecx
42930d:	64 89 10             	mov    %edx,%fs:(%eax)
429310:	68 e3 94 42 00       	push   $0x4294e3
429315:	8b 45 ec             	mov    -0x14(%ebp),%eax
429318:	50                   	push   %eax
429319:	8b 45 10             	mov    0x10(%ebp),%eax
42931c:	50                   	push   %eax
42931d:	e8 de e3 fd ff       	call   0x407700
429322:	89 45 ec             	mov    %eax,-0x14(%ebp)
429325:	8b 45 ec             	mov    -0x14(%ebp),%eax
429328:	50                   	push   %eax
429329:	e8 e2 e1 fd ff       	call   0x407510
42932e:	c3                   	ret
42932f:	e9 d8 ae fd ff       	jmp    0x40420c
429334:	eb df                	jmp    0x429315
429336:	33 c0                	xor    %eax,%eax
429338:	89 45 dc             	mov    %eax,-0x24(%ebp)
42933b:	6a 00                	push   $0x0
42933d:	e8 2e e1 fd ff       	call   0x407470
429342:	e8 71 fd ff ff       	call   0x4290b8
429347:	89 45 f0             	mov    %eax,-0x10(%ebp)
42934a:	33 c0                	xor    %eax,%eax
42934c:	55                   	push   %ebp
42934d:	68 dc 94 42 00       	push   $0x4294dc
429352:	64 ff 30             	push   %fs:(%eax)
429355:	64 89 20             	mov    %esp,%fs:(%eax)
429358:	56                   	push   %esi
429359:	53                   	push   %ebx
42935a:	8b 45 24             	mov    0x24(%ebp),%eax
42935d:	50                   	push   %eax
42935e:	e8 05 e1 fd ff       	call   0x407468
429363:	e8 50 fd ff ff       	call   0x4290b8
429368:	89 45 ec             	mov    %eax,-0x14(%ebp)
42936b:	8b 45 ec             	mov    -0x14(%ebp),%eax
42936e:	50                   	push   %eax
42936f:	8b 45 f0             	mov    -0x10(%ebp),%eax
429372:	50                   	push   %eax
429373:	e8 88 e3 fd ff       	call   0x407700
429378:	89 45 e8             	mov    %eax,-0x18(%ebp)
42937b:	6a 00                	push   $0x0
42937d:	a1 30 8a 6a 00       	mov    0x6a8a30,%eax
429382:	50                   	push   %eax
429383:	8b 45 24             	mov    0x24(%ebp),%eax
429386:	50                   	push   %eax
429387:	e8 7c e3 fd ff       	call   0x407708
42938c:	89 45 dc             	mov    %eax,-0x24(%ebp)
42938f:	6a 00                	push   $0x0
429391:	8b 45 dc             	mov    -0x24(%ebp),%eax
429394:	50                   	push   %eax
429395:	8b 45 24             	mov    0x24(%ebp),%eax
429398:	50                   	push   %eax
429399:	e8 6a e3 fd ff       	call   0x407708
42939e:	83 7d dc 00          	cmpl   $0x0,-0x24(%ebp)
4293a2:	74 14                	je     0x4293b8
4293a4:	6a ff                	push   $0xffffffff
4293a6:	8b 45 dc             	mov    -0x24(%ebp),%eax
4293a9:	50                   	push   %eax
4293aa:	8b 45 f0             	mov    -0x10(%ebp),%eax
4293ad:	50                   	push   %eax
4293ae:	e8 55 e3 fd ff       	call   0x407708
4293b3:	89 45 dc             	mov    %eax,-0x24(%ebp)
4293b6:	eb 14                	jmp    0x4293cc
4293b8:	6a ff                	push   $0xffffffff
4293ba:	a1 30 8a 6a 00       	mov    0x6a8a30,%eax
4293bf:	50                   	push   %eax
4293c0:	8b 45 f0             	mov    -0x10(%ebp),%eax
4293c3:	50                   	push   %eax
4293c4:	e8 3f e3 fd ff       	call   0x407708
4293c9:	89 45 dc             	mov    %eax,-0x24(%ebp)
4293cc:	8b 45 f0             	mov    -0x10(%ebp),%eax
4293cf:	50                   	push   %eax
4293d0:	e8 f3 e2 fd ff       	call   0x4076c8
4293d5:	68 20 00 cc 00       	push   $0xcc0020
4293da:	56                   	push   %esi
4293db:	53                   	push   %ebx
4293dc:	8b 45 08             	mov    0x8(%ebp),%eax
4293df:	50                   	push   %eax
4293e0:	8b 45 0c             	mov    0xc(%ebp),%eax
4293e3:	50                   	push   %eax
4293e4:	8b 45 10             	mov    0x10(%ebp),%eax
4293e7:	50                   	push   %eax
4293e8:	56                   	push   %esi
4293e9:	53                   	push   %ebx
4293ea:	6a 00                	push   $0x0
4293ec:	6a 00                	push   $0x0
4293ee:	8b 45 f0             	mov    -0x10(%ebp),%eax
4293f1:	50                   	push   %eax
4293f2:	e8 c9 e3 fd ff       	call   0x4077c0
4293f7:	68 28 03 44 00       	push   $0x440328
4293fc:	56                   	push   %esi
4293fd:	53                   	push   %ebx
4293fe:	8b 45 1c             	mov    0x1c(%ebp),%eax
429401:	50                   	push   %eax
429402:	8b 45 20             	mov    0x20(%ebp),%eax
429405:	50                   	push   %eax
429406:	8b 45 24             	mov    0x24(%ebp),%eax
429409:	50                   	push   %eax
42940a:	56                   	push   %esi
42940b:	53                   	push   %ebx
42940c:	6a 00                	push   $0x0
42940e:	6a 00                	push   $0x0
429410:	8b 45 f0             	mov    -0x10(%ebp),%eax
429413:	50                   	push   %eax
429414:	e8 a7 e3 fd ff       	call   0x4077c0
429419:	6a 00                	push   $0x0
42941b:	57                   	push   %edi
42941c:	e8 5f e3 fd ff       	call   0x407780
429421:	89 45 e4             	mov    %eax,-0x1c(%ebp)
429424:	68 ff ff ff 00       	push   $0xffffff
429429:	57                   	push   %edi
42942a:	e8 e9 e2 fd ff       	call   0x407718
42942f:	89 45 e0             	mov    %eax,-0x20(%ebp)
429432:	68 c6 00 88 00       	push   $0x8800c6
429437:	56                   	push   %esi
429438:	53                   	push   %ebx
429439:	8b 45 08             	mov    0x8(%ebp),%eax
42943c:	50                   	push   %eax
42943d:	8b 45 0c             	mov    0xc(%ebp),%eax
429440:	50                   	push   %eax
429441:	8b 45 10             	mov    0x10(%ebp),%eax
429444:	50                   	push   %eax
429445:	8b 45 28             	mov    0x28(%ebp),%eax
429448:	50                   	push   %eax
429449:	8b 45 2c             	mov    0x2c(%ebp),%eax
42944c:	50                   	push   %eax
42944d:	8b 45 f8             	mov    -0x8(%ebp),%eax
429450:	50                   	push   %eax
429451:	8b 45 fc             	mov    -0x4(%ebp),%eax
429454:	50                   	push   %eax
429455:	57                   	push   %edi
429456:	e8 65 e3 fd ff       	call   0x4077c0
42945b:	68 46 00 66 00       	push   $0x660046
429460:	56                   	push   %esi
429461:	53                   	push   %ebx
429462:	6a 00                	push   $0x0
429464:	6a 00                	push   $0x0
429466:	8b 45 f0             	mov    -0x10(%ebp),%eax
429469:	50                   	push   %eax
42946a:	8b 45 28             	mov    0x28(%ebp),%eax
42946d:	50                   	push   %eax
42946e:	8b 45 2c             	mov    0x2c(%ebp),%eax
429471:	50                   	push   %eax
429472:	8b 45 f8             	mov    -0x8(%ebp),%eax
429475:	50                   	push   %eax