41a6ff:	74 34                	je     0x41a735
41a701:	e8 95 fc ff ff       	call   0x41a39b
41a706:	6a fc                	push   $0xfffffffc
41a708:	53                   	push   %ebx
41a709:	89 45 08             	mov    %eax,0x8(%ebp)
41a70c:	ff 15 20 99 43 00    	call   *0x439920
41a712:	ff 75 f8             	push   -0x8(%ebp)
41a715:	8b f0                	mov    %eax,%esi
41a717:	2b 75 08             	sub    0x8(%ebp),%esi
41a71a:	53                   	push   %ebx
41a71b:	f7 de                	neg    %esi
41a71d:	1b f6                	sbb    %esi,%esi
41a71f:	46                   	inc    %esi
41a720:	ff 57 20             	call   *0x20(%edi)
41a723:	85 f6                	test   %esi,%esi
41a725:	75 28                	jne    0x41a74f
41a727:	ff 75 08             	push   0x8(%ebp)
41a72a:	6a fc                	push   $0xfffffffc
41a72c:	53                   	push   %ebx
41a72d:	ff 15 28 99 43 00    	call   *0x439928
41a733:	eb 15                	jmp    0x41a74a
41a735:	e8 61 fc ff ff       	call   0x41a39b
41a73a:	8b f0                	mov    %eax,%esi
41a73c:	56                   	push   %esi
41a73d:	6a fc                	push   $0xfffffffc
41a73f:	53                   	push   %ebx
41a740:	ff 15 28 99 43 00    	call   *0x439928
41a746:	3b c6                	cmp    %esi,%eax
41a748:	74 05                	je     0x41a74f
41a74a:	8b 4d 0c             	mov    0xc(%ebp),%ecx
41a74d:	89 01                	mov    %eax,(%ecx)
41a74f:	8b 45 fc             	mov    -0x4(%ebp),%eax
41a752:	8b f8                	mov    %eax,%edi
41a754:	83 60 14 00          	andl   $0x0,0x14(%eax)
41a758:	eb 45                	jmp    0x41a79f
41a75a:	6a fc                	push   $0xfffffffc
41a75c:	53                   	push   %ebx
41a75d:	ff 15 20 99 43 00    	call   *0x439920
41a763:	85 c0                	test   %eax,%eax
41a765:	89 45 08             	mov    %eax,0x8(%ebp)
41a768:	74 35                	je     0x41a79f
41a76a:	be 68 9a 42 00       	mov    $0x429a68,%esi
41a76f:	50                   	push   %eax
41a770:	56                   	push   %esi
41a771:	53                   	push   %ebx
41a772:	ff 15 f4 98 43 00    	call   *0x4398f4
41a778:	56                   	push   %esi
41a779:	53                   	push   %ebx
41a77a:	ff 15 08 99 43 00    	call   *0x439908
41a780:	3b 45 08             	cmp    0x8(%ebp),%eax
41a783:	75 1a                	jne    0x41a79f
41a785:	83 7f 28 00          	cmpl   $0x0,0x28(%edi)
41a789:	b8 c7 a5 41 00       	mov    $0x41a5c7,%eax
41a78e:	75 05                	jne    0x41a795
41a790:	b8 a1 a3 41 00       	mov    $0x41a3a1,%eax
41a795:	50                   	push   %eax
41a796:	6a fc                	push   $0xfffffffc
41a798:	53                   	push   %ebx
41a799:	ff 15 28 99 43 00    	call   *0x439928
41a79f:	ff 75 10             	push   0x10(%ebp)
41a7a2:	53                   	push   %ebx
41a7a3:	6a 03                	push   $0x3
41a7a5:	ff 77 2c             	push   0x2c(%edi)
41a7a8:	ff 15 f0 98 43 00    	call   *0x4398f0
41a7ae:	8b f0                	mov    %eax,%esi
41a7b0:	e8 92 9f 00 00       	call   0x424747
41a7b5:	80 78 14 00          	cmpb   $0x0,0x14(%eax)
41a7b9:	74 0d                	je     0x41a7c8
41a7bb:	ff 77 2c             	push   0x2c(%edi)
41a7be:	ff 15 f8 98 43 00    	call   *0x4398f8
41a7c4:	83 67 2c 00          	andl   $0x0,0x2c(%edi)
41a7c8:	8b c6                	mov    %esi,%eax
41a7ca:	5b                   	pop    %ebx
41a7cb:	5e                   	pop    %esi
41a7cc:	5f                   	pop    %edi
41a7cd:	c9                   	leave
41a7ce:	c2 0c 00             	ret    $0xc
41a7d1:	56                   	push   %esi
41a7d2:	57                   	push   %edi
41a7d3:	68 ce b1 40 00       	push   $0x40b1ce
41a7d8:	b9 b4 6a 43 00       	mov    $0x436ab4,%ecx
41a7dd:	e8 ac a8 00 00       	call   0x42508e
41a7e2:	8b f0                	mov    %eax,%esi
41a7e4:	8b 7c 24 0c          	mov    0xc(%esp),%edi
41a7e8:	39 7e 14             	cmp    %edi,0x14(%esi)
41a7eb:	74 2b                	je     0x41a818
41a7ed:	83 7e 2c 00          	cmpl   $0x0,0x2c(%esi)
41a7f1:	75 22                	jne    0x41a815
41a7f3:	ff 15 4c 97 43 00    	call   *0x43974c
41a7f9:	50                   	push   %eax
41a7fa:	6a 00                	push   $0x0
41a7fc:	68 43 a6 41 00       	push   $0x41a643
41a801:	6a 05                	push   $0x5
41a803:	ff 15 ec 98 43 00    	call   *0x4398ec
41a809:	85 c0                	test   %eax,%eax
41a80b:	89 46 2c             	mov    %eax,0x2c(%esi)
41a80e:	75 05                	jne    0x41a815
41a810:	e8 60 ee ff ff       	call   0x419675
41a815:	89 7e 14             	mov    %edi,0x14(%esi)
41a818:	5f                   	pop    %edi
41a819:	5e                   	pop    %esi
41a81a:	c2 04 00             	ret    $0x4
41a81d:	56                   	push   %esi
41a81e:	68 ce b1 40 00       	push   $0x40b1ce
41a823:	b9 b4 6a 43 00       	mov    $0x436ab4,%ecx
41a828:	e8 61 a8 00 00       	call   0x42508e
41a82d:	8b f0                	mov    %eax,%esi
41a82f:	e8 13 9f 00 00       	call   0x424747
41a834:	80 78 14 00          	cmpb   $0x0,0x14(%eax)
41a838:	74 12                	je     0x41a84c
41a83a:	8b 46 2c             	mov    0x2c(%esi),%eax
41a83d:	85 c0                	test   %eax,%eax
41a83f:	74 0b                	je     0x41a84c
41a841:	50                   	push   %eax
41a842:	ff 15 f8 98 43 00    	call   *0x4398f8
41a848:	83 66 2c 00          	andl   $0x0,0x2c(%esi)
41a84c:	83 7e 14 00          	cmpl   $0x0,0x14(%esi)
41a850:	74 08                	je     0x41a85a
41a852:	83 66 14 00          	andl   $0x0,0x14(%esi)
41a856:	33 c0                	xor    %eax,%eax
41a858:	5e                   	pop    %esi
41a859:	c3                   	ret
41a85a:	6a 01                	push   $0x1
41a85c:	58                   	pop    %eax
41a85d:	5e                   	pop    %esi
41a85e:	c3                   	ret
41a85f:	55                   	push   %ebp
41a860:	8b ec                	mov    %esp,%ebp
41a862:	83 ec 30             	sub    $0x30,%esp
41a865:	8b 45 08             	mov    0x8(%ebp),%eax
41a868:	56                   	push   %esi
41a869:	89 45 fc             	mov    %eax,-0x4(%ebp)
41a86c:	8b 45 0c             	mov    0xc(%ebp),%eax
41a86f:	89 45 f8             	mov    %eax,-0x8(%ebp)
41a872:	8b 45 10             	mov    0x10(%ebp),%eax
41a875:	89 45 f4             	mov    %eax,-0xc(%ebp)
41a878:	8b 45 14             	mov    0x14(%ebp),%eax
41a87b:	89 45 f0             	mov    %eax,-0x10(%ebp)
41a87e:	8b 45 18             	mov    0x18(%ebp),%eax
41a881:	89 45 ec             	mov    %eax,-0x14(%ebp)
41a884:	8b 45 1c             	mov    0x1c(%ebp),%eax
41a887:	89 45 e8             	mov    %eax,-0x18(%ebp)
41a88a:	8b 45 20             	mov    0x20(%ebp),%eax
41a88d:	89 45 e4             	mov    %eax,-0x1c(%ebp)
41a890:	8b 45 24             	mov    0x24(%ebp),%eax
41a893:	89 45 e0             	mov    %eax,-0x20(%ebp)
41a896:	8b 45 28             	mov    0x28(%ebp),%eax
41a899:	89 45 dc             	mov    %eax,-0x24(%ebp)
41a89c:	8b 45 2c             	mov    0x2c(%ebp),%eax
41a89f:	57                   	push   %edi
41a8a0:	8b f9                	mov    %ecx,%edi
41a8a2:	89 45 d8             	mov    %eax,-0x28(%ebp)
41a8a5:	e8 9d 9e 00 00       	call   0x424747
41a8aa:	8b 40 08             	mov    0x8(%eax),%eax
41a8ad:	8b 37                	mov    (%edi),%esi
41a8af:	89 45 d4             	mov    %eax,-0x2c(%ebp)
41a8b2:	8b 45 30             	mov    0x30(%ebp),%eax
41a8b5:	89 45 d0             	mov    %eax,-0x30(%ebp)
41a8b8:	8d 45 d0             	lea    -0x30(%ebp),%eax
41a8bb:	50                   	push   %eax
41a8bc:	8b cf                	mov    %edi,%ecx
41a8be:	ff 56 64             	call   *0x64(%esi)
41a8c1:	85 c0                	test   %eax,%eax
41a8c3:	75 0c                	jne    0x41a8d1
41a8c5:	8b cf                	mov    %edi,%ecx
41a8c7:	ff 96 ac 00 00 00    	call   *0xac(%esi)
41a8cd:	33 c0                	xor    %eax,%eax
41a8cf:	eb 4c                	jmp    0x41a91d
41a8d1:	53                   	push   %ebx
41a8d2:	57                   	push   %edi
41a8d3:	e8 f9 fe ff ff       	call   0x41a7d1
41a8d8:	ff 75 d0             	push   -0x30(%ebp)
41a8db:	ff 75 d4             	push   -0x2c(%ebp)
41a8de:	ff 75 d8             	push   -0x28(%ebp)
41a8e1:	ff 75 dc             	push   -0x24(%ebp)
41a8e4:	ff 75 e0             	push   -0x20(%ebp)
41a8e7:	ff 75 e4             	push   -0x1c(%ebp)
41a8ea:	ff 75 e8             	push   -0x18(%ebp)
41a8ed:	ff 75 ec             	push   -0x14(%ebp)
41a8f0:	ff 75 f0             	push   -0x10(%ebp)
41a8f3:	ff 75 f4             	push   -0xc(%ebp)
41a8f6:	ff 75 f8             	push   -0x8(%ebp)
41a8f9:	ff 75 fc             	push   -0x4(%ebp)
41a8fc:	ff 15 e8 98 43 00    	call   *0x4398e8
41a902:	8b d8                	mov    %eax,%ebx
41a904:	e8 14 ff ff ff       	call   0x41a81d
41a909:	85 c0                	test   %eax,%eax
41a90b:	75 08                	jne    0x41a915
41a90d:	8b cf                	mov    %edi,%ecx
41a90f:	ff 96 ac 00 00 00    	call   *0xac(%esi)
41a915:	33 c0                	xor    %eax,%eax
41a917:	85 db                	test   %ebx,%ebx
41a919:	0f 95 c0             	setne  %al
41a91c:	5b                   	pop    %ebx
41a91d:	5f                   	pop    %edi
41a91e:	5e                   	pop    %esi
41a91f:	c9                   	leave
41a920:	c2 2c 00             	ret    $0x2c
41a923:	56                   	push   %esi
41a924:	8b 74 24 08          	mov    0x8(%esp),%esi
41a928:	83 7e 28 00          	cmpl   $0x0,0x28(%esi)
41a92c:	75 20                	jne    0x41a94e
41a92e:	e8 14 9e 00 00       	call   0x424747
41a933:	f6 40 18 01          	testb  $0x1,0x18(%eax)
41a937:	6a 01                	push   $0x1
41a939:	74 03                	je     0x41a93e
41a93b:	58                   	pop    %eax
41a93c:	eb 05                	jmp    0x41a943
41a93e:	e8 95 20 00 00       	call   0x41c9d8
41a943:	85 c0                	test   %eax,%eax
41a945:	74 0a                	je     0x41a951
41a947:	c7 46 28 00 9a 42 00 	movl   $0x429a00,0x28(%esi)
41a94e:	6a 01                	push   $0x1
41a950:	58                   	pop    %eax
41a951:	5e                   	pop    %esi
41a952:	c2 04 00             	ret    $0x4
41a955:	55                   	push   %ebp
41a956:	8b ec                	mov    %esp,%ebp
41a958:	8b 45 18             	mov    0x18(%ebp),%eax
41a95b:	56                   	push   %esi
41a95c:	85 c0                	test   %eax,%eax
41a95e:	57                   	push   %edi
41a95f:	75 04                	jne    0x41a965
41a961:	33 ff                	xor    %edi,%edi
41a963:	eb 03                	jmp    0x41a968
41a965:	8b 78 1c             	mov    0x1c(%eax),%edi
41a968:	ff 75 20             	push   0x20(%ebp)
41a96b:	8b 45 14             	mov    0x14(%ebp),%eax
41a96e:	ff 75 1c             	push   0x1c(%ebp)
41a971:	8b 50 04             	mov    0x4(%eax),%edx
41a974:	8b 30                	mov    (%eax),%esi
41a976:	57                   	push   %edi
41a977:	8b 78 0c             	mov    0xc(%eax),%edi
41a97a:	8b 40 08             	mov    0x8(%eax),%eax
41a97d:	2b fa                	sub    %edx,%edi
41a97f:	2b c6                	sub    %esi,%eax
41a981:	57                   	push   %edi
41a982:	50                   	push   %eax
41a983:	8b 45 10             	mov    0x10(%ebp),%eax
41a986:	52                   	push   %edx
41a987:	0d 00 00 00 40       	or     $0x40000000,%eax
41a98c:	56                   	push   %esi
41a98d:	50                   	push   %eax
41a98e:	ff 75 0c             	push   0xc(%ebp)
41a991:	ff 75 08             	push   0x8(%ebp)
41a994:	6a 00                	push   $0x0
41a996:	e8 c4 fe ff ff       	call   0x41a85f
41a99b:	5f                   	pop    %edi
41a99c:	5e                   	pop    %esi
41a99d:	5d                   	pop    %ebp
41a99e:	c2 1c 00             	ret    $0x1c
41a9a1:	b8 28 78 42 00       	mov    $0x427828,%eax
41a9a6:	e8 85 12 ff ff       	call   0x40bc30
41a9ab:	51                   	push   %ecx
41a9ac:	56                   	push   %esi
41a9ad:	8b f1                	mov    %ecx,%esi
41a9af:	89 75 f0             	mov    %esi,-0x10(%ebp)
41a9b2:	c7 06 5c 9d 42 00    	movl   $0x429d5c,(%esi)
41a9b8:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
41a9bc:	83 7e 1c 00          	cmpl   $0x0,0x1c(%esi)
41a9c0:	74 25                	je     0x41a9e7
41a9c2:	81 fe a0 69 43 00    	cmp    $0x4369a0,%esi
41a9c8:	74 1d                	je     0x41a9e7
41a9ca:	81 fe 60 6a 43 00    	cmp    $0x436a60,%esi
41a9d0:	74 15                	je     0x41a9e7
41a9d2:	81 fe e0 69 43 00    	cmp    $0x4369e0,%esi
41a9d8:	74 0d                	je     0x41a9e7
41a9da:	81 fe 20 6a 43 00    	cmp    $0x436a20,%esi
41a9e0:	74 05                	je     0x41a9e7
41a9e2:	e8 7d 01 00 00       	call   0x41ab64
41a9e7:	8b 4e 34             	mov    0x34(%esi),%ecx
41a9ea:	85 c9                	test   %ecx,%ecx
41a9ec:	74 07                	je     0x41a9f5
41a9ee:	8b 01                	mov    (%ecx),%eax
41a9f0:	6a 01                	push   $0x1
41a9f2:	ff 50 04             	call   *0x4(%eax)
41a9f5:	8b 46 38             	mov    0x38(%esi),%eax
41a9f8:	85 c0                	test   %eax,%eax
41a9fa:	74 09                	je     0x41aa05
41a9fc:	39 70 24             	cmp    %esi,0x24(%eax)
41a9ff:	75 04                	jne    0x41aa05
41aa01:	83 60 24 00          	andl   $0x0,0x24(%eax)
41aa05:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
41aa09:	8b ce                	mov    %esi,%ecx
41aa0b:	e8 15 2f 00 00       	call   0x41d925
41aa10:	8b 4d f4             	mov    -0xc(%ebp),%ecx
41aa13:	5e                   	pop    %esi
41aa14:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
41aa1b:	c9                   	leave
41aa1c:	c3                   	ret
41aa1d:	56                   	push   %esi
41aa1e:	8b f1                	mov    %ecx,%esi
41aa20:	8b 4e 34             	mov    0x34(%esi),%ecx
41aa23:	85 c9                	test   %ecx,%ecx
41aa25:	74 07                	je     0x41aa2e
41aa27:	8b 01                	mov    (%ecx),%eax
41aa29:	6a 01                	push   $0x1
41aa2b:	ff 50 04             	call   *0x4(%eax)
41aa2e:	83 66 34 00          	andl   $0x0,0x34(%esi)
41aa32:	8b ce                	mov    %esi,%ecx
41aa34:	e8 dc f7 ff ff       	call   0x41a215
41aa39:	5e                   	pop    %esi
41aa3a:	c3                   	ret
41aa3b:	55                   	push   %ebp
41aa3c:	8b ec                	mov    %esp,%ebp
41aa3e:	83 ec 2c             	sub    $0x2c,%esp
41aa41:	53                   	push   %ebx
41aa42:	56                   	push   %esi
41aa43:	57                   	push   %edi
41aa44:	8b f1                	mov    %ecx,%esi
41aa46:	e8 71 35 00 00       	call   0x41dfbc
41aa4b:	8b f8                	mov    %eax,%edi
41aa4d:	33 db                	xor    %ebx,%ebx
41aa4f:	3b fb                	cmp    %ebx,%edi
41aa51:	74 33                	je     0x41aa86
41aa53:	39 77 1c             	cmp    %esi,0x1c(%edi)
41aa56:	75 26                	jne    0x41aa7e
41aa58:	e8 ea 9c 00 00       	call   0x424747
41aa5d:	38 58 14             	cmp    %bl,0x14(%eax)
41aa60:	75 19                	jne    0x41aa7b
41aa62:	e8 e0 9c 00 00       	call   0x424747
41aa67:	3b 78 04             	cmp    0x4(%eax),%edi
41aa6a:	75 09                	jne    0x41aa75
41aa6c:	e8 07 96 00 00       	call   0x424078
41aa71:	85 c0                	test   %eax,%eax
41aa73:	74 06                	je     0x41aa7b
41aa75:	53                   	push   %ebx
41aa76:	e8 c2 ad 00 00       	call   0x42583d
41aa7b:	89 5f 1c             	mov    %ebx,0x1c(%edi)
41aa7e:	39 77 20             	cmp    %esi,0x20(%edi)
41aa81:	75 03                	jne    0x41aa86
41aa83:	89 5f 20             	mov    %ebx,0x20(%edi)
41aa86:	8b 4e 30             	mov    0x30(%esi),%ecx
41aa89:	3b cb                	cmp    %ebx,%ecx
41aa8b:	74 08                	je     0x41aa95
41aa8d:	8b 01                	mov    (%ecx),%eax
41aa8f:	ff 50 58             	call   *0x58(%eax)
41aa92:	89 5e 30             	mov    %ebx,0x30(%esi)
41aa95:	8b 4e 34             	mov    0x34(%esi),%ecx
41aa98:	3b cb                	cmp    %ebx,%ecx
41aa9a:	74 07                	je     0x41aaa3
41aa9c:	8b 01                	mov    (%ecx),%eax
41aa9e:	6a 01                	push   $0x1
41aaa0:	ff 50 04             	call   *0x4(%eax)
41aaa3:	f6 46 24 01          	testb  $0x1,0x24(%esi)
41aaa7:	89 5e 34             	mov    %ebx,0x34(%esi)
41aaaa:	74 53                	je     0x41aaff
41aaac:	e8 43 99 00 00       	call   0x4243f4
41aab1:	8b b8 cc 00 00 00    	mov    0xcc(%eax),%edi
41aab7:	3b fb                	cmp    %ebx,%edi