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
41aab9:	75 04                	jne    0x41aabf
41aabb:	33 c0                	xor    %eax,%eax
41aabd:	eb 03                	jmp    0x41aac2
41aabf:	8b 47 1c             	mov    0x1c(%edi),%eax
41aac2:	3b c3                	cmp    %ebx,%eax
41aac4:	74 39                	je     0x41aaff
41aac6:	6a 2c                	push   $0x2c
41aac8:	8d 45 d4             	lea    -0x2c(%ebp),%eax
41aacb:	5b                   	pop    %ebx
41aacc:	53                   	push   %ebx
41aacd:	6a 00                	push   $0x0
41aacf:	50                   	push   %eax
41aad0:	e8 3b 19 ff ff       	call   0x40c410
41aad5:	8b 46 1c             	mov    0x1c(%esi),%eax
41aad8:	83 c4 0c             	add    $0xc,%esp
41aadb:	89 45 dc             	mov    %eax,-0x24(%ebp)
41aade:	89 45 e0             	mov    %eax,-0x20(%ebp)
41aae1:	8d 45 d4             	lea    -0x2c(%ebp),%eax
41aae4:	89 5d d4             	mov    %ebx,-0x2c(%ebp)
41aae7:	50                   	push   %eax
41aae8:	6a 00                	push   $0x0
41aaea:	68 05 04 00 00       	push   $0x405
41aaef:	c7 45 d8 01 00 00 00 	movl   $0x1,-0x28(%ebp)
41aaf6:	ff 77 1c             	push   0x1c(%edi)
41aaf9:	ff 15 88 99 43 00    	call   *0x439988
41aaff:	8b 3d 20 99 43 00    	mov    0x439920,%edi
41ab05:	6a fc                	push   $0xfffffffc
41ab07:	ff 76 1c             	push   0x1c(%esi)
41ab0a:	ff d7                	call   *%edi
41ab0c:	8b ce                	mov    %esi,%ecx
41ab0e:	8b d8                	mov    %eax,%ebx
41ab10:	e8 00 f7 ff ff       	call   0x41a215
41ab15:	6a fc                	push   $0xfffffffc
41ab17:	ff 76 1c             	push   0x1c(%esi)
41ab1a:	ff d7                	call   *%edi
41ab1c:	3b c3                	cmp    %ebx,%eax
41ab1e:	75 1c                	jne    0x41ab3c
41ab20:	8b 06                	mov    (%esi),%eax
41ab22:	8b ce                	mov    %esi,%ecx
41ab24:	ff 90 88 00 00 00    	call   *0x88(%eax)
41ab2a:	8b 00                	mov    (%eax),%eax
41ab2c:	85 c0                	test   %eax,%eax
41ab2e:	74 0c                	je     0x41ab3c
41ab30:	50                   	push   %eax
41ab31:	6a fc                	push   $0xfffffffc
41ab33:	ff 76 1c             	push   0x1c(%esi)
41ab36:	ff 15 28 99 43 00    	call   *0x439928
41ab3c:	8b ce                	mov    %esi,%ecx
41ab3e:	e8 fa f7 ff ff       	call   0x41a33d
41ab43:	8b 06                	mov    (%esi),%eax
41ab45:	8b ce                	mov    %esi,%ecx
41ab47:	ff 90 ac 00 00 00    	call   *0xac(%eax)
41ab4d:	5f                   	pop    %edi
41ab4e:	5e                   	pop    %esi
41ab4f:	5b                   	pop    %ebx
41ab50:	c9                   	leave
41ab51:	c3                   	ret
41ab52:	c3                   	ret
41ab53:	83 79 1c 00          	cmpl   $0x0,0x1c(%ecx)
41ab57:	8b 01                	mov    (%ecx),%eax
41ab59:	74 03                	je     0x41ab5e
41ab5b:	ff 60 60             	jmp    *0x60(%eax)
41ab5e:	ff a0 ac 00 00 00    	jmp    *0xac(%eax)
41ab64:	56                   	push   %esi
41ab65:	8b f1                	mov    %ecx,%esi
41ab67:	83 7e 1c 00          	cmpl   $0x0,0x1c(%esi)
41ab6b:	75 04                	jne    0x41ab71
41ab6d:	33 c0                	xor    %eax,%eax
41ab6f:	5e                   	pop    %esi
41ab70:	c3                   	ret
41ab71:	57                   	push   %edi
41ab72:	53                   	push   %ebx
41ab73:	6a 00                	push   $0x0
41ab75:	e8 d6 f6 ff ff       	call   0x41a250
41ab7a:	59                   	pop    %ecx
41ab7b:	ff 76 1c             	push   0x1c(%esi)
41ab7e:	8b c8                	mov    %eax,%ecx
41ab80:	e8 e7 ef ff ff       	call   0x419b6c
41ab85:	8b 4e 38             	mov    0x38(%esi),%ecx
41ab88:	8b f8                	mov    %eax,%edi
41ab8a:	85 c9                	test   %ecx,%ecx
41ab8c:	75 0b                	jne    0x41ab99
41ab8e:	ff 76 1c             	push   0x1c(%esi)
41ab91:	ff 15 e4 98 43 00    	call   *0x4398e4
41ab97:	eb 05                	jmp    0x41ab9e
41ab99:	8b 01                	mov    (%ecx),%eax
41ab9b:	ff 50 58             	call   *0x58(%eax)
41ab9e:	85 ff                	test   %edi,%edi
41aba0:	8b d8                	mov    %eax,%ebx
41aba2:	75 07                	jne    0x41abab
41aba4:	8b ce                	mov    %esi,%ecx
41aba6:	e8 92 f7 ff ff       	call   0x41a33d
41abab:	8b c3                	mov    %ebx,%eax
41abad:	5b                   	pop    %ebx
41abae:	5f                   	pop    %edi
41abaf:	5e                   	pop    %esi
41abb0:	c3                   	ret
41abb1:	55                   	push   %ebp
41abb2:	8b ec                	mov    %esp,%ebp
41abb4:	56                   	push   %esi
41abb5:	8b f1                	mov    %ecx,%esi
41abb7:	8b 46 28             	mov    0x28(%esi),%eax
41abba:	85 c0                	test   %eax,%eax
41abbc:	75 22                	jne    0x41abe0
41abbe:	8b 06                	mov    (%esi),%eax
41abc0:	ff 90 88 00 00 00    	call   *0x88(%eax)
41abc6:	8b 00                	mov    (%eax),%eax
41abc8:	85 c0                	test   %eax,%eax
41abca:	75 14                	jne    0x41abe0
41abcc:	ff 75 10             	push   0x10(%ebp)
41abcf:	ff 75 0c             	push   0xc(%ebp)
41abd2:	ff 75 08             	push   0x8(%ebp)
41abd5:	ff 76 1c             	push   0x1c(%esi)
41abd8:	ff 15 e0 98 43 00    	call   *0x4398e0
41abde:	eb 13                	jmp    0x41abf3
41abe0:	ff 75 10             	push   0x10(%ebp)
41abe3:	ff 75 0c             	push   0xc(%ebp)
41abe6:	ff 75 08             	push   0x8(%ebp)
41abe9:	ff 76 1c             	push   0x1c(%esi)
41abec:	50                   	push   %eax
41abed:	ff 15 0c 99 43 00    	call   *0x43990c
41abf3:	5e                   	pop    %esi
41abf4:	5d                   	pop    %ebp
41abf5:	c2 0c 00             	ret    $0xc
41abf8:	8d 41 28             	lea    0x28(%ecx),%eax
41abfb:	c3                   	ret
41abfc:	56                   	push   %esi
41abfd:	8b f1                	mov    %ecx,%esi
41abff:	e8 43 9b 00 00       	call   0x424747
41ac04:	8b 80 34 10 00 00    	mov    0x1034(%eax),%eax
41ac0a:	85 c0                	test   %eax,%eax
41ac0c:	74 07                	je     0x41ac15
41ac0e:	56                   	push   %esi
41ac0f:	ff 74 24 0c          	push   0xc(%esp)
41ac13:	ff d0                	call   *%eax
41ac15:	33 c0                	xor    %eax,%eax
41ac17:	5e                   	pop    %esi
41ac18:	c2 04 00             	ret    $0x4
41ac1b:	56                   	push   %esi
41ac1c:	e8 d3 97 00 00       	call   0x4243f4
41ac21:	8b f0                	mov    %eax,%esi
41ac23:	8b 86 cc 00 00 00    	mov    0xcc(%esi),%eax
41ac29:	85 c0                	test   %eax,%eax
41ac2b:	75 04                	jne    0x41ac31
41ac2d:	33 c9                	xor    %ecx,%ecx
41ac2f:	eb 03                	jmp    0x41ac34
41ac31:	8b 48 1c             	mov    0x1c(%eax),%ecx
41ac34:	85 c9                	test   %ecx,%ecx
41ac36:	74 12                	je     0x41ac4a
41ac38:	6a 00                	push   $0x0
41ac3a:	6a 00                	push   $0x0
41ac3c:	68 01 04 00 00       	push   $0x401
41ac41:	ff 70 1c             	push   0x1c(%eax)
41ac44:	ff 15 88 99 43 00    	call   *0x439988
41ac4a:	83 7c 24 08 00       	cmpl   $0x0,0x8(%esp)
41ac4f:	8b b6 08 01 00 00    	mov    0x108(%esi),%esi
41ac55:	74 1d                	je     0x41ac74
41ac57:	85 f6                	test   %esi,%esi
41ac59:	74 19                	je     0x41ac74
41ac5b:	6a 01                	push   $0x1
41ac5d:	ff 15 dc 98 43 00    	call   *0x4398dc
41ac63:	66 85 c0             	test   %ax,%ax
41ac66:	7c 0c                	jl     0x41ac74
41ac68:	8b 06                	mov    (%esi),%eax
41ac6a:	6a ff                	push   $0xffffffff
41ac6c:	8b ce                	mov    %esi,%ecx
41ac6e:	ff 90 e4 00 00 00    	call   *0xe4(%eax)
41ac74:	5e                   	pop    %esi
41ac75:	c2 04 00             	ret    $0x4
41ac78:	55                   	push   %ebp
41ac79:	8b ec                	mov    %esp,%ebp
41ac7b:	53                   	push   %ebx
41ac7c:	57                   	push   %edi
41ac7d:	ff 75 0c             	push   0xc(%ebp)
41ac80:	8b d9                	mov    %ecx,%ebx