409597:	74 03                	je     0x40959c
409599:	50                   	push   %eax
40959a:	ff d7                	call   *%edi
40959c:	8b 86 b8 00 00 00    	mov    0xb8(%esi),%eax
4095a2:	85 c0                	test   %eax,%eax
4095a4:	74 03                	je     0x4095a9
4095a6:	50                   	push   %eax
4095a7:	ff d7                	call   *%edi
4095a9:	8b 86 b4 00 00 00    	mov    0xb4(%esi),%eax
4095af:	85 c0                	test   %eax,%eax
4095b1:	74 03                	je     0x4095b6
4095b3:	50                   	push   %eax
4095b4:	ff d7                	call   *%edi
4095b6:	8b 86 c0 00 00 00    	mov    0xc0(%esi),%eax
4095bc:	85 c0                	test   %eax,%eax
4095be:	74 03                	je     0x4095c3
4095c0:	50                   	push   %eax
4095c1:	ff d7                	call   *%edi
4095c3:	6a 06                	push   $0x6
4095c5:	8d 5e 50             	lea    0x50(%esi),%ebx
4095c8:	5d                   	pop    %ebp
4095c9:	81 7b f8 40 d1 41 00 	cmpl   $0x41d140,-0x8(%ebx)
4095d0:	74 09                	je     0x4095db
4095d2:	8b 03                	mov    (%ebx),%eax
4095d4:	85 c0                	test   %eax,%eax
4095d6:	74 03                	je     0x4095db
4095d8:	50                   	push   %eax
4095d9:	ff d7                	call   *%edi
4095db:	83 7b fc 00          	cmpl   $0x0,-0x4(%ebx)
4095df:	74 0a                	je     0x4095eb
4095e1:	8b 43 04             	mov    0x4(%ebx),%eax
4095e4:	85 c0                	test   %eax,%eax
4095e6:	74 03                	je     0x4095eb
4095e8:	50                   	push   %eax
4095e9:	ff d7                	call   *%edi
4095eb:	83 c3 10             	add    $0x10,%ebx
4095ee:	4d                   	dec    %ebp
4095ef:	75 d8                	jne    0x4095c9
4095f1:	8b 86 d4 00 00 00    	mov    0xd4(%esi),%eax
4095f7:	05 b4 00 00 00       	add    $0xb4,%eax
4095fc:	50                   	push   %eax
4095fd:	ff d7                	call   *%edi
4095ff:	5f                   	pop    %edi
409600:	5e                   	pop    %esi
409601:	5d                   	pop    %ebp
409602:	5b                   	pop    %ebx
409603:	c3                   	ret
409604:	56                   	push   %esi
409605:	8b 74 24 08          	mov    0x8(%esp),%esi
409609:	85 f6                	test   %esi,%esi
40960b:	74 7f                	je     0x40968c
40960d:	53                   	push   %ebx
40960e:	55                   	push   %ebp
40960f:	57                   	push   %edi
409610:	8b 3d 98 70 41 00    	mov    0x417098,%edi
409616:	56                   	push   %esi
409617:	ff d7                	call   *%edi
409619:	8b 86 b0 00 00 00    	mov    0xb0(%esi),%eax
40961f:	85 c0                	test   %eax,%eax
409621:	74 03                	je     0x409626
409623:	50                   	push   %eax
409624:	ff d7                	call   *%edi
409626:	8b 86 b8 00 00 00    	mov    0xb8(%esi),%eax
40962c:	85 c0                	test   %eax,%eax
40962e:	74 03                	je     0x409633
409630:	50                   	push   %eax
409631:	ff d7                	call   *%edi
409633:	8b 86 b4 00 00 00    	mov    0xb4(%esi),%eax
409639:	85 c0                	test   %eax,%eax
40963b:	74 03                	je     0x409640
40963d:	50                   	push   %eax
40963e:	ff d7                	call   *%edi
409640:	8b 86 c0 00 00 00    	mov    0xc0(%esi),%eax
409646:	85 c0                	test   %eax,%eax
409648:	74 03                	je     0x40964d
40964a:	50                   	push   %eax
40964b:	ff d7                	call   *%edi
40964d:	6a 06                	push   $0x6
40964f:	8d 5e 50             	lea    0x50(%esi),%ebx
409652:	5d                   	pop    %ebp
409653:	81 7b f8 40 d1 41 00 	cmpl   $0x41d140,-0x8(%ebx)
40965a:	74 09                	je     0x409665
40965c:	8b 03                	mov    (%ebx),%eax
40965e:	85 c0                	test   %eax,%eax
409660:	74 03                	je     0x409665
409662:	50                   	push   %eax
409663:	ff d7                	call   *%edi
409665:	83 7b fc 00          	cmpl   $0x0,-0x4(%ebx)
409669:	74 0a                	je     0x409675
40966b:	8b 43 04             	mov    0x4(%ebx),%eax
40966e:	85 c0                	test   %eax,%eax
409670:	74 03                	je     0x409675
409672:	50                   	push   %eax
409673:	ff d7                	call   *%edi
409675:	83 c3 10             	add    $0x10,%ebx
409678:	4d                   	dec    %ebp
409679:	75 d8                	jne    0x409653
40967b:	8b 86 d4 00 00 00    	mov    0xd4(%esi),%eax
409681:	05 b4 00 00 00       	add    $0xb4,%eax
409686:	50                   	push   %eax
409687:	ff d7                	call   *%edi
409689:	5f                   	pop    %edi
40968a:	5d                   	pop    %ebp
40968b:	5b                   	pop    %ebx
40968c:	8b c6                	mov    %esi,%eax
40968e:	5e                   	pop    %esi
40968f:	c3                   	ret
409690:	56                   	push   %esi
409691:	8b f1                	mov    %ecx,%esi
409693:	85 f6                	test   %esi,%esi
409695:	74 1b                	je     0x4096b2
409697:	85 c0                	test   %eax,%eax
409699:	74 17                	je     0x4096b2
40969b:	3b c6                	cmp    %esi,%eax
40969d:	74 13                	je     0x4096b2
40969f:	57                   	push   %edi
4096a0:	6a 36                	push   $0x36
4096a2:	59                   	pop    %ecx
4096a3:	8b f8                	mov    %eax,%edi
4096a5:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
4096a7:	83 20 00             	andl   $0x0,(%eax)
4096aa:	50                   	push   %eax
4096ab:	e8 ce fe ff ff       	call   0x40957e
4096b0:	59                   	pop    %ecx
4096b1:	5f                   	pop    %edi
4096b2:	5e                   	pop    %esi
4096b3:	c3                   	ret
4096b4:	85 ff                	test   %edi,%edi
4096b6:	74 37                	je     0x4096ef
4096b8:	85 c0                	test   %eax,%eax
4096ba:	74 33                	je     0x4096ef
4096bc:	56                   	push   %esi
4096bd:	8b 30                	mov    (%eax),%esi
4096bf:	3b f7                	cmp    %edi,%esi
4096c1:	74 28                	je     0x4096eb
4096c3:	57                   	push   %edi
4096c4:	89 38                	mov    %edi,(%eax)
4096c6:	e8 b3 fe ff ff       	call   0x40957e
4096cb:	85 f6                	test   %esi,%esi
4096cd:	59                   	pop    %ecx
4096ce:	74 1b                	je     0x4096eb
4096d0:	56                   	push   %esi
4096d1:	e8 2e ff ff ff       	call   0x409604
4096d6:	83 3e 00             	cmpl   $0x0,(%esi)
4096d9:	59                   	pop    %ecx
4096da:	75 0f                	jne    0x4096eb
4096dc:	81 fe 48 d1 41 00    	cmp    $0x41d148,%esi
4096e2:	74 07                	je     0x4096eb
4096e4:	56                   	push   %esi
4096e5:	e8 54 fd ff ff       	call   0x40943e
4096ea:	59                   	pop    %ecx
4096eb:	8b c7                	mov    %edi,%eax
4096ed:	5e                   	pop    %esi
4096ee:	c3                   	ret
4096ef:	33 c0                	xor    %eax,%eax
4096f1:	c3                   	ret
4096f2:	6a 0c                	push   $0xc
4096f4:	68 58 ab 41 00       	push   $0x41ab58
4096f9:	e8 4a 3f 00 00       	call   0x40d648
4096fe:	e8 49 2e 00 00       	call   0x40c54c
409703:	8b f0                	mov    %eax,%esi
409705:	a1 38 d1 41 00       	mov    0x41d138,%eax
40970a:	85 46 70             	test   %eax,0x70(%esi)
40970d:	74 22                	je     0x409731
40970f:	83 7e 6c 00          	cmpl   $0x0,0x6c(%esi)
409713:	74 1c                	je     0x409731
409715:	e8 32 2e 00 00       	call   0x40c54c
40971a:	8b 70 6c             	mov    0x6c(%eax),%esi
40971d:	85 f6                	test   %esi,%esi
40971f:	75 08                	jne    0x409729
409721:	6a 20                	push   $0x20
409723:	e8 1e 41 00 00       	call   0x40d846
409728:	59                   	pop    %ecx
409729:	8b c6                	mov    %esi,%eax
40972b:	e8 5d 3f 00 00       	call   0x40d68d
409730:	c3                   	ret
409731:	6a 0c                	push   $0xc
409733:	e8 df 33 00 00       	call   0x40cb17
409738:	59                   	pop    %ecx
409739:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
40973d:	8d 46 6c             	lea    0x6c(%esi),%eax
409740:	8b 3d 20 d2 41 00    	mov    0x41d220,%edi
409746:	e8 69 ff ff ff       	call   0x4096b4
40974b:	89 45 e4             	mov    %eax,-0x1c(%ebp)
40974e:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
409755:	e8 02 00 00 00       	call   0x40975c
40975a:	eb c1                	jmp    0x40971d
40975c:	6a 0c                	push   $0xc
40975e:	e8 dc 32 00 00       	call   0x40ca3f
409763:	59                   	pop    %ecx
409764:	8b 75 e4             	mov    -0x1c(%ebp),%esi
409767:	c3                   	ret
409768:	a1 20 d2 41 00       	mov    0x41d220,%eax
40976d:	8b 48 04             	mov    0x4(%eax),%ecx
409770:	89 0d 58 e3 41 00    	mov    %ecx,0x41e358
409776:	8b 48 08             	mov    0x8(%eax),%ecx
409779:	89 0d 5c e3 41 00    	mov    %ecx,0x41e35c
40977f:	8b 88 a8 00 00 00    	mov    0xa8(%eax),%ecx
409785:	89 0d 24 d2 41 00    	mov    %ecx,0x41d224
40978b:	8b 88 d4 00 00 00    	mov    0xd4(%eax),%ecx
409791:	89 0d e8 d2 41 00    	mov    %ecx,0x41d2e8
409797:	8b 88 bc 00 00 00    	mov    0xbc(%eax),%ecx
40979d:	89 0d 20 d3 41 00    	mov    %ecx,0x41d320
4097a3:	8b 88 c8 00 00 00    	mov    0xc8(%eax),%ecx
4097a9:	89 0d e8 c7 41 00    	mov    %ecx,0x41c7e8
4097af:	8b 80 ac 00 00 00    	mov    0xac(%eax),%eax
4097b5:	a3 24 d3 41 00       	mov    %eax,0x41d324
4097ba:	c3                   	ret
4097bb:	6a 08                	push   $0x8
4097bd:	68 78 ab 41 00       	push   $0x41ab78
4097c2:	e8 81 3e 00 00       	call   0x40d648
4097c7:	8b 75 08             	mov    0x8(%ebp),%esi
4097ca:	33 ff                	xor    %edi,%edi
4097cc:	3b f7                	cmp    %edi,%esi
4097ce:	74 6f                	je     0x40983f
4097d0:	8b 46 04             	mov    0x4(%esi),%eax
4097d3:	3b c7                	cmp    %edi,%eax
4097d5:	74 1c                	je     0x4097f3
4097d7:	50                   	push   %eax
4097d8:	ff 15 98 70 41 00    	call   *0x417098
4097de:	85 c0                	test   %eax,%eax
4097e0:	75 11                	jne    0x4097f3
4097e2:	8b 46 04             	mov    0x4(%esi),%eax
4097e5:	3d 18 cc 41 00       	cmp    $0x41cc18,%eax
4097ea:	74 07                	je     0x4097f3
4097ec:	50                   	push   %eax
4097ed:	e8 61 cc ff ff       	call   0x406453
4097f2:	59                   	pop    %ecx
4097f3:	39 3e                	cmp    %edi,(%esi)
4097f5:	74 37                	je     0x40982e
4097f7:	6a 0c                	push   $0xc
4097f9:	e8 19 33 00 00       	call   0x40cb17
4097fe:	59                   	pop    %ecx
4097ff:	89 7d fc             	mov    %edi,-0x4(%ebp)
409802:	ff 36                	push   (%esi)
409804:	e8 fb fd ff ff       	call   0x409604
409809:	59                   	pop    %ecx
40980a:	8b 06                	mov    (%esi),%eax
40980c:	3b c7                	cmp    %edi,%eax
40980e:	74 12                	je     0x409822
409810:	39 38                	cmp    %edi,(%eax)
409812:	75 0e                	jne    0x409822
409814:	3d 48 d1 41 00       	cmp    $0x41d148,%eax
409819:	74 07                	je     0x409822
40981b:	50                   	push   %eax
40981c:	e8 1d fc ff ff       	call   0x40943e
409821:	59                   	pop    %ecx
409822:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
409829:	e8 1a 00 00 00       	call   0x409848
40982e:	b8 0d f0 ad ba       	mov    $0xbaadf00d,%eax
409833:	89 06                	mov    %eax,(%esi)
409835:	89 46 04             	mov    %eax,0x4(%esi)
409838:	56                   	push   %esi
409839:	e8 15 cc ff ff       	call   0x406453
40983e:	59                   	pop    %ecx
40983f:	e8 49 3e 00 00       	call   0x40d68d
409844:	c3                   	ret
409845:	8b 75 08             	mov    0x8(%ebp),%esi
409848:	6a 0c                	push   $0xc
40984a:	e8 f0 31 00 00       	call   0x40ca3f
40984f:	59                   	pop    %ecx
409850:	c3                   	ret
409851:	53                   	push   %ebx
409852:	57                   	push   %edi
409853:	8b 7c 24 14          	mov    0x14(%esp),%edi
409857:	33 db                	xor    %ebx,%ebx
409859:	3b fb                	cmp    %ebx,%edi
40985b:	7e 2f                	jle    0x40988c
40985d:	56                   	push   %esi
40985e:	8d 74 24 18          	lea    0x18(%esp),%esi
409862:	83 c6 04             	add    $0x4,%esi
409865:	ff 36                	push   (%esi)
409867:	ff 74 24 18          	push   0x18(%esp)
40986b:	ff 74 24 18          	push   0x18(%esp)
40986f:	e8 c4 80 00 00       	call   0x411938
409874:	83 c4 0c             	add    $0xc,%esp
409877:	85 c0                	test   %eax,%eax
409879:	74 0d                	je     0x409888
40987b:	53                   	push   %ebx
40987c:	53                   	push   %ebx
40987d:	53                   	push   %ebx
40987e:	53                   	push   %ebx
40987f:	53                   	push   %ebx
409880:	e8 cf dc ff ff       	call   0x407554
409885:	83 c4 14             	add    $0x14,%esp
409888:	4f                   	dec    %edi
409889:	75 d7                	jne    0x409862
40988b:	5e                   	pop    %esi
40988c:	5f                   	pop    %edi
40988d:	5b                   	pop    %ebx
40988e:	c3                   	ret
40988f:	55                   	push   %ebp
409890:	8b ec                	mov    %esp,%ebp
409892:	53                   	push   %ebx
409893:	56                   	push   %esi
409894:	57                   	push   %edi
409895:	8b 7d 08             	mov    0x8(%ebp),%edi
409898:	68 90 00 00 00       	push   $0x90
40989d:	33 db                	xor    %ebx,%ebx
40989f:	53                   	push   %ebx
4098a0:	57                   	push   %edi
4098a1:	e8 aa c2 ff ff       	call   0x405b50
4098a6:	8b 75 0c             	mov    0xc(%ebp),%esi
4098a9:	8a 06                	mov    (%esi),%al
4098ab:	83 c4 0c             	add    $0xc,%esp
4098ae:	84 c0                	test   %al,%al
4098b0:	75 07                	jne    0x4098b9
4098b2:	33 c0                	xor    %eax,%eax
4098b4:	e9 fa 00 00 00       	jmp    0x4099b3
4098b9:	3c 2e                	cmp    $0x2e,%al
4098bb:	75 34                	jne    0x4098f1
4098bd:	8d 46 01             	lea    0x1(%esi),%eax
4098c0:	38 18                	cmp    %bl,(%eax)
4098c2:	74 2d                	je     0x4098f1
4098c4:	6a 0f                	push   $0xf
4098c6:	50                   	push   %eax
4098c7:	8d 87 80 00 00 00    	lea    0x80(%edi),%eax
4098cd:	6a 10                	push   $0x10
4098cf:	50                   	push   %eax
4098d0:	e8 21 81 00 00       	call   0x4119f6
4098d5:	83 c4 10             	add    $0x10,%esp
4098d8:	85 c0                	test   %eax,%eax
4098da:	74 0d                	je     0x4098e9
4098dc:	53                   	push   %ebx
4098dd:	53                   	push   %ebx
4098de:	53                   	push   %ebx
4098df:	53                   	push   %ebx
4098e0:	53                   	push   %ebx
4098e1:	e8 6e dc ff ff       	call   0x407554
4098e6:	83 c4 14             	add    $0x14,%esp
4098e9:	88 9f 8f 00 00 00    	mov    %bl,0x8f(%edi)
4098ef:	eb c1                	jmp    0x4098b2
4098f1:	68 a0 7f 41 00       	push   $0x417fa0
4098f6:	56                   	push   %esi
4098f7:	89 5d 0c             	mov    %ebx,0xc(%ebp)
4098fa:	e8 b1 80 00 00       	call   0x4119b0
4098ff:	3b c3                	cmp    %ebx,%eax
409901:	e9 a2 00 00 00       	jmp    0x4099a8
409906:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
40990a:	8d 3c 30             	lea    (%eax,%esi,1),%edi
40990d:	8a 1f                	mov    (%edi),%bl
40990f:	75 1b                	jne    0x40992c
409911:	83 f8 40             	cmp    $0x40,%eax
409914:	0f 83 96 00 00 00    	jae    0x4099b0
40991a:	80 fb 2e             	cmp    $0x2e,%bl
40991d:	0f 84 8d 00 00 00    	je     0x4099b0
409923:	50                   	push   %eax
409924:	56                   	push   %esi
409925:	6a 40                	push   $0x40
409927:	ff 75 08             	push   0x8(%ebp)