4033e6:	52                   	push   %edx
4033e7:	e8 c4 44 00 00       	call   0x4078b0
4033ec:	83 c4 04             	add    $0x4,%esp
4033ef:	3b 45 88             	cmp    -0x78(%ebp),%eax
4033f2:	75 09                	jne    0x4033fd
4033f4:	c7 45 84 01 00 00 00 	movl   $0x1,-0x7c(%ebp)
4033fb:	eb 07                	jmp    0x403404
4033fd:	c7 45 84 00 00 00 00 	movl   $0x0,-0x7c(%ebp)
403404:	8b 45 84             	mov    -0x7c(%ebp),%eax
403407:	89 45 80             	mov    %eax,-0x80(%ebp)
40340a:	c7 45 f8 00 00 00 00 	movl   $0x0,-0x8(%ebp)
403411:	83 7d 80 00          	cmpl   $0x0,-0x80(%ebp)
403415:	74 2a                	je     0x403441
403417:	6a 00                	push   $0x0
403419:	68 02 00 00 80       	push   $0x80000002
40341e:	e8 bd 0b 00 00       	call   0x403fe0
403423:	83 c4 08             	add    $0x8,%esp
403426:	89 45 f8             	mov    %eax,-0x8(%ebp)
403429:	83 7d f8 00          	cmpl   $0x0,-0x8(%ebp)
40342d:	75 12                	jne    0x403441
40342f:	6a 00                	push   $0x0
403431:	68 01 00 00 80       	push   $0x80000001
403436:	e8 a5 0b 00 00       	call   0x403fe0
40343b:	83 c4 08             	add    $0x8,%esp
40343e:	89 45 f8             	mov    %eax,-0x8(%ebp)
403441:	c7 45 e8 02 00 00 80 	movl   $0x80000002,-0x18(%ebp)
403448:	c7 45 cc 26 00 00 00 	movl   $0x26,-0x34(%ebp)
40344f:	83 7d 80 00          	cmpl   $0x0,-0x80(%ebp)
403453:	0f 85 1e 02 00 00    	jne    0x403677
403459:	68 04 01 00 00       	push   $0x104
40345e:	e8 9d 35 00 00       	call   0x406a00
403463:	83 c4 04             	add    $0x4,%esp
403466:	89 45 c8             	mov    %eax,-0x38(%ebp)
403469:	83 7d c8 00          	cmpl   $0x0,-0x38(%ebp)
40346d:	0f 84 04 02 00 00    	je     0x403677
403473:	e8 78 15 00 00       	call   0x4049f0
403478:	50                   	push   %eax
403479:	8b 4d c8             	mov    -0x38(%ebp),%ecx
40347c:	51                   	push   %ecx
40347d:	e8 3e f1 ff ff       	call   0x4025c0
403482:	8b 50 2c             	mov    0x2c(%eax),%edx
403485:	ff d2                	call   *%edx
403487:	83 c4 08             	add    $0x8,%esp
40348a:	6a 00                	push   $0x0
40348c:	8b 45 cc             	mov    -0x34(%ebp),%eax
40348f:	50                   	push   %eax
403490:	68 98 71 41 00       	push   $0x417198
403495:	8b 4d e8             	mov    -0x18(%ebp),%ecx
403498:	51                   	push   %ecx
403499:	e8 f2 06 00 00       	call   0x403b90
40349e:	83 c4 10             	add    $0x10,%esp
4034a1:	89 45 ac             	mov    %eax,-0x54(%ebp)
4034a4:	83 7d ac 00          	cmpl   $0x0,-0x54(%ebp)
4034a8:	75 28                	jne    0x4034d2
4034aa:	c7 45 e8 01 00 00 80 	movl   $0x80000001,-0x18(%ebp)
4034b1:	c7 45 cc 1a 00 00 00 	movl   $0x1a,-0x34(%ebp)
4034b8:	6a 00                	push   $0x0
4034ba:	8b 55 cc             	mov    -0x34(%ebp),%edx
4034bd:	52                   	push   %edx
4034be:	68 98 71 41 00       	push   $0x417198
4034c3:	8b 45 e8             	mov    -0x18(%ebp),%eax
4034c6:	50                   	push   %eax
4034c7:	e8 c4 06 00 00       	call   0x403b90
4034cc:	83 c4 10             	add    $0x10,%esp
4034cf:	89 45 ac             	mov    %eax,-0x54(%ebp)
4034d2:	8b 0d a4 73 41 00    	mov    0x4173a4,%ecx
4034d8:	83 c1 44             	add    $0x44,%ecx
4034db:	51                   	push   %ecx
4034dc:	8b 15 a4 73 41 00    	mov    0x4173a4,%edx
4034e2:	83 c2 48             	add    $0x48,%edx
4034e5:	52                   	push   %edx
4034e6:	a1 a4 73 41 00       	mov    0x4173a4,%eax
4034eb:	83 c0 40             	add    $0x40,%eax
4034ee:	50                   	push   %eax
4034ef:	8b 0d a4 73 41 00    	mov    0x4173a4,%ecx
4034f5:	8b 51 3c             	mov    0x3c(%ecx),%edx
4034f8:	52                   	push   %edx
4034f9:	e8 42 45 00 00       	call   0x407a40
4034fe:	83 c4 10             	add    $0x10,%esp
403501:	85 c0                	test   %eax,%eax
403503:	0f 84 f6 00 00 00    	je     0x4035ff
403509:	a1 a4 73 41 00       	mov    0x4173a4,%eax
40350e:	8b 48 44             	mov    0x44(%eax),%ecx
403511:	83 c1 20             	add    $0x20,%ecx
403514:	8b 15 a4 73 41 00    	mov    0x4173a4,%edx
40351a:	89 4a 50             	mov    %ecx,0x50(%edx)
40351d:	a1 a4 73 41 00       	mov    0x4173a4,%eax
403522:	8b 48 50             	mov    0x50(%eax),%ecx
403525:	51                   	push   %ecx
403526:	e8 55 33 00 00       	call   0x406880
40352b:	83 c4 04             	add    $0x4,%esp
40352e:	8b 15 a4 73 41 00    	mov    0x4173a4,%edx
403534:	89 42 4c             	mov    %eax,0x4c(%edx)
403537:	a1 a4 73 41 00       	mov    0x4173a4,%eax
40353c:	83 78 4c 00          	cmpl   $0x0,0x4c(%eax)
403540:	0f 84 b9 00 00 00    	je     0x4035ff
403546:	6a 20                	push   $0x20
403548:	8b 0d a4 73 41 00    	mov    0x4173a4,%ecx
40354e:	8b 51 40             	mov    0x40(%ecx),%edx
403551:	52                   	push   %edx
403552:	a1 a4 73 41 00       	mov    0x4173a4,%eax
403557:	8b 48 4c             	mov    0x4c(%eax),%ecx
40355a:	51                   	push   %ecx
40355b:	e8 60 f0 ff ff       	call   0x4025c0
403560:	8b 50 10             	mov    0x10(%eax),%edx
403563:	ff d2                	call   *%edx
403565:	83 c4 0c             	add    $0xc,%esp
403568:	a1 a4 73 41 00       	mov    0x4173a4,%eax
40356d:	8b 48 44             	mov    0x44(%eax),%ecx
403570:	51                   	push   %ecx
403571:	8b 15 a4 73 41 00    	mov    0x4173a4,%edx
403577:	8b 42 48             	mov    0x48(%edx),%eax
40357a:	50                   	push   %eax
40357b:	8b 0d a4 73 41 00    	mov    0x4173a4,%ecx
403581:	8b 51 4c             	mov    0x4c(%ecx),%edx
403584:	83 c2 20             	add    $0x20,%edx
403587:	52                   	push   %edx
403588:	e8 33 f0 ff ff       	call   0x4025c0
40358d:	8b 40 10             	mov    0x10(%eax),%eax
403590:	ff d0                	call   *%eax
403592:	83 c4 0c             	add    $0xc,%esp
403595:	8b 0d a4 73 41 00    	mov    0x4173a4,%ecx
40359b:	8b 51 44             	mov    0x44(%ecx),%edx
40359e:	83 c2 20             	add    $0x20,%edx
4035a1:	a1 a4 73 41 00       	mov    0x4173a4,%eax
4035a6:	89 50 50             	mov    %edx,0x50(%eax)
4035a9:	83 7d ac 00          	cmpl   $0x0,-0x54(%ebp)
4035ad:	74 37                	je     0x4035e6
4035af:	6a 01                	push   $0x1
4035b1:	8b 4d e8             	mov    -0x18(%ebp),%ecx
4035b4:	51                   	push   %ecx
4035b5:	e8 26 0a 00 00       	call   0x403fe0
4035ba:	83 c4 08             	add    $0x8,%esp
4035bd:	89 45 f8             	mov    %eax,-0x8(%ebp)
4035c0:	83 7d f8 00          	cmpl   $0x0,-0x8(%ebp)
4035c4:	75 1e                	jne    0x4035e4
4035c6:	6a 01                	push   $0x1
4035c8:	8b 55 cc             	mov    -0x34(%ebp),%edx
4035cb:	52                   	push   %edx
4035cc:	68 98 71 41 00       	push   $0x417198
4035d1:	8b 45 e8             	mov    -0x18(%ebp),%eax
4035d4:	50                   	push   %eax
4035d5:	e8 b6 05 00 00       	call   0x403b90
4035da:	83 c4 10             	add    $0x10,%esp
4035dd:	c7 45 f8 01 00 00 00 	movl   $0x1,-0x8(%ebp)
4035e4:	eb 07                	jmp    0x4035ed
4035e6:	c7 45 f8 01 00 00 00 	movl   $0x1,-0x8(%ebp)
4035ed:	8b 0d a4 73 41 00    	mov    0x4173a4,%ecx
4035f3:	8b 51 4c             	mov    0x4c(%ecx),%edx
4035f6:	52                   	push   %edx
4035f7:	e8 b4 32 00 00       	call   0x4068b0
4035fc:	83 c4 04             	add    $0x4,%esp
4035ff:	a1 a4 73 41 00       	mov    0x4173a4,%eax
403604:	8b 48 20             	mov    0x20(%eax),%ecx
403607:	51                   	push   %ecx
403608:	e8 03 02 01 00       	call   0x413810
40360d:	83 c4 04             	add    $0x4,%esp
403610:	89 85 7c ff ff ff    	mov    %eax,-0x84(%ebp)
403616:	8b 15 a4 73 41 00    	mov    0x4173a4,%edx
40361c:	8b 85 7c ff ff ff    	mov    -0x84(%ebp),%eax
403622:	3b 42 10             	cmp    0x10(%edx),%eax
403625:	74 44                	je     0x40366b
403627:	6a 01                	push   $0x1
403629:	8b 8d 7c ff ff ff    	mov    -0x84(%ebp),%ecx
40362f:	51                   	push   %ecx
403630:	e8 3b 07 01 00       	call   0x413d70
403635:	83 c4 08             	add    $0x8,%esp
403638:	89 85 78 ff ff ff    	mov    %eax,-0x88(%ebp)
40363e:	83 bd 78 ff ff ff 00 	cmpl   $0x0,-0x88(%ebp)
403645:	74 13                	je     0x40365a
403647:	6a 00                	push   $0x0
403649:	8b 95 78 ff ff ff    	mov    -0x88(%ebp),%edx
40364f:	52                   	push   %edx
403650:	e8 6b ef ff ff       	call   0x4025c0
403655:	8b 40 78             	mov    0x78(%eax),%eax
403658:	ff d0                	call   *%eax
40365a:	8b 4d c8             	mov    -0x38(%ebp),%ecx
40365d:	51                   	push   %ecx
40365e:	e8 5d ef ff ff       	call   0x4025c0
403663:	8b 90 0c 01 00 00    	mov    0x10c(%eax),%edx
403669:	ff d2                	call   *%edx
40366b:	8b 45 c8             	mov    -0x38(%ebp),%eax
40366e:	50                   	push   %eax
40366f:	e8 3c 32 00 00       	call   0x4068b0
403674:	83 c4 04             	add    $0x4,%esp
403677:	83 7d f8 00          	cmpl   $0x0,-0x8(%ebp)
40367b:	0f 84 d1 04 00 00    	je     0x403b52
403681:	e8 7a 1d 00 00       	call   0x405400
403686:	8b 48 20             	mov    0x20(%eax),%ecx
403689:	33 d2                	xor    %edx,%edx
40368b:	8b 45 ec             	mov    -0x14(%ebp),%eax
40368e:	66 89 14 48          	mov    %dx,(%eax,%ecx,2)
403692:	8b 0d a4 73 41 00    	mov    0x4173a4,%ecx
403698:	8b 51 1c             	mov    0x1c(%ecx),%edx
40369b:	52                   	push   %edx
40369c:	e8 3f 36 00 00       	call   0x406ce0
4036a1:	83 c4 04             	add    $0x4,%esp
4036a4:	89 45 9c             	mov    %eax,-0x64(%ebp)
4036a7:	83 7d 9c 00          	cmpl   $0x0,-0x64(%ebp)
4036ab:	0f 84 a1 04 00 00    	je     0x403b52
4036b1:	8b 45 ec             	mov    -0x14(%ebp),%eax
4036b4:	50                   	push   %eax
4036b5:	e8 26 37 00 00       	call   0x406de0
4036ba:	83 c4 04             	add    $0x4,%esp
4036bd:	89 85 74 ff ff ff    	mov    %eax,-0x8c(%ebp)
4036c3:	83 bd 74 ff ff ff 00 	cmpl   $0x0,-0x8c(%ebp)
4036ca:	0f 84 76 04 00 00    	je     0x403b46
4036d0:	c6 45 d4 7b          	movb   $0x7b,-0x2c(%ebp)
4036d4:	c6 45 d5 69          	movb   $0x69,-0x2b(%ebp)
4036d8:	c6 45 d6 64          	movb   $0x64,-0x2a(%ebp)
4036dc:	c6 45 d7 7d          	movb   $0x7d,-0x29(%ebp)
4036e0:	c6 45 d8 00          	movb   $0x0,-0x28(%ebp)
4036e4:	c6 45 dc 7b          	movb   $0x7b,-0x24(%ebp)
4036e8:	c6 45 dd 49          	movb   $0x49,-0x23(%ebp)
4036ec:	c6 45 de 44          	movb   $0x44,-0x22(%ebp)
4036f0:	c6 45 df 7d          	movb   $0x7d,-0x21(%ebp)
4036f4:	c6 45 e0 00          	movb   $0x0,-0x20(%ebp)
4036f8:	c6 45 b8 7b          	movb   $0x7b,-0x48(%ebp)
4036fc:	c6 45 b9 6d          	movb   $0x6d,-0x47(%ebp)
403700:	c6 45 ba 61          	movb   $0x61,-0x46(%ebp)
403704:	c6 45 bb 69          	movb   $0x69,-0x45(%ebp)
403708:	c6 45 bc 6c          	movb   $0x6c,-0x44(%ebp)
40370c:	c6 45 bd 31          	movb   $0x31,-0x43(%ebp)
403710:	c6 45 be 7d          	movb   $0x7d,-0x42(%ebp)
403714:	c6 45 bf 00          	movb   $0x0,-0x41(%ebp)
403718:	c6 45 b0 7b          	movb   $0x7b,-0x50(%ebp)
40371c:	c6 45 b1 6d          	movb   $0x6d,-0x4f(%ebp)
403720:	c6 45 b2 61          	movb   $0x61,-0x4e(%ebp)
403724:	c6 45 b3 69          	movb   $0x69,-0x4d(%ebp)
403728:	c6 45 b4 6c          	movb   $0x6c,-0x4c(%ebp)
40372c:	c6 45 b5 32          	movb   $0x32,-0x4b(%ebp)
403730:	c6 45 b6 7d          	movb   $0x7d,-0x4a(%ebp)
403734:	c6 45 b7 00          	movb   $0x0,-0x49(%ebp)
403738:	c6 45 c0 7b          	movb   $0x7b,-0x40(%ebp)
40373c:	c6 45 c1 63          	movb   $0x63,-0x3f(%ebp)
403740:	c6 45 c2 6f          	movb   $0x6f,-0x3e(%ebp)
403744:	c6 45 c3 64          	movb   $0x64,-0x3d(%ebp)
403748:	c6 45 c4 65          	movb   $0x65,-0x3c(%ebp)
40374c:	c6 45 c5 7d          	movb   $0x7d,-0x3b(%ebp)
403750:	c6 45 c6 00          	movb   $0x0,-0x3a(%ebp)
403754:	6a 28                	push   $0x28
403756:	e8 25 31 00 00       	call   0x406880
40375b:	83 c4 04             	add    $0x4,%esp
40375e:	89 45 fc             	mov    %eax,-0x4(%ebp)
403761:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
403765:	0f 84 cc 03 00 00    	je     0x403b37
40376b:	b9 08 00 00 00       	mov    $0x8,%ecx
403770:	6b d1 00             	imul   $0x0,%ecx,%edx
403773:	8b 45 fc             	mov    -0x4(%ebp),%eax
403776:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
403779:	89 0c 10             	mov    %ecx,(%eax,%edx,1)
40377c:	ba 08 00 00 00       	mov    $0x8,%edx
403781:	6b c2 00             	imul   $0x0,%edx,%eax
403784:	8b 4d fc             	mov    -0x4(%ebp),%ecx
403787:	8b 15 a4 73 41 00    	mov    0x4173a4,%edx
40378d:	8b 52 1c             	mov    0x1c(%edx),%edx
403790:	89 54 01 04          	mov    %edx,0x4(%ecx,%eax,1)
403794:	b8 08 00 00 00       	mov    $0x8,%eax
403799:	c1 e0 00             	shl    $0x0,%eax
40379c:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40379f:	8d 55 dc             	lea    -0x24(%ebp),%edx
4037a2:	89 14 01             	mov    %edx,(%ecx,%eax,1)
4037a5:	b8 08 00 00 00       	mov    $0x8,%eax
4037aa:	c1 e0 00             	shl    $0x0,%eax
4037ad:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4037b0:	8b 55 9c             	mov    -0x64(%ebp),%edx
4037b3:	89 54 01 04          	mov    %edx,0x4(%ecx,%eax,1)
4037b7:	b8 08 00 00 00       	mov    $0x8,%eax
4037bc:	d1 e0                	shl    $1,%eax
4037be:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4037c1:	8d 55 b8             	lea    -0x48(%ebp),%edx
4037c4:	89 14 01             	mov    %edx,(%ecx,%eax,1)
4037c7:	e8 34 1c 00 00       	call   0x405400
4037cc:	b9 08 00 00 00       	mov    $0x8,%ecx
4037d1:	d1 e1                	shl    $1,%ecx
4037d3:	8b 55 fc             	mov    -0x4(%ebp),%edx
4037d6:	8b 40 2c             	mov    0x2c(%eax),%eax
4037d9:	89 44 0a 04          	mov    %eax,0x4(%edx,%ecx,1)
4037dd:	b9 08 00 00 00       	mov    $0x8,%ecx
4037e2:	6b d1 03             	imul   $0x3,%ecx,%edx
4037e5:	8b 45 fc             	mov    -0x4(%ebp),%eax
4037e8:	8d 4d b0             	lea    -0x50(%ebp),%ecx
4037eb:	89 0c 10             	mov    %ecx,(%eax,%edx,1)
4037ee:	e8 0d 1c 00 00       	call   0x405400
4037f3:	ba 08 00 00 00       	mov    $0x8,%edx
4037f8:	6b ca 03             	imul   $0x3,%edx,%ecx
4037fb:	8b 55 fc             	mov    -0x4(%ebp),%edx
4037fe:	8b 40 30             	mov    0x30(%eax),%eax
403801:	89 44 0a 04          	mov    %eax,0x4(%edx,%ecx,1)
403805:	c7 45 e4 00 00 00 00 	movl   $0x0,-0x1c(%ebp)
40380c:	c6 45 f4 2a          	movb   $0x2a,-0xc(%ebp)
403810:	c6 45 f5 00          	movb   $0x0,-0xb(%ebp)
403814:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
403817:	51                   	push   %ecx
403818:	8d 55 f4             	lea    -0xc(%ebp),%edx
40381b:	52                   	push   %edx
40381c:	8d 45 dc             	lea    -0x24(%ebp),%eax
40381f:	50                   	push   %eax
403820:	e8 db 1b 00 00       	call   0x405400
403825:	8b 48 28             	mov    0x28(%eax),%ecx
403828:	51                   	push   %ecx
403829:	e8 52 3a 00 00       	call   0x407280
40382e:	83 c4 10             	add    $0x10,%esp
403831:	85 c0                	test   %eax,%eax
403833:	75 1d                	jne    0x403852
403835:	8d 55 e4             	lea    -0x1c(%ebp),%edx
403838:	52                   	push   %edx
403839:	8d 45 f4             	lea    -0xc(%ebp),%eax
40383c:	50                   	push   %eax
40383d:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
403840:	51                   	push   %ecx
403841:	e8 ba 1b 00 00       	call   0x405400
403846:	8b 50 28             	mov    0x28(%eax),%edx
403849:	52                   	push   %edx
40384a:	e8 31 3a 00 00       	call   0x407280
40384f:	83 c4 10             	add    $0x10,%esp
403852:	83 7d e4 00          	cmpl   $0x0,-0x1c(%ebp)
403856:	0f 84 cf 02 00 00    	je     0x403b2b
40385c:	a1 a4 73 41 00       	mov    0x4173a4,%eax
403861:	83 c0 74             	add    $0x74,%eax
403864:	50                   	push   %eax
403865:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
403868:	51                   	push   %ecx
403869:	e8 62 3b 00 00       	call   0x4073d0
40386e:	83 c4 08             	add    $0x8,%esp
403871:	85 c0                	test   %eax,%eax
403873:	0f 84 a6 02 00 00    	je     0x403b1f
403879:	c7 45 a0 00 00 00 00 	movl   $0x0,-0x60(%ebp)
403880:	6a 04                	push   $0x4
403882:	8b 55 fc             	mov    -0x4(%ebp),%edx
403885:	52                   	push   %edx
403886:	8d 45 a0             	lea    -0x60(%ebp),%eax
403889:	50                   	push   %eax
40388a:	e8 71 1b 00 00       	call   0x405400
40388f:	8b 48 24             	mov    0x24(%eax),%ecx
403892:	51                   	push   %ecx
403893:	e8 48 f2 ff ff       	call   0x402ae0
403898:	83 c4 10             	add    $0x10,%esp
40389b:	85 c0                	test   %eax,%eax
40389d:	0f 84 7c 02 00 00    	je     0x403b1f
4038a3:	8b 15 a4 73 41 00    	mov    0x4173a4,%edx
4038a9:	83 c2 58             	add    $0x58,%edx
4038ac:	52                   	push   %edx
4038ad:	8b 45 a0             	mov    -0x60(%ebp),%eax
4038b0:	50                   	push   %eax
4038b1:	e8 1a 3b 00 00       	call   0x4073d0
4038b6:	83 c4 08             	add    $0x8,%esp
4038b9:	85 c0                	test   %eax,%eax
4038bb:	0f 84 52 02 00 00    	je     0x403b13
4038c1:	8b 0d a4 73 41 00    	mov    0x4173a4,%ecx