4063c9:	85 c0                	test   %eax,%eax
4063cb:	0f 8c d6 00 00 00    	jl     0x4064a7
4063d1:	83 7d c0 00          	cmpl   $0x0,-0x40(%ebp)
4063d5:	0f 85 cc 00 00 00    	jne    0x4064a7
4063db:	c7 45 f8 00 00 00 00 	movl   $0x0,-0x8(%ebp)
4063e2:	8d 55 f8             	lea    -0x8(%ebp),%edx
4063e5:	52                   	push   %edx
4063e6:	e8 75 04 00 00       	call   0x406860
4063eb:	83 c4 04             	add    $0x4,%esp
4063ee:	50                   	push   %eax
4063ef:	68 64 60 41 00       	push   $0x416064
4063f4:	8b 45 f4             	mov    -0xc(%ebp),%eax
4063f7:	8b 08                	mov    (%eax),%ecx
4063f9:	8b 55 f4             	mov    -0xc(%ebp),%edx
4063fc:	52                   	push   %edx
4063fd:	8b 01                	mov    (%ecx),%eax
4063ff:	ff d0                	call   *%eax
406401:	85 c0                	test   %eax,%eax
406403:	0f 8c 9e 00 00 00    	jl     0x4064a7
406409:	c7 45 d0 00 00 00 00 	movl   $0x0,-0x30(%ebp)
406410:	8d 4d d0             	lea    -0x30(%ebp),%ecx
406413:	51                   	push   %ecx
406414:	8b 55 f8             	mov    -0x8(%ebp),%edx
406417:	8b 02                	mov    (%edx),%eax
406419:	8b 4d f8             	mov    -0x8(%ebp),%ecx
40641c:	51                   	push   %ecx
40641d:	8b 50 28             	mov    0x28(%eax),%edx
406420:	ff d2                	call   *%edx
406422:	85 c0                	test   %eax,%eax
406424:	7c 28                	jl     0x40644e
406426:	8b 45 d0             	mov    -0x30(%ebp),%eax
406429:	50                   	push   %eax
40642a:	e8 21 f6 ff ff       	call   0x405a50
40642f:	83 c4 04             	add    $0x4,%esp
406432:	85 c0                	test   %eax,%eax
406434:	74 07                	je     0x40643d
406436:	c7 45 e8 01 00 00 00 	movl   $0x1,-0x18(%ebp)
40643d:	8b 4d d0             	mov    -0x30(%ebp),%ecx
406440:	51                   	push   %ecx
406441:	e8 7a c1 ff ff       	call   0x4025c0
406446:	8b 90 4c 02 00 00    	mov    0x24c(%eax),%edx
40644c:	ff d2                	call   *%edx
40644e:	83 7d e8 00          	cmpl   $0x0,-0x18(%ebp)
406452:	75 45                	jne    0x406499
406454:	c7 45 cc 00 00 00 00 	movl   $0x0,-0x34(%ebp)
40645b:	8d 45 cc             	lea    -0x34(%ebp),%eax
40645e:	50                   	push   %eax
40645f:	8b 4d f8             	mov    -0x8(%ebp),%ecx
406462:	8b 11                	mov    (%ecx),%edx
406464:	8b 45 f8             	mov    -0x8(%ebp),%eax
406467:	50                   	push   %eax
406468:	8b 4a 30             	mov    0x30(%edx),%ecx
40646b:	ff d1                	call   *%ecx
40646d:	85 c0                	test   %eax,%eax
40646f:	7c 28                	jl     0x406499
406471:	8b 55 cc             	mov    -0x34(%ebp),%edx
406474:	52                   	push   %edx
406475:	e8 d6 f5 ff ff       	call   0x405a50
40647a:	83 c4 04             	add    $0x4,%esp
40647d:	85 c0                	test   %eax,%eax
40647f:	74 07                	je     0x406488
406481:	c7 45 e8 01 00 00 00 	movl   $0x1,-0x18(%ebp)
406488:	8b 45 cc             	mov    -0x34(%ebp),%eax
40648b:	50                   	push   %eax
40648c:	e8 2f c1 ff ff       	call   0x4025c0
406491:	8b 88 4c 02 00 00    	mov    0x24c(%eax),%ecx
406497:	ff d1                	call   *%ecx
406499:	8b 55 f8             	mov    -0x8(%ebp),%edx
40649c:	8b 02                	mov    (%edx),%eax
40649e:	8b 4d f8             	mov    -0x8(%ebp),%ecx
4064a1:	51                   	push   %ecx
4064a2:	8b 50 08             	mov    0x8(%eax),%edx
4064a5:	ff d2                	call   *%edx
4064a7:	8b 45 f4             	mov    -0xc(%ebp),%eax
4064aa:	8b 08                	mov    (%eax),%ecx
4064ac:	8b 55 f4             	mov    -0xc(%ebp),%edx
4064af:	52                   	push   %edx
4064b0:	8b 41 08             	mov    0x8(%ecx),%eax
4064b3:	ff d0                	call   *%eax
4064b5:	e9 c0 fe ff ff       	jmp    0x40637a
4064ba:	8b 4d f0             	mov    -0x10(%ebp),%ecx
4064bd:	8b 11                	mov    (%ecx),%edx
4064bf:	8b 45 f0             	mov    -0x10(%ebp),%eax
4064c2:	50                   	push   %eax
4064c3:	8b 4a 08             	mov    0x8(%edx),%ecx
4064c6:	ff d1                	call   *%ecx
4064c8:	8b 55 e4             	mov    -0x1c(%ebp),%edx
4064cb:	8b 02                	mov    (%edx),%eax
4064cd:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
4064d0:	51                   	push   %ecx
4064d1:	8b 50 08             	mov    0x8(%eax),%edx
4064d4:	ff d2                	call   *%edx
4064d6:	83 7d e8 00          	cmpl   $0x0,-0x18(%ebp)
4064da:	74 40                	je     0x40651c
4064dc:	83 7d d8 02          	cmpl   $0x2,-0x28(%ebp)
4064e0:	74 06                	je     0x4064e8
4064e2:	83 7d d8 04          	cmpl   $0x4,-0x28(%ebp)
4064e6:	75 10                	jne    0x4064f8
4064e8:	6a ff                	push   $0xffffffff
4064ea:	8b 45 fc             	mov    -0x4(%ebp),%eax
4064ed:	8b 08                	mov    (%eax),%ecx
4064ef:	8b 55 fc             	mov    -0x4(%ebp),%edx
4064f2:	52                   	push   %edx
4064f3:	8b 41 5c             	mov    0x5c(%ecx),%eax
4064f6:	ff d0                	call   *%eax
4064f8:	6a 00                	push   $0x0
4064fa:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4064fd:	8b 11                	mov    (%ecx),%edx
4064ff:	8b 45 fc             	mov    -0x4(%ebp),%eax
406502:	50                   	push   %eax
406503:	8b 4a 2c             	mov    0x2c(%edx),%ecx
406506:	ff d1                	call   *%ecx
406508:	6a 00                	push   $0x0
40650a:	8b 55 d4             	mov    -0x2c(%ebp),%edx
40650d:	52                   	push   %edx
40650e:	8b 45 08             	mov    0x8(%ebp),%eax
406511:	8b 08                	mov    (%eax),%ecx
406513:	8b 55 08             	mov    0x8(%ebp),%edx
406516:	52                   	push   %edx
406517:	8b 41 3c             	mov    0x3c(%ecx),%eax
40651a:	ff d0                	call   *%eax
40651c:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
40651f:	51                   	push   %ecx
406520:	e8 9b c0 ff ff       	call   0x4025c0
406525:	8b 90 4c 02 00 00    	mov    0x24c(%eax),%edx
40652b:	ff d2                	call   *%edx
40652d:	8b 45 fc             	mov    -0x4(%ebp),%eax
406530:	8b 08                	mov    (%eax),%ecx
406532:	8b 55 fc             	mov    -0x4(%ebp),%edx
406535:	52                   	push   %edx
406536:	8b 41 08             	mov    0x8(%ecx),%eax
406539:	ff d0                	call   *%eax
40653b:	e9 07 fd ff ff       	jmp    0x406247
406540:	8b 4d ec             	mov    -0x14(%ebp),%ecx
406543:	8b 11                	mov    (%ecx),%edx
406545:	8b 45 ec             	mov    -0x14(%ebp),%eax
406548:	50                   	push   %eax
406549:	8b 4a 08             	mov    0x8(%edx),%ecx
40654c:	ff d1                	call   *%ecx
40654e:	8b e5                	mov    %ebp,%esp
406550:	5d                   	pop    %ebp
406551:	c3                   	ret
406552:	cc                   	int3
406553:	cc                   	int3
406554:	cc                   	int3
406555:	cc                   	int3
406556:	cc                   	int3
406557:	cc                   	int3
406558:	cc                   	int3
406559:	cc                   	int3
40655a:	cc                   	int3
40655b:	cc                   	int3
40655c:	cc                   	int3
40655d:	cc                   	int3
40655e:	cc                   	int3
40655f:	cc                   	int3
406560:	55                   	push   %ebp
406561:	8b ec                	mov    %esp,%ebp
406563:	83 ec 20             	sub    $0x20,%esp
406566:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
40656a:	75 05                	jne    0x406571
40656c:	e9 ef 00 00 00       	jmp    0x406660
406571:	8b 45 08             	mov    0x8(%ebp),%eax
406574:	50                   	push   %eax
406575:	e8 56 fc ff ff       	call   0x4061d0
40657a:	83 c4 04             	add    $0x4,%esp
40657d:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
406584:	8d 4d fc             	lea    -0x4(%ebp),%ecx
406587:	51                   	push   %ecx
406588:	6a 00                	push   $0x0
40658a:	8b 55 08             	mov    0x8(%ebp),%edx
40658d:	8b 02                	mov    (%edx),%eax
40658f:	8b 4d 08             	mov    0x8(%ebp),%ecx
406592:	51                   	push   %ecx
406593:	8b 50 28             	mov    0x28(%eax),%edx
406596:	ff d2                	call   *%edx
406598:	85 c0                	test   %eax,%eax
40659a:	0f 8c c0 00 00 00    	jl     0x406660
4065a0:	c7 45 f0 00 00 00 00 	movl   $0x0,-0x10(%ebp)
4065a7:	8d 45 f0             	lea    -0x10(%ebp),%eax
4065aa:	50                   	push   %eax
4065ab:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4065ae:	8b 11                	mov    (%ecx),%edx
4065b0:	8b 45 fc             	mov    -0x4(%ebp),%eax
4065b3:	50                   	push   %eax
4065b4:	8b 4a 1c             	mov    0x1c(%edx),%ecx
4065b7:	ff d1                	call   *%ecx
4065b9:	85 c0                	test   %eax,%eax
4065bb:	0f 8c 91 00 00 00    	jl     0x406652
4065c1:	6a 10                	push   $0x10
4065c3:	6a 00                	push   $0x0
4065c5:	8d 55 e0             	lea    -0x20(%ebp),%edx
4065c8:	52                   	push   %edx
4065c9:	e8 b2 03 00 00       	call   0x406980
4065ce:	83 c4 0c             	add    $0xc,%esp
4065d1:	b8 03 00 00 00       	mov    $0x3,%eax
4065d6:	66 89 45 e0          	mov    %ax,-0x20(%ebp)
4065da:	c7 45 f8 00 00 00 00 	movl   $0x0,-0x8(%ebp)
4065e1:	eb 09                	jmp    0x4065ec
4065e3:	8b 4d f8             	mov    -0x8(%ebp),%ecx
4065e6:	83 c1 01             	add    $0x1,%ecx
4065e9:	89 4d f8             	mov    %ecx,-0x8(%ebp)
4065ec:	8b 55 f8             	mov    -0x8(%ebp),%edx
4065ef:	3b 55 f0             	cmp    -0x10(%ebp),%edx
4065f2:	73 5e                	jae    0x406652
4065f4:	8b 45 f8             	mov    -0x8(%ebp),%eax
4065f7:	83 c0 01             	add    $0x1,%eax
4065fa:	89 45 e8             	mov    %eax,-0x18(%ebp)
4065fd:	c7 45 f4 00 00 00 00 	movl   $0x0,-0xc(%ebp)
406604:	8d 4d f4             	lea    -0xc(%ebp),%ecx
406607:	51                   	push   %ecx
406608:	83 ec 10             	sub    $0x10,%esp
40660b:	8b d4                	mov    %esp,%edx
40660d:	8b 45 e0             	mov    -0x20(%ebp),%eax
406610:	89 02                	mov    %eax,(%edx)
406612:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
406615:	89 4a 04             	mov    %ecx,0x4(%edx)
406618:	8b 45 e8             	mov    -0x18(%ebp),%eax
40661b:	89 42 08             	mov    %eax,0x8(%edx)
40661e:	8b 4d ec             	mov    -0x14(%ebp),%ecx
406621:	89 4a 0c             	mov    %ecx,0xc(%edx)
406624:	8b 55 fc             	mov    -0x4(%ebp),%edx
406627:	8b 02                	mov    (%edx),%eax
406629:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40662c:	51                   	push   %ecx
40662d:	8b 50 20             	mov    0x20(%eax),%edx
406630:	ff d2                	call   *%edx
406632:	85 c0                	test   %eax,%eax
406634:	7c 1a                	jl     0x406650
406636:	8b 45 f4             	mov    -0xc(%ebp),%eax
406639:	50                   	push   %eax
40663a:	e8 21 ff ff ff       	call   0x406560
40663f:	83 c4 04             	add    $0x4,%esp
406642:	8b 4d f4             	mov    -0xc(%ebp),%ecx
406645:	8b 11                	mov    (%ecx),%edx
406647:	8b 45 f4             	mov    -0xc(%ebp),%eax
40664a:	50                   	push   %eax
40664b:	8b 4a 08             	mov    0x8(%edx),%ecx
40664e:	ff d1                	call   *%ecx
406650:	eb 91                	jmp    0x4065e3
406652:	8b 55 fc             	mov    -0x4(%ebp),%edx
406655:	8b 02                	mov    (%edx),%eax
406657:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40665a:	51                   	push   %ecx
40665b:	8b 50 08             	mov    0x8(%eax),%edx
40665e:	ff d2                	call   *%edx
406660:	8b e5                	mov    %ebp,%esp
406662:	5d                   	pop    %ebp
406663:	c3                   	ret
406664:	cc                   	int3
406665:	cc                   	int3
406666:	cc                   	int3
406667:	cc                   	int3
406668:	cc                   	int3
406669:	cc                   	int3
40666a:	cc                   	int3
40666b:	cc                   	int3
40666c:	cc                   	int3
40666d:	cc                   	int3
40666e:	cc                   	int3
40666f:	cc                   	int3
406670:	55                   	push   %ebp
406671:	8b ec                	mov    %esp,%ebp
406673:	83 ec 1c             	sub    $0x1c,%esp
406676:	83 3d ac 73 41 00 00 	cmpl   $0x0,0x4173ac
40667d:	74 09                	je     0x406688
40667f:	e8 1c c5 ff ff       	call   0x402ba0
406684:	85 c0                	test   %eax,%eax
406686:	75 07                	jne    0x40668f
406688:	33 c0                	xor    %eax,%eax
40668a:	e9 c2 01 00 00       	jmp    0x406851
40668f:	e8 ec d4 ff ff       	call   0x403b80
406694:	83 38 06             	cmpl   $0x6,(%eax)
406697:	73 07                	jae    0x4066a0
406699:	33 c0                	xor    %eax,%eax
40669b:	e9 b1 01 00 00       	jmp    0x406851
4066a0:	b8 01 00 00 00       	mov    $0x1,%eax
4066a5:	85 c0                	test   %eax,%eax
4066a7:	0f 84 a2 01 00 00    	je     0x40684f
4066ad:	6a 00                	push   $0x0
4066af:	6a 00                	push   $0x0
4066b1:	e8 0a bf ff ff       	call   0x4025c0
4066b6:	8b 88 38 02 00 00    	mov    0x238(%eax),%ecx
4066bc:	ff d1                	call   *%ecx
4066be:	85 c0                	test   %eax,%eax
4066c0:	0f 8c 72 01 00 00    	jl     0x406838
4066c6:	6a 00                	push   $0x0
4066c8:	6a 00                	push   $0x0
4066ca:	6a 00                	push   $0x0
4066cc:	6a 03                	push   $0x3
4066ce:	6a 06                	push   $0x6
4066d0:	6a 00                	push   $0x0
4066d2:	6a 00                	push   $0x0
4066d4:	6a ff                	push   $0xffffffff
4066d6:	6a 00                	push   $0x0
4066d8:	e8 e3 be ff ff       	call   0x4025c0
4066dd:	8b 90 44 02 00 00    	mov    0x244(%eax),%edx
4066e3:	ff d2                	call   *%edx
4066e5:	85 c0                	test   %eax,%eax
4066e7:	0f 8c 3e 01 00 00    	jl     0x40682b
4066ed:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
4066f4:	8d 45 fc             	lea    -0x4(%ebp),%eax
4066f7:	50                   	push   %eax
4066f8:	68 40 60 41 00       	push   $0x416040
4066fd:	6a 01                	push   $0x1
4066ff:	6a 00                	push   $0x0
406701:	68 50 60 41 00       	push   $0x416050
406706:	e8 b5 be ff ff       	call   0x4025c0
40670b:	8b 88 40 02 00 00    	mov    0x240(%eax),%ecx
406711:	ff d1                	call   *%ecx
406713:	85 c0                	test   %eax,%eax
406715:	0f 8c 10 01 00 00    	jl     0x40682b
40671b:	6a 10                	push   $0x10
40671d:	6a 00                	push   $0x0
40671f:	8d 55 e4             	lea    -0x1c(%ebp),%edx
406722:	52                   	push   %edx
406723:	e8 58 02 00 00       	call   0x406980
406728:	83 c4 0c             	add    $0xc,%esp
40672b:	b8 08 00 00 00       	mov    $0x8,%eax
406730:	66 89 45 e4          	mov    %ax,-0x1c(%ebp)
406734:	83 ec 10             	sub    $0x10,%esp
406737:	8b cc                	mov    %esp,%ecx
406739:	8b 55 e4             	mov    -0x1c(%ebp),%edx
40673c:	89 11                	mov    %edx,(%ecx)
40673e:	8b 45 e8             	mov    -0x18(%ebp),%eax
406741:	89 41 04             	mov    %eax,0x4(%ecx)
406744:	8b 55 ec             	mov    -0x14(%ebp),%edx
406747:	89 51 08             	mov    %edx,0x8(%ecx)
40674a:	8b 45 f0             	mov    -0x10(%ebp),%eax
40674d:	89 41 0c             	mov    %eax,0xc(%ecx)
406750:	83 ec 10             	sub    $0x10,%esp
406753:	8b cc                	mov    %esp,%ecx
406755:	8b 55 e4             	mov    -0x1c(%ebp),%edx
406758:	89 11                	mov    %edx,(%ecx)
40675a:	8b 45 e8             	mov    -0x18(%ebp),%eax
40675d:	89 41 04             	mov    %eax,0x4(%ecx)
406760:	8b 55 ec             	mov    -0x14(%ebp),%edx
406763:	89 51 08             	mov    %edx,0x8(%ecx)
406766:	8b 45 f0             	mov    -0x10(%ebp),%eax
406769:	89 41 0c             	mov    %eax,0xc(%ecx)
40676c:	83 ec 10             	sub    $0x10,%esp
40676f:	8b cc                	mov    %esp,%ecx
406771:	8b 55 e4             	mov    -0x1c(%ebp),%edx
406774:	89 11                	mov    %edx,(%ecx)
406776:	8b 45 e8             	mov    -0x18(%ebp),%eax
406779:	89 41 04             	mov    %eax,0x4(%ecx)
40677c:	8b 55 ec             	mov    -0x14(%ebp),%edx
40677f:	89 51 08             	mov    %edx,0x8(%ecx)
406782:	8b 45 f0             	mov    -0x10(%ebp),%eax
406785:	89 41 0c             	mov    %eax,0xc(%ecx)