403a65:	3b 3d 30 b7 40 00    	cmp    0x40b730,%edi
403a6b:	74 14                	je     0x403a81
403a6d:	81 ff 58 b6 40 00    	cmp    $0x40b658,%edi
403a73:	74 0c                	je     0x403a81
403a75:	83 3f 00             	cmpl   $0x0,(%edi)
403a78:	75 07                	jne    0x403a81
403a7a:	57                   	push   %edi
403a7b:	e8 5d 0b 00 00       	call   0x4045dd
403a80:	59                   	pop    %ecx
403a81:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
403a88:	e8 1e 00 00 00       	call   0x403aab
403a8d:	56                   	push   %esi
403a8e:	e8 0b 1d 00 00       	call   0x40579e
403a93:	59                   	pop    %ecx
403a94:	e8 20 02 00 00       	call   0x403cb9
403a99:	c2 04 00             	ret    $0x4
403a9c:	8b 75 08             	mov    0x8(%ebp),%esi
403a9f:	6a 0d                	push   $0xd
403aa1:	e8 8b 12 00 00       	call   0x404d31
403aa6:	59                   	pop    %ecx
403aa7:	c3                   	ret
403aa8:	8b 75 08             	mov    0x8(%ebp),%esi
403aab:	6a 0c                	push   $0xc
403aad:	e8 7f 12 00 00       	call   0x404d31
403ab2:	59                   	pop    %ecx
403ab3:	c3                   	ret
403ab4:	8b ff                	mov    %edi,%edi
403ab6:	56                   	push   %esi
403ab7:	57                   	push   %edi
403ab8:	be 0c 18 40 00       	mov    $0x40180c,%esi
403abd:	56                   	push   %esi
403abe:	ff 15 50 10 40 00    	call   *0x401050
403ac4:	85 c0                	test   %eax,%eax
403ac6:	75 07                	jne    0x403acf
403ac8:	56                   	push   %esi
403ac9:	e8 39 ef ff ff       	call   0x402a07
403ace:	59                   	pop    %ecx
403acf:	8b f8                	mov    %eax,%edi
403ad1:	85 ff                	test   %edi,%edi
403ad3:	0f 84 5e 01 00 00    	je     0x403c37
403ad9:	8b 35 38 10 40 00    	mov    0x401038,%esi
403adf:	68 58 18 40 00       	push   $0x401858
403ae4:	57                   	push   %edi
403ae5:	ff d6                	call   *%esi
403ae7:	68 4c 18 40 00       	push   $0x40184c
403aec:	57                   	push   %edi
403aed:	a3 cc cd 45 00       	mov    %eax,0x45cdcc
403af2:	ff d6                	call   *%esi
403af4:	68 40 18 40 00       	push   $0x401840
403af9:	57                   	push   %edi
403afa:	a3 d0 cd 45 00       	mov    %eax,0x45cdd0
403aff:	ff d6                	call   *%esi
403b01:	68 38 18 40 00       	push   $0x401838
403b06:	57                   	push   %edi
403b07:	a3 d4 cd 45 00       	mov    %eax,0x45cdd4
403b0c:	ff d6                	call   *%esi
403b0e:	83 3d cc cd 45 00 00 	cmpl   $0x0,0x45cdcc
403b15:	8b 35 b8 10 40 00    	mov    0x4010b8,%esi
403b1b:	a3 d8 cd 45 00       	mov    %eax,0x45cdd8
403b20:	74 16                	je     0x403b38
403b22:	83 3d d0 cd 45 00 00 	cmpl   $0x0,0x45cdd0
403b29:	74 0d                	je     0x403b38
403b2b:	83 3d d4 cd 45 00 00 	cmpl   $0x0,0x45cdd4
403b32:	74 04                	je     0x403b38
403b34:	85 c0                	test   %eax,%eax
403b36:	75 24                	jne    0x403b5c
403b38:	a1 b0 10 40 00       	mov    0x4010b0,%eax
403b3d:	a3 d0 cd 45 00       	mov    %eax,0x45cdd0
403b42:	a1 bc 10 40 00       	mov    0x4010bc,%eax
403b47:	c7 05 cc cd 45 00 91 	movl   $0x403791,0x45cdcc
403b4e:	37 40 00
403b51:	89 35 d4 cd 45 00    	mov    %esi,0x45cdd4
403b57:	a3 d8 cd 45 00       	mov    %eax,0x45cdd8
403b5c:	ff 15 b4 10 40 00    	call   *0x4010b4
403b62:	a3 1c b1 40 00       	mov    %eax,0x40b11c
403b67:	83 f8 ff             	cmp    $0xffffffff,%eax
403b6a:	0f 84 cc 00 00 00    	je     0x403c3c
403b70:	ff 35 d0 cd 45 00    	push   0x45cdd0
403b76:	50                   	push   %eax
403b77:	ff d6                	call   *%esi
403b79:	85 c0                	test   %eax,%eax
403b7b:	0f 84 bb 00 00 00    	je     0x403c3c
403b81:	e8 6b f1 ff ff       	call   0x402cf1
403b86:	ff 35 cc cd 45 00    	push   0x45cdcc
403b8c:	e8 13 fb ff ff       	call   0x4036a4
403b91:	ff 35 d0 cd 45 00    	push   0x45cdd0
403b97:	a3 cc cd 45 00       	mov    %eax,0x45cdcc
403b9c:	e8 03 fb ff ff       	call   0x4036a4
403ba1:	ff 35 d4 cd 45 00    	push   0x45cdd4
403ba7:	a3 d0 cd 45 00       	mov    %eax,0x45cdd0
403bac:	e8 f3 fa ff ff       	call   0x4036a4
403bb1:	ff 35 d8 cd 45 00    	push   0x45cdd8
403bb7:	a3 d4 cd 45 00       	mov    %eax,0x45cdd4
403bbc:	e8 e3 fa ff ff       	call   0x4036a4
403bc1:	83 c4 10             	add    $0x10,%esp
403bc4:	a3 d8 cd 45 00       	mov    %eax,0x45cdd8
403bc9:	e8 c1 10 00 00       	call   0x404c8f
403bce:	85 c0                	test   %eax,%eax
403bd0:	74 65                	je     0x403c37
403bd2:	68 85 39 40 00       	push   $0x403985
403bd7:	ff 35 cc cd 45 00    	push   0x45cdcc
403bdd:	e8 3d fb ff ff       	call   0x40371f
403be2:	59                   	pop    %ecx
403be3:	ff d0                	call   *%eax
403be5:	a3 18 b1 40 00       	mov    %eax,0x40b118
403bea:	83 f8 ff             	cmp    $0xffffffff,%eax
403bed:	74 48                	je     0x403c37
403bef:	68 14 02 00 00       	push   $0x214
403bf4:	6a 01                	push   $0x1
403bf6:	e8 e5 1c 00 00       	call   0x4058e0
403bfb:	8b f0                	mov    %eax,%esi
403bfd:	59                   	pop    %ecx
403bfe:	59                   	pop    %ecx
403bff:	85 f6                	test   %esi,%esi
403c01:	74 34                	je     0x403c37
403c03:	56                   	push   %esi
403c04:	ff 35 18 b1 40 00    	push   0x40b118
403c0a:	ff 35 d4 cd 45 00    	push   0x45cdd4
403c10:	e8 0a fb ff ff       	call   0x40371f
403c15:	59                   	pop    %ecx
403c16:	ff d0                	call   *%eax
403c18:	85 c0                	test   %eax,%eax
403c1a:	74 1b                	je     0x403c37
403c1c:	6a 00                	push   $0x0
403c1e:	56                   	push   %esi
403c1f:	e8 e7 fb ff ff       	call   0x40380b
403c24:	59                   	pop    %ecx
403c25:	59                   	pop    %ecx
403c26:	ff 15 c4 10 40 00    	call   *0x4010c4
403c2c:	83 4e 04 ff          	orl    $0xffffffff,0x4(%esi)
403c30:	89 06                	mov    %eax,(%esi)
403c32:	33 c0                	xor    %eax,%eax
403c34:	40                   	inc    %eax
403c35:	eb 07                	jmp    0x403c3e
403c37:	e8 92 fb ff ff       	call   0x4037ce
403c3c:	33 c0                	xor    %eax,%eax
403c3e:	5f                   	pop    %edi
403c3f:	5e                   	pop    %esi
403c40:	c3                   	ret
403c41:	8b ff                	mov    %edi,%edi
403c43:	55                   	push   %ebp
403c44:	8b ec                	mov    %esp,%ebp
403c46:	33 c0                	xor    %eax,%eax
403c48:	39 45 08             	cmp    %eax,0x8(%ebp)
403c4b:	6a 00                	push   $0x0
403c4d:	0f 94 c0             	sete   %al
403c50:	68 00 10 00 00       	push   $0x1000
403c55:	50                   	push   %eax
403c56:	ff 15 d0 10 40 00    	call   *0x4010d0
403c5c:	a3 dc cd 45 00       	mov    %eax,0x45cddc
403c61:	85 c0                	test   %eax,%eax
403c63:	75 02                	jne    0x403c67
403c65:	5d                   	pop    %ebp
403c66:	c3                   	ret
403c67:	33 c0                	xor    %eax,%eax
403c69:	40                   	inc    %eax
403c6a:	a3 e4 0a 89 00       	mov    %eax,0x890ae4
403c6f:	5d                   	pop    %ebp
403c70:	c3                   	ret
403c71:	cc                   	int3
403c72:	cc                   	int3
403c73:	cc                   	int3
403c74:	68 d0 3c 40 00       	push   $0x403cd0
403c79:	64 ff 35 00 00 00 00 	push   %fs:0x0
403c80:	8b 44 24 10          	mov    0x10(%esp),%eax
403c84:	89 6c 24 10          	mov    %ebp,0x10(%esp)
403c88:	8d 6c 24 10          	lea    0x10(%esp),%ebp
403c8c:	2b e0                	sub    %eax,%esp
403c8e:	53                   	push   %ebx
403c8f:	56                   	push   %esi
403c90:	57                   	push   %edi
403c91:	a1 04 b0 40 00       	mov    0x40b004,%eax
403c96:	31 45 fc             	xor    %eax,-0x4(%ebp)
403c99:	33 c5                	xor    %ebp,%eax
403c9b:	50                   	push   %eax
403c9c:	89 65 e8             	mov    %esp,-0x18(%ebp)
403c9f:	ff 75 f8             	push   -0x8(%ebp)
403ca2:	8b 45 fc             	mov    -0x4(%ebp),%eax
403ca5:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
403cac:	89 45 f8             	mov    %eax,-0x8(%ebp)
403caf:	8d 45 f0             	lea    -0x10(%ebp),%eax
403cb2:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
403cb8:	c3                   	ret
403cb9:	8b 4d f0             	mov    -0x10(%ebp),%ecx
403cbc:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
403cc3:	59                   	pop    %ecx
403cc4:	5f                   	pop    %edi
403cc5:	5f                   	pop    %edi
403cc6:	5e                   	pop    %esi
403cc7:	5b                   	pop    %ebx
403cc8:	8b e5                	mov    %ebp,%esp
403cca:	5d                   	pop    %ebp
403ccb:	51                   	push   %ecx
403ccc:	c3                   	ret
403ccd:	cc                   	int3
403cce:	cc                   	int3
403ccf:	cc                   	int3
403cd0:	8b ff                	mov    %edi,%edi
403cd2:	55                   	push   %ebp
403cd3:	8b ec                	mov    %esp,%ebp
403cd5:	83 ec 18             	sub    $0x18,%esp
403cd8:	53                   	push   %ebx
403cd9:	8b 5d 0c             	mov    0xc(%ebp),%ebx
403cdc:	56                   	push   %esi
403cdd:	8b 73 08             	mov    0x8(%ebx),%esi
403ce0:	33 35 04 b0 40 00    	xor    0x40b004,%esi
403ce6:	57                   	push   %edi
403ce7:	8b 06                	mov    (%esi),%eax
403ce9:	c6 45 ff 00          	movb   $0x0,-0x1(%ebp)
403ced:	c7 45 f4 01 00 00 00 	movl   $0x1,-0xc(%ebp)
403cf4:	8d 7b 10             	lea    0x10(%ebx),%edi
403cf7:	83 f8 fe             	cmp    $0xfffffffe,%eax
403cfa:	74 0d                	je     0x403d09
403cfc:	8b 4e 04             	mov    0x4(%esi),%ecx
403cff:	03 cf                	add    %edi,%ecx
403d01:	33 0c 38             	xor    (%eax,%edi,1),%ecx
403d04:	e8 e7 e6 ff ff       	call   0x4023f0
403d09:	8b 4e 0c             	mov    0xc(%esi),%ecx
403d0c:	8b 46 08             	mov    0x8(%esi),%eax
403d0f:	03 cf                	add    %edi,%ecx
403d11:	33 0c 38             	xor    (%eax,%edi,1),%ecx
403d14:	e8 d7 e6 ff ff       	call   0x4023f0
403d19:	8b 45 08             	mov    0x8(%ebp),%eax
403d1c:	f6 40 04 66          	testb  $0x66,0x4(%eax)
403d20:	0f 85 16 01 00 00    	jne    0x403e3c
403d26:	8b 4d 10             	mov    0x10(%ebp),%ecx
403d29:	8d 55 e8             	lea    -0x18(%ebp),%edx
403d2c:	89 53 fc             	mov    %edx,-0x4(%ebx)
403d2f:	8b 5b 0c             	mov    0xc(%ebx),%ebx
403d32:	89 45 e8             	mov    %eax,-0x18(%ebp)
403d35:	89 4d ec             	mov    %ecx,-0x14(%ebp)
403d38:	83 fb fe             	cmp    $0xfffffffe,%ebx
403d3b:	74 5f                	je     0x403d9c
403d3d:	8d 49 00             	lea    0x0(%ecx),%ecx
403d40:	8d 04 5b             	lea    (%ebx,%ebx,2),%eax
403d43:	8b 4c 86 14          	mov    0x14(%esi,%eax,4),%ecx
403d47:	8d 44 86 10          	lea    0x10(%esi,%eax,4),%eax
403d4b:	89 45 f0             	mov    %eax,-0x10(%ebp)
403d4e:	8b 00                	mov    (%eax),%eax
403d50:	89 45 f8             	mov    %eax,-0x8(%ebp)
403d53:	85 c9                	test   %ecx,%ecx
403d55:	74 14                	je     0x403d6b
403d57:	8b d7                	mov    %edi,%edx
403d59:	e8 60 2b 00 00       	call   0x4068be
403d5e:	c6 45 ff 01          	movb   $0x1,-0x1(%ebp)
403d62:	85 c0                	test   %eax,%eax
403d64:	7c 40                	jl     0x403da6
403d66:	7f 47                	jg     0x403daf
403d68:	8b 45 f8             	mov    -0x8(%ebp),%eax
403d6b:	8b d8                	mov    %eax,%ebx
403d6d:	83 f8 fe             	cmp    $0xfffffffe,%eax
403d70:	75 ce                	jne    0x403d40
403d72:	80 7d ff 00          	cmpb   $0x0,-0x1(%ebp)
403d76:	74 24                	je     0x403d9c
403d78:	8b 06                	mov    (%esi),%eax
403d7a:	83 f8 fe             	cmp    $0xfffffffe,%eax
403d7d:	74 0d                	je     0x403d8c
403d7f:	8b 4e 04             	mov    0x4(%esi),%ecx
403d82:	03 cf                	add    %edi,%ecx
403d84:	33 0c 38             	xor    (%eax,%edi,1),%ecx
403d87:	e8 64 e6 ff ff       	call   0x4023f0
403d8c:	8b 4e 0c             	mov    0xc(%esi),%ecx
403d8f:	8b 56 08             	mov    0x8(%esi),%edx
403d92:	03 cf                	add    %edi,%ecx
403d94:	33 0c 3a             	xor    (%edx,%edi,1),%ecx
403d97:	e8 54 e6 ff ff       	call   0x4023f0
403d9c:	8b 45 f4             	mov    -0xc(%ebp),%eax
403d9f:	5f                   	pop    %edi
403da0:	5e                   	pop    %esi
403da1:	5b                   	pop    %ebx
403da2:	8b e5                	mov    %ebp,%esp
403da4:	5d                   	pop    %ebp
403da5:	c3                   	ret
403da6:	c7 45 f4 00 00 00 00 	movl   $0x0,-0xc(%ebp)
403dad:	eb c9                	jmp    0x403d78
403daf:	8b 4d 08             	mov    0x8(%ebp),%ecx
403db2:	81 39 63 73 6d e0    	cmpl   $0xe06d7363,(%ecx)
403db8:	75 29                	jne    0x403de3
403dba:	83 3d e0 0a 89 00 00 	cmpl   $0x0,0x890ae0
403dc1:	74 20                	je     0x403de3
403dc3:	68 e0 0a 89 00       	push   $0x890ae0
403dc8:	e8 63 12 00 00       	call   0x405030
403dcd:	83 c4 04             	add    $0x4,%esp
403dd0:	85 c0                	test   %eax,%eax
403dd2:	74 0f                	je     0x403de3
403dd4:	8b 55 08             	mov    0x8(%ebp),%edx
403dd7:	6a 01                	push   $0x1
403dd9:	52                   	push   %edx
403dda:	ff 15 e0 0a 89 00    	call   *0x890ae0
403de0:	83 c4 08             	add    $0x8,%esp
403de3:	8b 4d 0c             	mov    0xc(%ebp),%ecx
403de6:	e8 03 2b 00 00       	call   0x4068ee
403deb:	8b 45 0c             	mov    0xc(%ebp),%eax
403dee:	39 58 0c             	cmp    %ebx,0xc(%eax)
403df1:	74 12                	je     0x403e05
403df3:	68 04 b0 40 00       	push   $0x40b004
403df8:	57                   	push   %edi
403df9:	8b d3                	mov    %ebx,%edx
403dfb:	8b c8                	mov    %eax,%ecx
403dfd:	e8 06 2b 00 00       	call   0x406908
403e02:	8b 45 0c             	mov    0xc(%ebp),%eax
403e05:	8b 4d f8             	mov    -0x8(%ebp),%ecx
403e08:	89 48 0c             	mov    %ecx,0xc(%eax)
403e0b:	8b 06                	mov    (%esi),%eax
403e0d:	83 f8 fe             	cmp    $0xfffffffe,%eax
403e10:	74 0d                	je     0x403e1f
403e12:	8b 4e 04             	mov    0x4(%esi),%ecx
403e15:	03 cf                	add    %edi,%ecx
403e17:	33 0c 38             	xor    (%eax,%edi,1),%ecx
403e1a:	e8 d1 e5 ff ff       	call   0x4023f0
403e1f:	8b 4e 0c             	mov    0xc(%esi),%ecx
403e22:	8b 56 08             	mov    0x8(%esi),%edx
403e25:	03 cf                	add    %edi,%ecx
403e27:	33 0c 3a             	xor    (%edx,%edi,1),%ecx
403e2a:	e8 c1 e5 ff ff       	call   0x4023f0
403e2f:	8b 45 f0             	mov    -0x10(%ebp),%eax
403e32:	8b 48 08             	mov    0x8(%eax),%ecx
403e35:	8b d7                	mov    %edi,%edx
403e37:	e8 99 2a 00 00       	call   0x4068d5
403e3c:	ba fe ff ff ff       	mov    $0xfffffffe,%edx
403e41:	39 53 0c             	cmp    %edx,0xc(%ebx)
403e44:	0f 84 52 ff ff ff    	je     0x403d9c
403e4a:	68 04 b0 40 00       	push   $0x40b004
403e4f:	57                   	push   %edi
403e50:	8b cb                	mov    %ebx,%ecx
403e52:	e8 b1 2a 00 00       	call   0x406908
403e57:	e9 1c ff ff ff       	jmp    0x403d78
403e5c:	8b ff                	mov    %edi,%edi
403e5e:	55                   	push   %ebp
403e5f:	8b ec                	mov    %esp,%ebp
403e61:	83 ec 10             	sub    $0x10,%esp
403e64:	a1 04 b0 40 00       	mov    0x40b004,%eax
403e69:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
403e6d:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
403e71:	53                   	push   %ebx
403e72:	57                   	push   %edi
403e73:	bf 4e e6 40 bb       	mov    $0xbb40e64e,%edi
403e78:	bb 00 00 ff ff       	mov    $0xffff0000,%ebx
403e7d:	3b c7                	cmp    %edi,%eax
403e7f:	74 0d                	je     0x403e8e
403e81:	85 c3                	test   %eax,%ebx
403e83:	74 09                	je     0x403e8e
403e85:	f7 d0                	not    %eax
403e87:	a3 08 b0 40 00       	mov    %eax,0x40b008
403e8c:	eb 60                	jmp    0x403eee
403e8e:	56                   	push   %esi
403e8f:	8d 45 f8             	lea    -0x8(%ebp),%eax
403e92:	50                   	push   %eax
403e93:	ff 15 e0 10 40 00    	call   *0x4010e0
403e99:	8b 75 fc             	mov    -0x4(%ebp),%esi