4082b1:	83 c4 0c             	add    $0xc,%esp
4082b4:	8b 45 f8             	mov    -0x8(%ebp),%eax
4082b7:	83 c0 04             	add    $0x4,%eax
4082ba:	89 45 f8             	mov    %eax,-0x8(%ebp)
4082bd:	6a 04                	push   $0x4
4082bf:	8d 4d d0             	lea    -0x30(%ebp),%ecx
4082c2:	51                   	push   %ecx
4082c3:	8b 55 f4             	mov    -0xc(%ebp),%edx
4082c6:	03 55 f8             	add    -0x8(%ebp),%edx
4082c9:	52                   	push   %edx
4082ca:	e8 d1 e6 ff ff       	call   0x4069a0
4082cf:	83 c4 0c             	add    $0xc,%esp
4082d2:	8b 45 f8             	mov    -0x8(%ebp),%eax
4082d5:	83 c0 04             	add    $0x4,%eax
4082d8:	89 45 f8             	mov    %eax,-0x8(%ebp)
4082db:	6a 02                	push   $0x2
4082dd:	68 88 71 41 00       	push   $0x417188
4082e2:	8b 4d f4             	mov    -0xc(%ebp),%ecx
4082e5:	03 4d f8             	add    -0x8(%ebp),%ecx
4082e8:	51                   	push   %ecx
4082e9:	e8 b2 e6 ff ff       	call   0x4069a0
4082ee:	83 c4 0c             	add    $0xc,%esp
4082f1:	8b 55 f8             	mov    -0x8(%ebp),%edx
4082f4:	83 c2 02             	add    $0x2,%edx
4082f7:	89 55 f8             	mov    %edx,-0x8(%ebp)
4082fa:	6a 04                	push   $0x4
4082fc:	e8 7f b8 ff ff       	call   0x403b80
408301:	83 c0 38             	add    $0x38,%eax
408304:	50                   	push   %eax
408305:	8b 45 f4             	mov    -0xc(%ebp),%eax
408308:	03 45 f8             	add    -0x8(%ebp),%eax
40830b:	50                   	push   %eax
40830c:	e8 8f e6 ff ff       	call   0x4069a0
408311:	83 c4 0c             	add    $0xc,%esp
408314:	8b 4d f8             	mov    -0x8(%ebp),%ecx
408317:	83 c1 04             	add    $0x4,%ecx
40831a:	89 4d f8             	mov    %ecx,-0x8(%ebp)
40831d:	6a 00                	push   $0x0
40831f:	8d 55 e8             	lea    -0x18(%ebp),%edx
408322:	52                   	push   %edx
408323:	8b 45 cc             	mov    -0x34(%ebp),%eax
408326:	50                   	push   %eax
408327:	8b 4d f4             	mov    -0xc(%ebp),%ecx
40832a:	51                   	push   %ecx
40832b:	8b 55 08             	mov    0x8(%ebp),%edx
40832e:	52                   	push   %edx
40832f:	e8 8c a2 ff ff       	call   0x4025c0
408334:	8b 80 d4 00 00 00    	mov    0xd4(%eax),%eax
40833a:	ff d0                	call   *%eax
40833c:	85 c0                	test   %eax,%eax
40833e:	74 7a                	je     0x4083ba
408340:	8b 4d 08             	mov    0x8(%ebp),%ecx
408343:	51                   	push   %ecx
408344:	e8 77 a2 ff ff       	call   0x4025c0
408349:	8b 90 9c 01 00 00    	mov    0x19c(%eax),%edx
40834f:	ff d2                	call   *%edx
408351:	6a 08                	push   $0x8
408353:	6a 00                	push   $0x0
408355:	8d 45 b4             	lea    -0x4c(%ebp),%eax
408358:	50                   	push   %eax
408359:	e8 22 e6 ff ff       	call   0x406980
40835e:	83 c4 0c             	add    $0xc,%esp
408361:	6a 02                	push   $0x2
408363:	8d 4d 94             	lea    -0x6c(%ebp),%ecx
408366:	51                   	push   %ecx
408367:	8b 55 b8             	mov    -0x48(%ebp),%edx
40836a:	52                   	push   %edx
40836b:	8b 45 b4             	mov    -0x4c(%ebp),%eax
40836e:	50                   	push   %eax
40836f:	8b 4d 08             	mov    0x8(%ebp),%ecx
408372:	51                   	push   %ecx
408373:	e8 48 a2 ff ff       	call   0x4025c0
408378:	8b 90 e4 00 00 00    	mov    0xe4(%eax),%edx
40837e:	ff d2                	call   *%edx
408380:	85 c0                	test   %eax,%eax
408382:	74 36                	je     0x4083ba
408384:	6a 00                	push   $0x0
408386:	6a 00                	push   $0x0
408388:	8b 45 b8             	mov    -0x48(%ebp),%eax
40838b:	50                   	push   %eax
40838c:	8b 4d b4             	mov    -0x4c(%ebp),%ecx
40838f:	51                   	push   %ecx
408390:	8b 55 08             	mov    0x8(%ebp),%edx
408393:	52                   	push   %edx
408394:	e8 27 a2 ff ff       	call   0x4025c0
408399:	8b 80 e4 00 00 00    	mov    0xe4(%eax),%eax
40839f:	ff d0                	call   *%eax
4083a1:	85 c0                	test   %eax,%eax
4083a3:	74 15                	je     0x4083ba
4083a5:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4083a8:	8b 55 94             	mov    -0x6c(%ebp),%edx
4083ab:	89 11                	mov    %edx,(%ecx)
4083ad:	8b 45 98             	mov    -0x68(%ebp),%eax
4083b0:	89 41 04             	mov    %eax,0x4(%ecx)
4083b3:	c7 45 e0 01 00 00 00 	movl   $0x1,-0x20(%ebp)
4083ba:	8b 4d f4             	mov    -0xc(%ebp),%ecx
4083bd:	51                   	push   %ecx
4083be:	e8 ed e4 ff ff       	call   0x4068b0
4083c3:	83 c4 04             	add    $0x4,%esp
4083c6:	8b 55 f0             	mov    -0x10(%ebp),%edx
4083c9:	52                   	push   %edx
4083ca:	e8 e1 e4 ff ff       	call   0x4068b0
4083cf:	83 c4 04             	add    $0x4,%esp
4083d2:	c6 45 ff 00          	movb   $0x0,-0x1(%ebp)
4083d6:	8b 45 e0             	mov    -0x20(%ebp),%eax
4083d9:	5e                   	pop    %esi
4083da:	8b e5                	mov    %ebp,%esp
4083dc:	5d                   	pop    %ebp
4083dd:	c3                   	ret
4083de:	cc                   	int3
4083df:	cc                   	int3
4083e0:	55                   	push   %ebp
4083e1:	8b ec                	mov    %esp,%ebp
4083e3:	83 ec 1c             	sub    $0x1c,%esp
4083e6:	c7 45 f8 00 00 00 00 	movl   $0x0,-0x8(%ebp)
4083ed:	83 7d 08 ff          	cmpl   $0xffffffff,0x8(%ebp)
4083f1:	74 12                	je     0x408405
4083f3:	83 7d 14 00          	cmpl   $0x0,0x14(%ebp)
4083f7:	74 0c                	je     0x408405
4083f9:	83 7d 18 00          	cmpl   $0x0,0x18(%ebp)
4083fd:	74 06                	je     0x408405
4083ff:	83 7d 20 00          	cmpl   $0x0,0x20(%ebp)
408403:	75 08                	jne    0x40840d
408405:	8b 45 f8             	mov    -0x8(%ebp),%eax
408408:	e9 09 01 00 00       	jmp    0x408516
40840d:	c7 45 ec 00 00 00 00 	movl   $0x0,-0x14(%ebp)
408414:	8b 45 0c             	mov    0xc(%ebp),%eax
408417:	89 45 e4             	mov    %eax,-0x1c(%ebp)
40841a:	8b 4d 10             	mov    0x10(%ebp),%ecx
40841d:	89 4d e8             	mov    %ecx,-0x18(%ebp)
408420:	6a 00                	push   $0x0
408422:	6a 00                	push   $0x0
408424:	8b 55 e8             	mov    -0x18(%ebp),%edx
408427:	52                   	push   %edx
408428:	8b 45 e4             	mov    -0x1c(%ebp),%eax
40842b:	50                   	push   %eax
40842c:	8b 4d 08             	mov    0x8(%ebp),%ecx
40842f:	51                   	push   %ecx
408430:	e8 8b a1 ff ff       	call   0x4025c0
408435:	8b 90 e4 00 00 00    	mov    0xe4(%eax),%edx
40843b:	ff d2                	call   *%edx
40843d:	85 c0                	test   %eax,%eax
40843f:	0f 84 ce 00 00 00    	je     0x408513
408445:	c7 45 f4 00 00 00 00 	movl   $0x0,-0xc(%ebp)
40844c:	6a 00                	push   $0x0
40844e:	8d 45 f4             	lea    -0xc(%ebp),%eax
408451:	50                   	push   %eax
408452:	e8 a9 cf ff ff       	call   0x405400
408457:	8b 48 10             	mov    0x10(%eax),%ecx
40845a:	51                   	push   %ecx
40845b:	8b 55 14             	mov    0x14(%ebp),%edx
40845e:	52                   	push   %edx
40845f:	8b 45 08             	mov    0x8(%ebp),%eax
408462:	50                   	push   %eax
408463:	e8 58 a1 ff ff       	call   0x4025c0
408468:	8b 88 d8 00 00 00    	mov    0xd8(%eax),%ecx
40846e:	ff d1                	call   *%ecx
408470:	85 c0                	test   %eax,%eax
408472:	0f 84 9b 00 00 00    	je     0x408513
408478:	6a 00                	push   $0x0
40847a:	6a 00                	push   $0x0
40847c:	8b 55 e8             	mov    -0x18(%ebp),%edx
40847f:	52                   	push   %edx
408480:	8b 45 e4             	mov    -0x1c(%ebp),%eax
408483:	50                   	push   %eax
408484:	8b 4d 08             	mov    0x8(%ebp),%ecx
408487:	51                   	push   %ecx
408488:	e8 33 a1 ff ff       	call   0x4025c0
40848d:	8b 90 e4 00 00 00    	mov    0xe4(%eax),%edx
408493:	ff d2                	call   *%edx
408495:	85 c0                	test   %eax,%eax
408497:	74 7a                	je     0x408513
408499:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
4084a0:	c7 45 f0 00 00 00 00 	movl   $0x0,-0x10(%ebp)
4084a7:	8d 45 f0             	lea    -0x10(%ebp),%eax
4084aa:	50                   	push   %eax
4084ab:	8d 4d fc             	lea    -0x4(%ebp),%ecx
4084ae:	51                   	push   %ecx
4084af:	e8 4c cf ff ff       	call   0x405400
4084b4:	8b 50 10             	mov    0x10(%eax),%edx
4084b7:	52                   	push   %edx
4084b8:	8b 45 14             	mov    0x14(%ebp),%eax
4084bb:	50                   	push   %eax
4084bc:	8b 4d 1c             	mov    0x1c(%ebp),%ecx
4084bf:	51                   	push   %ecx
4084c0:	8b 55 18             	mov    0x18(%ebp),%edx
4084c3:	52                   	push   %edx
4084c4:	e8 07 f4 ff ff       	call   0x4078d0
4084c9:	83 c4 18             	add    $0x18,%esp
4084cc:	85 c0                	test   %eax,%eax
4084ce:	74 43                	je     0x408513
4084d0:	6a 00                	push   $0x0
4084d2:	8d 45 f4             	lea    -0xc(%ebp),%eax
4084d5:	50                   	push   %eax
4084d6:	e8 25 cf ff ff       	call   0x405400
4084db:	8b 48 10             	mov    0x10(%eax),%ecx
4084de:	51                   	push   %ecx
4084df:	8b 55 fc             	mov    -0x4(%ebp),%edx
4084e2:	52                   	push   %edx
4084e3:	8b 45 08             	mov    0x8(%ebp),%eax
4084e6:	50                   	push   %eax
4084e7:	e8 d4 a0 ff ff       	call   0x4025c0
4084ec:	8b 88 d4 00 00 00    	mov    0xd4(%eax),%ecx
4084f2:	ff d1                	call   *%ecx
4084f4:	85 c0                	test   %eax,%eax
4084f6:	74 0f                	je     0x408507
4084f8:	8b 55 20             	mov    0x20(%ebp),%edx
4084fb:	8b 45 f0             	mov    -0x10(%ebp),%eax
4084fe:	89 02                	mov    %eax,(%edx)
408500:	c7 45 f8 01 00 00 00 	movl   $0x1,-0x8(%ebp)
408507:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40850a:	51                   	push   %ecx
40850b:	e8 a0 e3 ff ff       	call   0x4068b0
408510:	83 c4 04             	add    $0x4,%esp
408513:	8b 45 f8             	mov    -0x8(%ebp),%eax
408516:	8b e5                	mov    %ebp,%esp
408518:	5d                   	pop    %ebp
408519:	c3                   	ret
40851a:	cc                   	int3
40851b:	cc                   	int3
40851c:	cc                   	int3
40851d:	cc                   	int3
40851e:	cc                   	int3
40851f:	cc                   	int3
408520:	55                   	push   %ebp
408521:	8b ec                	mov    %esp,%ebp
408523:	83 ec 2c             	sub    $0x2c,%esp
408526:	56                   	push   %esi
408527:	57                   	push   %edi
408528:	c7 45 f4 00 00 00 00 	movl   $0x0,-0xc(%ebp)
40852f:	83 7d 08 ff          	cmpl   $0xffffffff,0x8(%ebp)
408533:	74 12                	je     0x408547
408535:	83 7d 18 00          	cmpl   $0x0,0x18(%ebp)
408539:	74 0c                	je     0x408547
40853b:	83 7d 1c 00          	cmpl   $0x0,0x1c(%ebp)
40853f:	74 06                	je     0x408547
408541:	83 7d 20 00          	cmpl   $0x0,0x20(%ebp)
408545:	75 08                	jne    0x40854f
408547:	8b 45 f4             	mov    -0xc(%ebp),%eax
40854a:	e9 dc 01 00 00       	jmp    0x40872b
40854f:	c7 45 e4 00 00 00 00 	movl   $0x0,-0x1c(%ebp)
408556:	83 7d 14 00          	cmpl   $0x0,0x14(%ebp)
40855a:	74 1c                	je     0x408578
40855c:	8d 45 0c             	lea    0xc(%ebp),%eax
40855f:	50                   	push   %eax
408560:	8b 4d 08             	mov    0x8(%ebp),%ecx
408563:	51                   	push   %ecx
408564:	e8 27 fb ff ff       	call   0x408090
408569:	83 c4 08             	add    $0x8,%esp
40856c:	85 c0                	test   %eax,%eax
40856e:	75 08                	jne    0x408578
408570:	8b 45 f4             	mov    -0xc(%ebp),%eax
408573:	e9 b3 01 00 00       	jmp    0x40872b
408578:	e8 83 ce ff ff       	call   0x405400
40857d:	8b 50 10             	mov    0x10(%eax),%edx
408580:	52                   	push   %edx
408581:	e8 fa e2 ff ff       	call   0x406880
408586:	83 c4 04             	add    $0x4,%esp
408589:	89 45 f8             	mov    %eax,-0x8(%ebp)
40858c:	83 7d f8 00          	cmpl   $0x0,-0x8(%ebp)
408590:	0f 84 92 01 00 00    	je     0x408728
408596:	6a 00                	push   $0x0
408598:	6a 02                	push   $0x2
40859a:	8b 45 10             	mov    0x10(%ebp),%eax
40859d:	50                   	push   %eax
40859e:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4085a1:	51                   	push   %ecx
4085a2:	e8 39 29 00 00       	call   0x40aee0
4085a7:	8b f0                	mov    %eax,%esi
4085a9:	8b fa                	mov    %edx,%edi
4085ab:	e8 50 ce ff ff       	call   0x405400
4085b0:	8b 50 10             	mov    0x10(%eax),%edx
4085b3:	33 c0                	xor    %eax,%eax
4085b5:	03 f2                	add    %edx,%esi
4085b7:	13 f8                	adc    %eax,%edi
4085b9:	83 ee 01             	sub    $0x1,%esi
4085bc:	83 df 00             	sbb    $0x0,%edi
4085bf:	e8 3c ce ff ff       	call   0x405400
4085c4:	8b 48 10             	mov    0x10(%eax),%ecx
4085c7:	33 d2                	xor    %edx,%edx
4085c9:	52                   	push   %edx
4085ca:	51                   	push   %ecx
4085cb:	57                   	push   %edi
4085cc:	56                   	push   %esi
4085cd:	e8 0e 29 00 00       	call   0x40aee0
4085d2:	8b f0                	mov    %eax,%esi
4085d4:	8b fa                	mov    %edx,%edi
4085d6:	e8 25 ce ff ff       	call   0x405400
4085db:	8b 40 10             	mov    0x10(%eax),%eax
4085de:	33 c9                	xor    %ecx,%ecx
4085e0:	51                   	push   %ecx
4085e1:	50                   	push   %eax
4085e2:	57                   	push   %edi
4085e3:	56                   	push   %esi
4085e4:	e8 87 2a 00 00       	call   0x40b070
4085e9:	89 45 dc             	mov    %eax,-0x24(%ebp)
4085ec:	89 55 e0             	mov    %edx,-0x20(%ebp)
4085ef:	e8 0c ce ff ff       	call   0x405400
4085f4:	8b 50 10             	mov    0x10(%eax),%edx
4085f7:	33 c0                	xor    %eax,%eax
4085f9:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4085fc:	2b ca                	sub    %edx,%ecx
4085fe:	8b 55 10             	mov    0x10(%ebp),%edx
408601:	1b d0                	sbb    %eax,%edx
408603:	89 4d d4             	mov    %ecx,-0x2c(%ebp)
408606:	89 55 d8             	mov    %edx,-0x28(%ebp)
408609:	c7 45 e8 00 00 00 00 	movl   $0x0,-0x18(%ebp)
408610:	c7 45 ec 00 00 00 00 	movl   $0x0,-0x14(%ebp)
408617:	c7 45 f0 00 00 00 00 	movl   $0x0,-0x10(%ebp)
40861e:	8d 45 e8             	lea    -0x18(%ebp),%eax
408621:	50                   	push   %eax
408622:	8b 4d 1c             	mov    0x1c(%ebp),%ecx
408625:	51                   	push   %ecx
408626:	8b 55 18             	mov    0x18(%ebp),%edx
408629:	52                   	push   %edx
40862a:	8b 45 f8             	mov    -0x8(%ebp),%eax
40862d:	50                   	push   %eax
40862e:	6a 00                	push   $0x0
408630:	6a 00                	push   $0x0
408632:	8b 4d 08             	mov    0x8(%ebp),%ecx
408635:	51                   	push   %ecx
408636:	e8 a5 fd ff ff       	call   0x4083e0
40863b:	83 c4 1c             	add    $0x1c,%esp
40863e:	85 c0                	test   %eax,%eax
408640:	0f 84 d6 00 00 00    	je     0x40871c
408646:	8d 55 ec             	lea    -0x14(%ebp),%edx
408649:	52                   	push   %edx
40864a:	8b 45 1c             	mov    0x1c(%ebp),%eax
40864d:	50                   	push   %eax
40864e:	8b 4d 18             	mov    0x18(%ebp),%ecx
408651:	51                   	push   %ecx
408652:	8b 55 f8             	mov    -0x8(%ebp),%edx
408655:	52                   	push   %edx
408656:	8b 45 e0             	mov    -0x20(%ebp),%eax
408659:	50                   	push   %eax
40865a:	8b 4d dc             	mov    -0x24(%ebp),%ecx
40865d:	51                   	push   %ecx
40865e:	8b 55 08             	mov    0x8(%ebp),%edx
408661:	52                   	push   %edx
408662:	e8 79 fd ff ff       	call   0x4083e0
408667:	83 c4 1c             	add    $0x1c,%esp
40866a:	85 c0                	test   %eax,%eax
40866c:	0f 84 9e 00 00 00    	je     0x408710
408672:	8d 45 f0             	lea    -0x10(%ebp),%eax
408675:	50                   	push   %eax
408676:	8b 4d 1c             	mov    0x1c(%ebp),%ecx
408679:	51                   	push   %ecx
40867a:	8b 55 18             	mov    0x18(%ebp),%edx
40867d:	52                   	push   %edx
40867e:	8b 45 f8             	mov    -0x8(%ebp),%eax