451a0b:	89 b4 24 bc 00 00 00 	mov    %esi,0xbc(%esp)
451a12:	50                   	push   %eax
451a13:	0f 84 a0 00 00 00    	je     0x451ab9
451a19:	ff 15 bc d0 48 00    	call   *0x48d0bc
451a1f:	85 c0                	test   %eax,%eax
451a21:	0f 84 ad 00 00 00    	je     0x451ad4
451a27:	ff b4 24 a4 00 00 00 	push   0xa4(%esp)
451a2e:	f7 c6 00 02 00 00    	test   $0x200,%esi
451a34:	0f 84 90 00 00 00    	je     0x451aca
451a3a:	e8 9c f2 fc ff       	call   0x420cdb
451a3f:	59                   	pop    %ecx
451a40:	ff b4 24 a4 00 00 00 	push   0xa4(%esp)
451a47:	8d 4c 24 6c          	lea    0x6c(%esp),%ecx
451a4b:	8b f0                	mov    %eax,%esi
451a4d:	e8 c7 b3 fb ff       	call   0x40ce19
451a52:	8b 84 24 a4 00 00 00 	mov    0xa4(%esp),%eax
451a59:	83 c0 02             	add    $0x2,%eax
451a5c:	33 db                	xor    %ebx,%ebx
451a5e:	eb 32                	jmp    0x451a92
451a60:	50                   	push   %eax
451a61:	e8 75 f2 fc ff       	call   0x420cdb
451a66:	8d 4c 24 6c          	lea    0x6c(%esp),%ecx
451a6a:	8b f0                	mov    %eax,%esi
451a6c:	c7 04 24 8c 2a 4b 00 	movl   $0x4b2a8c,(%esp)
451a73:	e8 14 37 fb ff       	call   0x40518c
451a78:	ff b4 24 a4 00 00 00 	push   0xa4(%esp)
451a7f:	8d 4c 24 6c          	lea    0x6c(%esp),%ecx
451a83:	e8 04 37 fb ff       	call   0x40518c
451a88:	8b 84 24 a4 00 00 00 	mov    0xa4(%esp),%eax
451a8f:	83 c0 02             	add    $0x2,%eax
451a92:	8d 04 70             	lea    (%eax,%esi,2),%eax
451a95:	89 84 24 a4 00 00 00 	mov    %eax,0xa4(%esp)
451a9c:	66 39 18             	cmp    %bx,(%eax)
451a9f:	75 bf                	jne    0x451a60
451aa1:	8b 4d 0c             	mov    0xc(%ebp),%ecx
451aa4:	8d 44 24 68          	lea    0x68(%esp),%eax
451aa8:	50                   	push   %eax
451aa9:	e8 ba 50 fb ff       	call   0x406b68
451aae:	8d 4c 24 68          	lea    0x68(%esp),%ecx
451ab2:	e8 80 b0 fb ff       	call   0x40cb37
451ab7:	eb 2c                	jmp    0x451ae5
451ab9:	ff 15 b8 d0 48 00    	call   *0x48d0b8
451abf:	85 c0                	test   %eax,%eax
451ac1:	74 11                	je     0x451ad4
451ac3:	ff b4 24 a4 00 00 00 	push   0xa4(%esp)
451aca:	8b 4d 0c             	mov    0xc(%ebp),%ecx
451acd:	e8 e7 b2 fb ff       	call   0x40cdb9
451ad2:	eb 11                	jmp    0x451ae5
451ad4:	33 c0                	xor    %eax,%eax
451ad6:	50                   	push   %eax
451ad7:	8b 03                	mov    (%ebx),%eax
451ad9:	6a 01                	push   $0x1
451adb:	8b 48 04             	mov    0x4(%eax),%ecx
451ade:	03 cb                	add    %ebx,%ecx
451ae0:	e8 67 b4 ff ff       	call   0x44cf4c
451ae5:	8d 4c 24 0c          	lea    0xc(%esp),%ecx
451ae9:	e8 f4 2c fb ff       	call   0x4047e2
451aee:	8d 4c 24 40          	lea    0x40(%esp),%ecx
451af2:	e8 eb 2c fb ff       	call   0x4047e2
451af7:	8d 4c 24 30          	lea    0x30(%esp),%ecx
451afb:	e8 37 b0 fb ff       	call   0x40cb37
451b00:	8d 4c 24 14          	lea    0x14(%esp),%ecx
451b04:	e8 2e b0 fb ff       	call   0x40cb37
451b09:	8d 4c 24 48          	lea    0x48(%esp),%ecx
451b0d:	e8 25 b0 fb ff       	call   0x40cb37
451b12:	8d 4c 24 58          	lea    0x58(%esp),%ecx
451b16:	e8 1c b0 fb ff       	call   0x40cb37
451b1b:	8d 4c 24 78          	lea    0x78(%esp),%ecx
451b1f:	e8 13 b0 fb ff       	call   0x40cb37
451b24:	5f                   	pop    %edi
451b25:	5e                   	pop    %esi
451b26:	33 c0                	xor    %eax,%eax
451b28:	5b                   	pop    %ebx
451b29:	8b e5                	mov    %ebp,%esp
451b2b:	5d                   	pop    %ebp
451b2c:	c2 10 00             	ret    $0x10
451b2f:	55                   	push   %ebp
451b30:	8b ec                	mov    %esp,%ebp
451b32:	81 ec 5c 02 00 00    	sub    $0x25c,%esp
451b38:	53                   	push   %ebx
451b39:	56                   	push   %esi
451b3a:	57                   	push   %edi
451b3b:	8b 3d f0 d1 48 00    	mov    0x48d1f0,%edi
451b41:	8d 85 a8 fd ff ff    	lea    -0x258(%ebp),%eax
451b47:	50                   	push   %eax
451b48:	ff 75 08             	push   0x8(%ebp)
451b4b:	89 4d fc             	mov    %ecx,-0x4(%ebp)
451b4e:	32 db                	xor    %bl,%bl
451b50:	ff d7                	call   *%edi
451b52:	8b f0                	mov    %eax,%esi
451b54:	83 fe ff             	cmp    $0xffffffff,%esi
451b57:	74 71                	je     0x451bca
451b59:	8d 85 d4 fd ff ff    	lea    -0x22c(%ebp),%eax
451b5f:	68 b0 da 49 00       	push   $0x49dab0
451b64:	50                   	push   %eax
451b65:	e8 79 fa fc ff       	call   0x4215e3
451b6a:	59                   	pop    %ecx
451b6b:	59                   	pop    %ecx
451b6c:	85 c0                	test   %eax,%eax
451b6e:	74 48                	je     0x451bb8
451b70:	8d 85 d4 fd ff ff    	lea    -0x22c(%ebp),%eax
451b76:	68 fc 39 4b 00       	push   $0x4b39fc
451b7b:	50                   	push   %eax
451b7c:	e8 62 fa fc ff       	call   0x4215e3
451b81:	59                   	pop    %ecx
451b82:	59                   	pop    %ecx
451b83:	85 c0                	test   %eax,%eax
451b85:	74 31                	je     0x451bb8
451b87:	8d 85 d4 fd ff ff    	lea    -0x22c(%ebp),%eax
451b8d:	50                   	push   %eax
451b8e:	ff 15 ec d1 48 00    	call   *0x48d1ec
451b94:	8b c8                	mov    %eax,%ecx
451b96:	0b 4d 0c             	or     0xc(%ebp),%ecx
451b99:	8b 45 10             	mov    0x10(%ebp),%eax
451b9c:	f7 d0                	not    %eax
451b9e:	23 c8                	and    %eax,%ecx
451ba0:	51                   	push   %ecx
451ba1:	8d 85 d4 fd ff ff    	lea    -0x22c(%ebp),%eax
451ba7:	50                   	push   %eax
451ba8:	ff 15 b4 d2 48 00    	call   *0x48d2b4
451bae:	85 c0                	test   %eax,%eax
451bb0:	0f 84 c5 00 00 00    	je     0x451c7b
451bb6:	b3 01                	mov    $0x1,%bl
451bb8:	8d 85 a8 fd ff ff    	lea    -0x258(%ebp),%eax
451bbe:	50                   	push   %eax
451bbf:	56                   	push   %esi
451bc0:	ff 15 00 d2 48 00    	call   *0x48d200
451bc6:	85 c0                	test   %eax,%eax
451bc8:	75 8f                	jne    0x451b59
451bca:	56                   	push   %esi
451bcb:	ff 15 f4 d1 48 00    	call   *0x48d1f4
451bd1:	80 7d 14 00          	cmpb   $0x0,0x14(%ebp)
451bd5:	0f 84 97 00 00 00    	je     0x451c72
451bdb:	8d 85 a8 fd ff ff    	lea    -0x258(%ebp),%eax
451be1:	50                   	push   %eax
451be2:	68 f4 39 4b 00       	push   $0x4b39f4
451be7:	ff d7                	call   *%edi
451be9:	8b f0                	mov    %eax,%esi
451beb:	83 fe ff             	cmp    $0xffffffff,%esi
451bee:	74 79                	je     0x451c69
451bf0:	8b 3d 18 d3 48 00    	mov    0x48d318,%edi
451bf6:	8b 5d fc             	mov    -0x4(%ebp),%ebx
451bf9:	f6 85 a8 fd ff ff 10 	testb  $0x10,-0x258(%ebp)
451c00:	74 55                	je     0x451c57
451c02:	8d 85 d4 fd ff ff    	lea    -0x22c(%ebp),%eax
451c08:	68 b0 da 49 00       	push   $0x49dab0
451c0d:	50                   	push   %eax
451c0e:	e8 d0 f9 fc ff       	call   0x4215e3
451c13:	59                   	pop    %ecx
451c14:	59                   	pop    %ecx
451c15:	85 c0                	test   %eax,%eax
451c17:	74 3e                	je     0x451c57
451c19:	8d 85 d4 fd ff ff    	lea    -0x22c(%ebp),%eax
451c1f:	68 fc 39 4b 00       	push   $0x4b39fc
451c24:	50                   	push   %eax
451c25:	e8 b9 f9 fc ff       	call   0x4215e3
451c2a:	59                   	pop    %ecx
451c2b:	59                   	pop    %ecx
451c2c:	85 c0                	test   %eax,%eax
451c2e:	74 27                	je     0x451c57
451c30:	8d 85 d4 fd ff ff    	lea    -0x22c(%ebp),%eax
451c36:	50                   	push   %eax
451c37:	ff d7                	call   *%edi
451c39:	ff 75 14             	push   0x14(%ebp)
451c3c:	8b cb                	mov    %ebx,%ecx
451c3e:	ff 75 10             	push   0x10(%ebp)
451c41:	ff 75 0c             	push   0xc(%ebp)
451c44:	ff 75 08             	push   0x8(%ebp)
451c47:	e8 e3 fe ff ff       	call   0x451b2f
451c4c:	84 c0                	test   %al,%al
451c4e:	74 36                	je     0x451c86
451c50:	68 fc 39 4b 00       	push   $0x4b39fc
451c55:	ff d7                	call   *%edi
451c57:	8d 85 a8 fd ff ff    	lea    -0x258(%ebp),%eax
451c5d:	50                   	push   %eax
451c5e:	56                   	push   %esi
451c5f:	ff 15 00 d2 48 00    	call   *0x48d200
451c65:	85 c0                	test   %eax,%eax
451c67:	75 90                	jne    0x451bf9
451c69:	b3 01                	mov    $0x1,%bl
451c6b:	56                   	push   %esi
451c6c:	ff 15 f4 d1 48 00    	call   *0x48d1f4
451c72:	8a c3                	mov    %bl,%al
451c74:	5f                   	pop    %edi
451c75:	5e                   	pop    %esi
451c76:	5b                   	pop    %ebx
451c77:	c9                   	leave
451c78:	c2 10 00             	ret    $0x10
451c7b:	56                   	push   %esi
451c7c:	ff 15 f4 d1 48 00    	call   *0x48d1f4
451c82:	32 c0                	xor    %al,%al
451c84:	eb ee                	jmp    0x451c74
451c86:	33 db                	xor    %ebx,%ebx
451c88:	eb e1                	jmp    0x451c6b
451c8a:	55                   	push   %ebp
451c8b:	8b ec                	mov    %esp,%ebp
451c8d:	81 ec 5c 02 00 00    	sub    $0x25c,%esp
451c93:	53                   	push   %ebx
451c94:	56                   	push   %esi
451c95:	57                   	push   %edi
451c96:	8b 3d f0 d1 48 00    	mov    0x48d1f0,%edi
451c9c:	8d 85 a8 fd ff ff    	lea    -0x258(%ebp),%eax
451ca2:	50                   	push   %eax
451ca3:	ff 75 08             	push   0x8(%ebp)
451ca6:	89 4d fc             	mov    %ecx,-0x4(%ebp)
451ca9:	32 db                	xor    %bl,%bl
451cab:	ff d7                	call   *%edi
451cad:	8b f0                	mov    %eax,%esi
451caf:	83 fe ff             	cmp    $0xffffffff,%esi
451cb2:	74 5c                	je     0x451d10
451cb4:	8d 85 d4 fd ff ff    	lea    -0x22c(%ebp),%eax
451cba:	68 b0 da 49 00       	push   $0x49dab0
451cbf:	50                   	push   %eax
451cc0:	e8 1e f9 fc ff       	call   0x4215e3
451cc5:	59                   	pop    %ecx
451cc6:	59                   	pop    %ecx
451cc7:	85 c0                	test   %eax,%eax
451cc9:	74 33                	je     0x451cfe
451ccb:	8d 85 d4 fd ff ff    	lea    -0x22c(%ebp),%eax
451cd1:	68 fc 39 4b 00       	push   $0x4b39fc
451cd6:	50                   	push   %eax
451cd7:	e8 07 f9 fc ff       	call   0x4215e3
451cdc:	59                   	pop    %ecx
451cdd:	59                   	pop    %ecx
451cde:	85 c0                	test   %eax,%eax
451ce0:	74 1c                	je     0x451cfe
451ce2:	ff 75 10             	push   0x10(%ebp)
451ce5:	8b 55 0c             	mov    0xc(%ebp),%edx
451ce8:	8d 8d d4 fd ff ff    	lea    -0x22c(%ebp),%ecx
451cee:	e8 e1 4e ff ff       	call   0x446bd4
451cf3:	59                   	pop    %ecx
451cf4:	84 c0                	test   %al,%al
451cf6:	0f 84 c5 00 00 00    	je     0x451dc1
451cfc:	b3 01                	mov    $0x1,%bl
451cfe:	8d 85 a8 fd ff ff    	lea    -0x258(%ebp),%eax
451d04:	50                   	push   %eax
451d05:	56                   	push   %esi
451d06:	ff 15 00 d2 48 00    	call   *0x48d200
451d0c:	85 c0                	test   %eax,%eax
451d0e:	75 a4                	jne    0x451cb4
451d10:	56                   	push   %esi
451d11:	ff 15 f4 d1 48 00    	call   *0x48d1f4
451d17:	80 7d 14 00          	cmpb   $0x0,0x14(%ebp)
451d1b:	0f 84 97 00 00 00    	je     0x451db8
451d21:	8d 85 a8 fd ff ff    	lea    -0x258(%ebp),%eax
451d27:	50                   	push   %eax
451d28:	68 f4 39 4b 00       	push   $0x4b39f4
451d2d:	ff d7                	call   *%edi
451d2f:	8b f0                	mov    %eax,%esi
451d31:	83 fe ff             	cmp    $0xffffffff,%esi
451d34:	74 79                	je     0x451daf
451d36:	8b 3d 18 d3 48 00    	mov    0x48d318,%edi
451d3c:	8b 5d fc             	mov    -0x4(%ebp),%ebx
451d3f:	f6 85 a8 fd ff ff 10 	testb  $0x10,-0x258(%ebp)
451d46:	74 55                	je     0x451d9d
451d48:	8d 85 d4 fd ff ff    	lea    -0x22c(%ebp),%eax
451d4e:	68 b0 da 49 00       	push   $0x49dab0
451d53:	50                   	push   %eax
451d54:	e8 8a f8 fc ff       	call   0x4215e3
451d59:	59                   	pop    %ecx
451d5a:	59                   	pop    %ecx
451d5b:	85 c0                	test   %eax,%eax
451d5d:	74 3e                	je     0x451d9d
451d5f:	8d 85 d4 fd ff ff    	lea    -0x22c(%ebp),%eax
451d65:	68 fc 39 4b 00       	push   $0x4b39fc
451d6a:	50                   	push   %eax
451d6b:	e8 73 f8 fc ff       	call   0x4215e3
451d70:	59                   	pop    %ecx
451d71:	59                   	pop    %ecx
451d72:	85 c0                	test   %eax,%eax
451d74:	74 27                	je     0x451d9d
451d76:	8d 85 d4 fd ff ff    	lea    -0x22c(%ebp),%eax
451d7c:	50                   	push   %eax
451d7d:	ff d7                	call   *%edi
451d7f:	ff 75 14             	push   0x14(%ebp)
451d82:	8b cb                	mov    %ebx,%ecx
451d84:	ff 75 10             	push   0x10(%ebp)
451d87:	ff 75 0c             	push   0xc(%ebp)
451d8a:	ff 75 08             	push   0x8(%ebp)
451d8d:	e8 f8 fe ff ff       	call   0x451c8a
451d92:	84 c0                	test   %al,%al
451d94:	74 36                	je     0x451dcc
451d96:	68 fc 39 4b 00       	push   $0x4b39fc
451d9b:	ff d7                	call   *%edi
451d9d:	8d 85 a8 fd ff ff    	lea    -0x258(%ebp),%eax
451da3:	50                   	push   %eax
451da4:	56                   	push   %esi
451da5:	ff 15 00 d2 48 00    	call   *0x48d200
451dab:	85 c0                	test   %eax,%eax
451dad:	75 90                	jne    0x451d3f
451daf:	b3 01                	mov    $0x1,%bl
451db1:	56                   	push   %esi
451db2:	ff 15 f4 d1 48 00    	call   *0x48d1f4
451db8:	8a c3                	mov    %bl,%al
451dba:	5f                   	pop    %edi
451dbb:	5e                   	pop    %esi
451dbc:	5b                   	pop    %ebx
451dbd:	c9                   	leave
451dbe:	c2 10 00             	ret    $0x10
451dc1:	56                   	push   %esi
451dc2:	ff 15 f4 d1 48 00    	call   *0x48d1f4
451dc8:	32 c0                	xor    %al,%al
451dca:	eb ee                	jmp    0x451dba
451dcc:	33 db                	xor    %ebx,%ebx
451dce:	eb e1                	jmp    0x451db1
451dd0:	55                   	push   %ebp
451dd1:	8b ec                	mov    %esp,%ebp
451dd3:	83 e4 f8             	and    $0xfffffff8,%esp
451dd6:	83 ec 1c             	sub    $0x1c,%esp
451dd9:	53                   	push   %ebx
451dda:	56                   	push   %esi
451ddb:	8b 75 08             	mov    0x8(%ebp),%esi
451dde:	57                   	push   %edi
451ddf:	8b 46 04             	mov    0x4(%esi),%eax
451de2:	89 4c 24 10          	mov    %ecx,0x10(%esp)
451de6:	8b 38                	mov    (%eax),%edi
451de8:	6a 04                	push   $0x4
451dea:	8b cf                	mov    %edi,%ecx
451dec:	e8 f3 b7 fb ff       	call   0x40d5e4
451df1:	84 c0                	test   %al,%al
451df3:	74 5b                	je     0x451e50
451df5:	6a 38                	push   $0x38
451df7:	e8 ee d6 fc ff       	call   0x41f4ea
451dfc:	33 db                	xor    %ebx,%ebx
451dfe:	59                   	pop    %ecx
451dff:	85 c0                	test   %eax,%eax
451e01:	74 0b                	je     0x451e0e
451e03:	8b c8                	mov    %eax,%ecx
451e05:	e8 b0 2a fb ff       	call   0x4048ba
451e0a:	8b f8                	mov    %eax,%edi
451e0c:	eb 02                	jmp    0x451e10
451e0e:	8b fb                	mov    %ebx,%edi
451e10:	8b 46 04             	mov    0x4(%esi),%eax
451e13:	8b 30                	mov    (%eax),%esi
451e15:	8b ce                	mov    %esi,%ecx
451e17:	e8 50 75 fb ff       	call   0x40936c
451e1c:	6a 01                	push   $0x1
451e1e:	ff 76 08             	push   0x8(%esi)
451e21:	8b cf                	mov    %edi,%ecx
451e23:	e8 28 27 fb ff       	call   0x404550
451e28:	84 c0                	test   %al,%al
451e2a:	75 56                	jne    0x451e82
451e2c:	85 ff                	test   %edi,%edi
451e2e:	74 08                	je     0x451e38
451e30:	51                   	push   %ecx
451e31:	8b cf                	mov    %edi,%ecx
451e33:	e8 03 27 fb ff       	call   0x40453b
451e38:	8b 75 0c             	mov    0xc(%ebp),%esi
451e3b:	8b ce                	mov    %esi,%ecx
451e3d:	e8 de 0d fc ff       	call   0x412c20