4095e0:	57                   	push   %edi
4095e1:	8b 7d 08             	mov    0x8(%ebp),%edi
4095e4:	80 7e 24 00          	cmpb   $0x0,0x24(%esi)
4095e8:	74 0b                	je     0x4095f5
4095ea:	8d 46 04             	lea    0x4(%esi),%eax
4095ed:	8b cf                	mov    %edi,%ecx
4095ef:	50                   	push   %eax
4095f0:	e8 24 f2 ff ff       	call   0x408819
4095f5:	80 7e 48 00          	cmpb   $0x0,0x48(%esi)
4095f9:	74 0c                	je     0x409607
4095fb:	8d 46 28             	lea    0x28(%esi),%eax
4095fe:	50                   	push   %eax
4095ff:	8d 4f 24             	lea    0x24(%edi),%ecx
409602:	e8 12 f2 ff ff       	call   0x408819
409607:	80 7e 6c 00          	cmpb   $0x0,0x6c(%esi)
40960b:	74 0c                	je     0x409619
40960d:	8d 46 4c             	lea    0x4c(%esi),%eax
409610:	50                   	push   %eax
409611:	8d 4f 48             	lea    0x48(%edi),%ecx
409614:	e8 00 f2 ff ff       	call   0x408819
409619:	5f                   	pop    %edi
40961a:	5e                   	pop    %esi
40961b:	5d                   	pop    %ebp
40961c:	c2 04 00             	ret    $0x4
40961f:	8b ff                	mov    %edi,%edi
409621:	56                   	push   %esi
409622:	8b f1                	mov    %ecx,%esi
409624:	8d 4e 64             	lea    0x64(%esi),%ecx
409627:	e8 19 0d 00 00       	call   0x40a345
40962c:	8d 4e 40             	lea    0x40(%esi),%ecx
40962f:	e8 11 0d 00 00       	call   0x40a345
409634:	8d 4e 1c             	lea    0x1c(%esi),%ecx
409637:	5e                   	pop    %esi
409638:	e9 08 0d 00 00       	jmp    0x40a345
40963d:	8b ff                	mov    %edi,%edi
40963f:	53                   	push   %ebx
409640:	56                   	push   %esi
409641:	57                   	push   %edi
409642:	8b f9                	mov    %ecx,%edi
409644:	6a 00                	push   $0x0
409646:	8d 5f 18             	lea    0x18(%edi),%ebx
409649:	c6 07 00             	movb   $0x0,(%edi)
40964c:	8b cb                	mov    %ebx,%ecx
40964e:	e8 59 0d 00 00       	call   0x40a3ac
409653:	8d 4f 1c             	lea    0x1c(%edi),%ecx
409656:	6a 00                	push   $0x0
409658:	e8 4f 0d 00 00       	call   0x40a3ac
40965d:	8d 8f 90 00 00 00    	lea    0x90(%edi),%ecx
409663:	e8 dd 0c 00 00       	call   0x40a345
409668:	8d 77 5c             	lea    0x5c(%edi),%esi
40966b:	8d 4e 24             	lea    0x24(%esi),%ecx
40966e:	e8 d2 0c 00 00       	call   0x40a345
409673:	56                   	push   %esi
409674:	ff 15 74 60 42 00    	call   *0x426074
40967a:	8d 77 34             	lea    0x34(%edi),%esi
40967d:	8d 4e 24             	lea    0x24(%esi),%ecx
409680:	e8 c0 0c 00 00       	call   0x40a345
409685:	56                   	push   %esi
409686:	ff 15 74 60 42 00    	call   *0x426074
40968c:	83 7f 30 00          	cmpl   $0x0,0x30(%edi)
409690:	74 08                	je     0x40969a
409692:	ff 77 30             	push   0x30(%edi)
409695:	e8 65 04 00 00       	call   0x409aff
40969a:	83 7f 2c 00          	cmpl   $0x0,0x2c(%edi)
40969e:	74 08                	je     0x4096a8
4096a0:	ff 77 2c             	push   0x2c(%edi)
4096a3:	e8 c1 ee ff ff       	call   0x408569
4096a8:	83 7f 28 00          	cmpl   $0x0,0x28(%edi)
4096ac:	74 08                	je     0x4096b6
4096ae:	ff 77 28             	push   0x28(%edi)
4096b1:	e8 74 ee ff ff       	call   0x40852a
4096b6:	83 7f 24 00          	cmpl   $0x0,0x24(%edi)
4096ba:	74 08                	je     0x4096c4
4096bc:	ff 77 24             	push   0x24(%edi)
4096bf:	e8 66 ee ff ff       	call   0x40852a
4096c4:	83 7f 1c 00          	cmpl   $0x0,0x1c(%edi)
4096c8:	74 08                	je     0x4096d2
4096ca:	ff 77 1c             	push   0x1c(%edi)
4096cd:	e8 15 14 00 00       	call   0x40aae7
4096d2:	83 3b 00             	cmpl   $0x0,(%ebx)
4096d5:	74 07                	je     0x4096de
4096d7:	ff 33                	push   (%ebx)
4096d9:	e8 09 14 00 00       	call   0x40aae7
4096de:	8b 4f 08             	mov    0x8(%edi),%ecx
4096e1:	5f                   	pop    %edi
4096e2:	5e                   	pop    %esi
4096e3:	5b                   	pop    %ebx
4096e4:	85 c9                	test   %ecx,%ecx
4096e6:	0f 85 ab 0e 00 00    	jne    0x40a597
4096ec:	c3                   	ret
4096ed:	8b ff                	mov    %edi,%edi
4096ef:	55                   	push   %ebp
4096f0:	8b ec                	mov    %esp,%ebp
4096f2:	56                   	push   %esi
4096f3:	8b f1                	mov    %ecx,%esi
4096f5:	80 3e 00             	cmpb   $0x0,(%esi)
4096f8:	74 45                	je     0x40973f
4096fa:	e8 7a 01 00 00       	call   0x409879
4096ff:	84 c0                	test   %al,%al
409701:	74 3c                	je     0x40973f
409703:	ff 75 10             	push   0x10(%ebp)
409706:	8b 4e 0c             	mov    0xc(%esi),%ecx
409709:	ff 75 0c             	push   0xc(%ebp)
40970c:	ff 75 08             	push   0x8(%ebp)
40970f:	e8 d8 fd ff ff       	call   0x4094ec
409714:	84 c0                	test   %al,%al
409716:	74 27                	je     0x40973f
409718:	e8 01 d4 ff ff       	call   0x406b1e
40971d:	84 c0                	test   %al,%al
40971f:	75 1e                	jne    0x40973f
409721:	57                   	push   %edi
409722:	8d 7e 10             	lea    0x10(%esi),%edi
409725:	57                   	push   %edi
409726:	ff 15 60 61 42 00    	call   *0x426160
40972c:	8b ce                	mov    %esi,%ecx
40972e:	e8 b6 01 00 00       	call   0x4098e9
409733:	85 ff                	test   %edi,%edi
409735:	74 07                	je     0x40973e
409737:	57                   	push   %edi
409738:	ff 15 6c 61 42 00    	call   *0x42616c
40973e:	5f                   	pop    %edi
40973f:	5e                   	pop    %esi
409740:	5d                   	pop    %ebp
409741:	c2 0c 00             	ret    $0xc
409744:	8b ff                	mov    %edi,%edi
409746:	55                   	push   %ebp
409747:	8b ec                	mov    %esp,%ebp
409749:	51                   	push   %ecx
40974a:	56                   	push   %esi
40974b:	57                   	push   %edi
40974c:	8b 7d 08             	mov    0x8(%ebp),%edi
40974f:	8b f1                	mov    %ecx,%esi
409751:	83 27 00             	andl   $0x0,(%edi)
409754:	80 3e 00             	cmpb   $0x0,(%esi)
409757:	74 74                	je     0x4097cd
409759:	e8 1b 01 00 00       	call   0x409879
40975e:	84 c0                	test   %al,%al
409760:	74 6b                	je     0x4097cd
409762:	53                   	push   %ebx
409763:	8d 5e 10             	lea    0x10(%esi),%ebx
409766:	53                   	push   %ebx
409767:	ff 15 60 61 42 00    	call   *0x426160
40976d:	83 7e 30 00          	cmpl   $0x0,0x30(%esi)
409771:	75 33                	jne    0x4097a6
409773:	8b 46 0c             	mov    0xc(%esi),%eax
409776:	89 45 fc             	mov    %eax,-0x4(%ebp)
409779:	85 c0                	test   %eax,%eax
40977b:	74 29                	je     0x4097a6
40977d:	83 66 30 00          	andl   $0x0,0x30(%esi)
409781:	50                   	push   %eax
409782:	ff 15 60 61 42 00    	call   *0x426160
409788:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40978b:	8d 46 30             	lea    0x30(%esi),%eax
40978e:	56                   	push   %esi
40978f:	68 c0 9a 40 00       	push   $0x409ac0
409794:	50                   	push   %eax
409795:	83 c1 70             	add    $0x70,%ecx
409798:	e8 31 fb ff ff       	call   0x4092ce
40979d:	ff 75 fc             	push   -0x4(%ebp)
4097a0:	ff 15 6c 61 42 00    	call   *0x42616c
4097a6:	6a 00                	push   $0x0
4097a8:	ff 75 0c             	push   0xc(%ebp)
4097ab:	8d 4e 5c             	lea    0x5c(%esi),%ecx
4097ae:	57                   	push   %edi
4097af:	e8 1a fb ff ff       	call   0x4092ce
4097b4:	8b 07                	mov    (%edi),%eax
4097b6:	85 c0                	test   %eax,%eax
4097b8:	74 07                	je     0x4097c1
4097ba:	0d 00 00 00 80       	or     $0x80000000,%eax
4097bf:	89 07                	mov    %eax,(%edi)
4097c1:	85 db                	test   %ebx,%ebx
4097c3:	74 07                	je     0x4097cc
4097c5:	53                   	push   %ebx
4097c6:	ff 15 6c 61 42 00    	call   *0x42616c
4097cc:	5b                   	pop    %ebx
4097cd:	5f                   	pop    %edi
4097ce:	5e                   	pop    %esi
4097cf:	c9                   	leave
4097d0:	c2 08 00             	ret    $0x8
4097d3:	8b ff                	mov    %edi,%edi
4097d5:	55                   	push   %ebp
4097d6:	8b ec                	mov    %esp,%ebp
4097d8:	83 ec 10             	sub    $0x10,%esp
4097db:	56                   	push   %esi
4097dc:	8b f1                	mov    %ecx,%esi
4097de:	80 3e 00             	cmpb   $0x0,(%esi)
4097e1:	0f 84 8d 00 00 00    	je     0x409874
4097e7:	e8 32 d3 ff ff       	call   0x406b1e
4097ec:	84 c0                	test   %al,%al
4097ee:	0f 85 80 00 00 00    	jne    0x409874
4097f4:	53                   	push   %ebx
4097f5:	57                   	push   %edi
4097f6:	8d 5e 14             	lea    0x14(%esi),%ebx
4097f9:	53                   	push   %ebx
4097fa:	ff 15 60 61 42 00    	call   *0x426160
409800:	33 c0                	xor    %eax,%eax
409802:	8d 8e 84 00 00 00    	lea    0x84(%esi),%ecx
409808:	66 89 45 f6          	mov    %ax,-0xa(%ebp)
40980c:	8b 45 08             	mov    0x8(%ebp),%eax
40980f:	89 45 f0             	mov    %eax,-0x10(%ebp)
409812:	66 8b 45 0c          	mov    0xc(%ebp),%ax
409816:	66 89 45 f4          	mov    %ax,-0xc(%ebp)
40981a:	8b 45 10             	mov    0x10(%ebp),%eax
40981d:	89 45 f8             	mov    %eax,-0x8(%ebp)
409820:	8d 45 f0             	lea    -0x10(%ebp),%eax
409823:	6a 0c                	push   $0xc
409825:	50                   	push   %eax
409826:	e8 4e eb ff ff       	call   0x408379
40982b:	8d 46 20             	lea    0x20(%esi),%eax
40982e:	80 38 00             	cmpb   $0x0,(%eax)
409831:	8d 7e 1c             	lea    0x1c(%esi),%edi
409834:	89 45 fc             	mov    %eax,-0x4(%ebp)
409837:	75 2e                	jne    0x409867
409839:	83 3f 00             	cmpl   $0x0,(%edi)
40983c:	75 19                	jne    0x409857
40983e:	6a 00                	push   $0x0
409840:	56                   	push   %esi
409841:	68 e0 ac 40 00       	push   $0x40ace0
409846:	ff 15 48 61 42 00    	call   *0x426148
40984c:	50                   	push   %eax
40984d:	8b cf                	mov    %edi,%ecx
40984f:	e8 58 0b 00 00       	call   0x40a3ac
409854:	8b 45 fc             	mov    -0x4(%ebp),%eax
409857:	6a 00                	push   $0x0
409859:	68 88 13 00 00       	push   $0x1388
40985e:	8b d0                	mov    %eax,%edx
409860:	8b cf                	mov    %edi,%ecx
409862:	e8 33 ea ff ff       	call   0x40829a
409867:	85 db                	test   %ebx,%ebx
409869:	74 07                	je     0x409872
40986b:	53                   	push   %ebx
40986c:	ff 15 6c 61 42 00    	call   *0x42616c
409872:	5f                   	pop    %edi
409873:	5b                   	pop    %ebx
409874:	5e                   	pop    %esi
409875:	c9                   	leave
409876:	c2 0c 00             	ret    $0xc
409879:	8b ff                	mov    %edi,%edi
40987b:	55                   	push   %ebp
40987c:	8b ec                	mov    %esp,%ebp
40987e:	51                   	push   %ecx
40987f:	56                   	push   %esi
409880:	8b f1                	mov    %ecx,%esi
409882:	8b 46 0c             	mov    0xc(%esi),%eax
409885:	85 c0                	test   %eax,%eax
409887:	75 5a                	jne    0x4098e3
409889:	53                   	push   %ebx
40988a:	57                   	push   %edi
40988b:	33 ff                	xor    %edi,%edi
40988d:	39 7e 08             	cmp    %edi,0x8(%esi)
409890:	75 1d                	jne    0x4098af
409892:	8b 4e 04             	mov    0x4(%esi),%ecx
409895:	8d 55 fc             	lea    -0x4(%ebp),%edx
409898:	89 7d fc             	mov    %edi,-0x4(%ebp)
40989b:	e8 ca 0b 00 00       	call   0x40a46a
4098a0:	85 c0                	test   %eax,%eax
4098a2:	78 0b                	js     0x4098af
4098a4:	39 7e 08             	cmp    %edi,0x8(%esi)
4098a7:	75 06                	jne    0x4098af
4098a9:	8b 45 fc             	mov    -0x4(%ebp),%eax
4098ac:	89 46 08             	mov    %eax,0x8(%esi)
4098af:	8b 7e 08             	mov    0x8(%esi),%edi
4098b2:	8d 5e 10             	lea    0x10(%esi),%ebx
4098b5:	53                   	push   %ebx
4098b6:	8d 47 10             	lea    0x10(%edi),%eax
4098b9:	f7 df                	neg    %edi
4098bb:	1b ff                	sbb    %edi,%edi
4098bd:	23 f8                	and    %eax,%edi
4098bf:	ff 15 60 61 42 00    	call   *0x426160
4098c5:	8b 46 0c             	mov    0xc(%esi),%eax
4098c8:	85 c0                	test   %eax,%eax
4098ca:	75 05                	jne    0x4098d1
4098cc:	89 7e 0c             	mov    %edi,0xc(%esi)
4098cf:	8b c7                	mov    %edi,%eax
4098d1:	85 db                	test   %ebx,%ebx
4098d3:	74 0a                	je     0x4098df
4098d5:	53                   	push   %ebx
4098d6:	ff 15 6c 61 42 00    	call   *0x42616c
4098dc:	8b 46 0c             	mov    0xc(%esi),%eax
4098df:	5f                   	pop    %edi
4098e0:	5b                   	pop    %ebx
4098e1:	85 c0                	test   %eax,%eax
4098e3:	0f 95 c0             	setne  %al
4098e6:	5e                   	pop    %esi
4098e7:	c9                   	leave
4098e8:	c3                   	ret
4098e9:	8b ff                	mov    %edi,%edi
4098eb:	56                   	push   %esi
4098ec:	57                   	push   %edi
4098ed:	8d 79 21             	lea    0x21(%ecx),%edi
4098f0:	80 3f 00             	cmpb   $0x0,(%edi)
4098f3:	8d 71 18             	lea    0x18(%ecx),%esi
4098f6:	75 2b                	jne    0x409923
4098f8:	83 3e 00             	cmpl   $0x0,(%esi)
4098fb:	75 16                	jne    0x409913
4098fd:	6a 00                	push   $0x0
4098ff:	51                   	push   %ecx
409900:	68 a0 ac 40 00       	push   $0x40aca0
409905:	ff 15 48 61 42 00    	call   *0x426148
40990b:	50                   	push   %eax
40990c:	8b ce                	mov    %esi,%ecx
40990e:	e8 99 0a 00 00       	call   0x40a3ac
409913:	6a 00                	push   $0x0
409915:	68 e0 93 04 00       	push   $0x493e0
40991a:	8b d7                	mov    %edi,%edx
40991c:	8b ce                	mov    %esi,%ecx
40991e:	e8 77 e9 ff ff       	call   0x40829a
409923:	5f                   	pop    %edi
409924:	5e                   	pop    %esi
409925:	c3                   	ret
409926:	8b ff                	mov    %edi,%edi
409928:	53                   	push   %ebx
409929:	8b dc                	mov    %esp,%ebx
40992b:	51                   	push   %ecx
40992c:	51                   	push   %ecx
40992d:	83 e4 f8             	and    $0xfffffff8,%esp
409930:	83 c4 04             	add    $0x4,%esp
409933:	55                   	push   %ebp
409934:	8b 6b 04             	mov    0x4(%ebx),%ebp
409937:	89 6c 24 04          	mov    %ebp,0x4(%esp)
40993b:	8b ec                	mov    %esp,%ebp
40993d:	83 ec 30             	sub    $0x30,%esp
409940:	a1 10 42 42 00       	mov    0x424210,%eax
409945:	33 c5                	xor    %ebp,%eax
409947:	89 45 fc             	mov    %eax,-0x4(%ebp)
40994a:	8b 43 08             	mov    0x8(%ebx),%eax
40994d:	56                   	push   %esi
40994e:	57                   	push   %edi
40994f:	8b f9                	mov    %ecx,%edi
409951:	89 45 f0             	mov    %eax,-0x10(%ebp)
409954:	8b 43 0c             	mov    0xc(%ebx),%eax
409957:	33 c9                	xor    %ecx,%ecx
409959:	89 55 d4             	mov    %edx,-0x2c(%ebp)
40995c:	89 45 f4             	mov    %eax,-0xc(%ebp)
40995f:	39 0f                	cmp    %ecx,(%edi)
409961:	75 6a                	jne    0x4099cd
409963:	8d 45 e8             	lea    -0x18(%ebp),%eax
409966:	89 4d ec             	mov    %ecx,-0x14(%ebp)
409969:	50                   	push   %eax
40996a:	51                   	push   %ecx
40996b:	8d 45 ec             	lea    -0x14(%ebp),%eax
40996e:	89 4d e8             	mov    %ecx,-0x18(%ebp)
409971:	50                   	push   %eax
409972:	51                   	push   %ecx
409973:	8d 4d f0             	lea    -0x10(%ebp),%ecx
409976:	e8 97 df ff ff       	call   0x407912
40997b:	8b 45 f0             	mov    -0x10(%ebp),%eax
40997e:	89 45 d8             	mov    %eax,-0x28(%ebp)
409981:	8b 45 f4             	mov    -0xc(%ebp),%eax
409984:	89 45 e0             	mov    %eax,-0x20(%ebp)