404add:	89 7d f0             	mov    %edi,-0x10(%ebp)
404ae0:	8d 85 e0 fd ff ff    	lea    -0x220(%ebp),%eax
404ae6:	43                   	inc    %ebx
404ae7:	50                   	push   %eax
404ae8:	8b f1                	mov    %ecx,%esi
404aea:	88 5d ec             	mov    %bl,-0x14(%ebp)
404aed:	e8 cb 34 01 00       	call   0x417fbd
404af2:	33 c0                	xor    %eax,%eax
404af4:	8d 8d e0 fd ff ff    	lea    -0x220(%ebp),%ecx
404afa:	83 c4 0c             	add    $0xc,%esp
404afd:	38 45 ec             	cmp    %al,-0x14(%ebp)
404b00:	0f 94 c0             	sete   %al
404b03:	48                   	dec    %eax
404b04:	25 e3 7e 00 00       	and    $0x7ee3,%eax
404b09:	03 c7                	add    %edi,%eax
404b0b:	50                   	push   %eax
404b0c:	e8 df 98 00 00       	call   0x40e3f0
404b11:	85 c0                	test   %eax,%eax
404b13:	0f 88 97 00 00 00    	js     0x404bb0
404b19:	8b 7d 0c             	mov    0xc(%ebp),%edi
404b1c:	b9 34 24 40 00       	mov    $0x402434,%ecx
404b21:	83 c7 2c             	add    $0x2c,%edi
404b24:	8b c7                	mov    %edi,%eax
404b26:	66 8b 10             	mov    (%eax),%dx
404b29:	66 3b 11             	cmp    (%ecx),%dx
404b2c:	0f 85 a5 00 00 00    	jne    0x404bd7
404b32:	66 85 d2             	test   %dx,%dx
404b35:	74 19                	je     0x404b50
404b37:	66 8b 50 02          	mov    0x2(%eax),%dx
404b3b:	66 3b 51 02          	cmp    0x2(%ecx),%dx
404b3f:	0f 85 92 00 00 00    	jne    0x404bd7
404b45:	83 c0 04             	add    $0x4,%eax
404b48:	83 c1 04             	add    $0x4,%ecx
404b4b:	66 85 d2             	test   %dx,%dx
404b4e:	75 d6                	jne    0x404b26
404b50:	33 c0                	xor    %eax,%eax
404b52:	85 c0                	test   %eax,%eax
404b54:	0f 84 8c 00 00 00    	je     0x404be6
404b5a:	b9 10 25 40 00       	mov    $0x402510,%ecx
404b5f:	8b c7                	mov    %edi,%eax
404b61:	66 8b 10             	mov    (%eax),%dx
404b64:	66 3b 11             	cmp    (%ecx),%dx
404b67:	75 77                	jne    0x404be0
404b69:	66 85 d2             	test   %dx,%dx
404b6c:	74 15                	je     0x404b83
404b6e:	66 8b 50 02          	mov    0x2(%eax),%dx
404b72:	66 3b 51 02          	cmp    0x2(%ecx),%dx
404b76:	75 68                	jne    0x404be0
404b78:	83 c0 04             	add    $0x4,%eax
404b7b:	83 c1 04             	add    $0x4,%ecx
404b7e:	66 85 d2             	test   %dx,%dx
404b81:	75 de                	jne    0x404b61
404b83:	33 c0                	xor    %eax,%eax
404b85:	85 c0                	test   %eax,%eax
404b87:	74 5d                	je     0x404be6
404b89:	8b 95 dc fd ff ff    	mov    -0x224(%ebp),%edx
404b8f:	f6 c2 10             	test   $0x10,%dl
404b92:	0f 85 61 3c 01 00    	jne    0x4187f9
404b98:	51                   	push   %ecx
404b99:	57                   	push   %edi
404b9a:	8b ce                	mov    %esi,%ecx
404b9c:	e8 f7 fc ff ff       	call   0x404898
404ba1:	8b d8                	mov    %eax,%ebx
404ba3:	85 db                	test   %ebx,%ebx
404ba5:	75 09                	jne    0x404bb0
404ba7:	8b ce                	mov    %esi,%ecx
404ba9:	e8 4a fe ff ff       	call   0x4049f8
404bae:	8b d8                	mov    %eax,%ebx
404bb0:	8b 45 e8             	mov    -0x18(%ebp),%eax
404bb3:	33 c9                	xor    %ecx,%ecx
404bb5:	89 4d e8             	mov    %ecx,-0x18(%ebp)
404bb8:	85 c0                	test   %eax,%eax
404bba:	74 08                	je     0x404bc4
404bbc:	50                   	push   %eax
404bbd:	ff 15 e0 a3 44 00    	call   *0x44a3e0
404bc3:	59                   	pop    %ecx
404bc4:	8b 4d fc             	mov    -0x4(%ebp),%ecx
404bc7:	8b c3                	mov    %ebx,%eax
404bc9:	5f                   	pop    %edi
404bca:	5e                   	pop    %esi
404bcb:	33 cd                	xor    %ebp,%ecx
404bcd:	5b                   	pop    %ebx
404bce:	e8 5d 1f 01 00       	call   0x416b30
404bd3:	c9                   	leave
404bd4:	c2 08 00             	ret    $0x8
404bd7:	1b c0                	sbb    %eax,%eax
404bd9:	0b c3                	or     %ebx,%eax
404bdb:	e9 72 ff ff ff       	jmp    0x404b52
404be0:	1b c0                	sbb    %eax,%eax
404be2:	0b c3                	or     %ebx,%eax
404be4:	eb 9f                	jmp    0x404b85
404be6:	33 c0                	xor    %eax,%eax
404be8:	eb c4                	jmp    0x404bae
404bea:	cc                   	int3
404beb:	cc                   	int3
404bec:	cc                   	int3
404bed:	cc                   	int3
404bee:	cc                   	int3
404bef:	cc                   	int3
404bf0:	8b ff                	mov    %edi,%edi
404bf2:	55                   	push   %ebp
404bf3:	8b ec                	mov    %esp,%ebp
404bf5:	51                   	push   %ecx
404bf6:	8b 45 10             	mov    0x10(%ebp),%eax
404bf9:	81 20 ff ff ff 7f    	andl   $0x7fffffff,(%eax)
404bff:	f6 00 50             	testb  $0x50,(%eax)
404c02:	0f 84 93 3c 01 00    	je     0x41889b
404c08:	33 c0                	xor    %eax,%eax
404c0a:	59                   	pop    %ecx
404c0b:	5d                   	pop    %ebp
404c0c:	c2 0c 00             	ret    $0xc
404c0f:	cc                   	int3
404c10:	8b ff                	mov    %edi,%edi
404c12:	55                   	push   %ebp
404c13:	8b ec                	mov    %esp,%ebp
404c15:	83 e4 f8             	and    $0xfffffff8,%esp
404c18:	b8 b4 42 00 00       	mov    $0x42b4,%eax
404c1d:	e8 5e 33 01 00       	call   0x417f80
404c22:	a1 b4 e0 42 00       	mov    0x42e0b4,%eax
404c27:	33 c4                	xor    %esp,%eax
404c29:	89 84 24 b0 42 00 00 	mov    %eax,0x42b0(%esp)
404c30:	8b 55 08             	mov    0x8(%ebp),%edx
404c33:	53                   	push   %ebx
404c34:	8b 5d 0c             	mov    0xc(%ebp),%ebx
404c37:	56                   	push   %esi
404c38:	8b 75 10             	mov    0x10(%ebp),%esi
404c3b:	57                   	push   %edi
404c3c:	8b 7d 14             	mov    0x14(%ebp),%edi
404c3f:	8d 4b 04             	lea    0x4(%ebx),%ecx
404c42:	8b 41 20             	mov    0x20(%ecx),%eax
404c45:	89 4c 24 10          	mov    %ecx,0x10(%esp)
404c49:	8b 49 1c             	mov    0x1c(%ecx),%ecx
404c4c:	01 42 28             	add    %eax,0x28(%edx)
404c4f:	89 54 24 18          	mov    %edx,0x18(%esp)
404c53:	11 4a 2c             	adc    %ecx,0x2c(%edx)
404c56:	8b 07                	mov    (%edi),%eax
404c58:	8b d0                	mov    %eax,%edx
404c5a:	89 5c 24 0c          	mov    %ebx,0xc(%esp)
404c5e:	89 7c 24 20          	mov    %edi,0x20(%esp)
404c62:	a8 10                	test   $0x10,%al
404c64:	0f 85 5e 3c 01 00    	jne    0x4188c8
404c6a:	f6 c2 40             	test   $0x40,%dl
404c6d:	0f 84 89 3c 01 00    	je     0x4188fc
404c73:	8b 44 24 18          	mov    0x18(%esp),%eax
404c77:	8b 4c 24 10          	mov    0x10(%esp),%ecx
404c7b:	51                   	push   %ecx
404c7c:	8b ce                	mov    %esi,%ecx
404c7e:	ff 70 04             	push   0x4(%eax)
404c81:	e8 2b fe ff ff       	call   0x404ab1
404c86:	8b d8                	mov    %eax,%ebx
404c88:	8b c3                	mov    %ebx,%eax
404c8a:	8b 8c 24 bc 42 00 00 	mov    0x42bc(%esp),%ecx
404c91:	5f                   	pop    %edi
404c92:	5e                   	pop    %esi
404c93:	5b                   	pop    %ebx
404c94:	33 cc                	xor    %esp,%ecx
404c96:	e8 95 1e 01 00       	call   0x416b30
404c9b:	8b e5                	mov    %ebp,%esp
404c9d:	5d                   	pop    %ebp
404c9e:	c2 10 00             	ret    $0x10
404ca1:	cc                   	int3
404ca2:	cc                   	int3
404ca3:	cc                   	int3
404ca4:	cc                   	int3
404ca5:	cc                   	int3
404ca6:	cc                   	int3
404ca7:	cc                   	int3
404ca8:	cc                   	int3
404ca9:	cc                   	int3
404caa:	cc                   	int3
404cab:	cc                   	int3
404cac:	cc                   	int3
404cad:	cc                   	int3
404cae:	cc                   	int3
404caf:	cc                   	int3
404cb0:	8b ff                	mov    %edi,%edi
404cb2:	55                   	push   %ebp
404cb3:	8b ec                	mov    %esp,%ebp
404cb5:	83 e4 f8             	and    $0xfffffff8,%esp
404cb8:	83 ec 1c             	sub    $0x1c,%esp
404cbb:	53                   	push   %ebx
404cbc:	8b 5d 08             	mov    0x8(%ebp),%ebx
404cbf:	56                   	push   %esi
404cc0:	8b 75 10             	mov    0x10(%ebp),%esi
404cc3:	57                   	push   %edi
404cc4:	8b 53 14             	mov    0x14(%ebx),%edx
404cc7:	8b 43 20             	mov    0x20(%ebx),%eax
404cca:	01 46 60             	add    %eax,0x60(%esi)
404ccd:	8b 43 24             	mov    0x24(%ebx),%eax
404cd0:	01 46 64             	add    %eax,0x64(%esi)
404cd3:	8b 43 28             	mov    0x28(%ebx),%eax
404cd6:	01 46 68             	add    %eax,0x68(%esi)
404cd9:	8b 43 2c             	mov    0x2c(%ebx),%eax
404cdc:	8b 0e                	mov    (%esi),%ecx
404cde:	11 46 6c             	adc    %eax,0x6c(%esi)
404ce1:	8b 7d 0c             	mov    0xc(%ebp),%edi
404ce4:	89 54 24 10          	mov    %edx,0x10(%esp)
404ce8:	f7 c1 04 40 00 00    	test   $0x4004,%ecx
404cee:	0f 85 fc 42 01 00    	jne    0x418ff0
404cf4:	f6 06 40             	testb  $0x40,(%esi)
404cf7:	0f 84 82 44 01 00    	je     0x41917f
404cfd:	33 c0                	xor    %eax,%eax
404cff:	5f                   	pop    %edi
404d00:	5e                   	pop    %esi
404d01:	5b                   	pop    %ebx
404d02:	8b e5                	mov    %ebp,%esp
404d04:	5d                   	pop    %ebp
404d05:	c2 0c 00             	ret    $0xc
404d08:	8b ff                	mov    %edi,%edi
404d0a:	53                   	push   %ebx
404d0b:	56                   	push   %esi
404d0c:	8b f1                	mov    %ecx,%esi
404d0e:	ff 15 d4 a2 44 00    	call   *0x44a2d4
404d14:	8b d8                	mov    %eax,%ebx
404d16:	e8 27 00 00 00       	call   0x404d42
404d1b:	50                   	push   %eax
404d1c:	8b d3                	mov    %ebx,%edx
404d1e:	0f b6 c3             	movzbl %bl,%eax
404d21:	8b cb                	mov    %ebx,%ecx
404d23:	c1 ea 10             	shr    $0x10,%edx
404d26:	52                   	push   %edx
404d27:	c1 e9 08             	shr    $0x8,%ecx
404d2a:	0f b6 c9             	movzbl %cl,%ecx
404d2d:	51                   	push   %ecx
404d2e:	50                   	push   %eax
404d2f:	68 08 1f 40 00       	push   $0x401f08
404d34:	6a 20                	push   $0x20
404d36:	56                   	push   %esi
404d37:	e8 83 4d 00 00       	call   0x409abf
404d3c:	83 c4 1c             	add    $0x1c,%esp
404d3f:	5e                   	pop    %esi
404d40:	5b                   	pop    %ebx
404d41:	c3                   	ret
404d42:	8b ff                	mov    %edi,%edi
404d44:	55                   	push   %ebp
404d45:	8b ec                	mov    %esp,%ebp
404d47:	83 ec 10             	sub    $0x10,%esp
404d4a:	57                   	push   %edi
404d4b:	6a 04                	push   $0x4
404d4d:	5f                   	pop    %edi
404d4e:	8d 45 fc             	lea    -0x4(%ebp),%eax
404d51:	89 7d f4             	mov    %edi,-0xc(%ebp)
404d54:	50                   	push   %eax
404d55:	68 00 00 00 02       	push   $0x2000000
404d5a:	6a 00                	push   $0x0
404d5c:	68 30 1f 40 00       	push   $0x401f30
404d61:	68 02 00 00 80       	push   $0x80000002
404d66:	ff 15 48 a2 44 00    	call   *0x44a248
404d6c:	85 c0                	test   %eax,%eax
404d6e:	75 3b                	jne    0x404dab
404d70:	56                   	push   %esi
404d71:	8d 45 f4             	lea    -0xc(%ebp),%eax
404d74:	89 7d f8             	mov    %edi,-0x8(%ebp)
404d77:	50                   	push   %eax
404d78:	8d 45 f0             	lea    -0x10(%ebp),%eax
404d7b:	50                   	push   %eax
404d7c:	8d 45 f8             	lea    -0x8(%ebp),%eax
404d7f:	50                   	push   %eax
404d80:	6a 00                	push   $0x0
404d82:	68 24 1f 40 00       	push   $0x401f24
404d87:	ff 75 fc             	push   -0x4(%ebp)
404d8a:	ff 15 4c a2 44 00    	call   *0x44a24c
404d90:	ff 75 fc             	push   -0x4(%ebp)
404d93:	8b f0                	mov    %eax,%esi
404d95:	ff 15 50 a2 44 00    	call   *0x44a250
404d9b:	85 f6                	test   %esi,%esi
404d9d:	5e                   	pop    %esi
404d9e:	75 0b                	jne    0x404dab
404da0:	39 7d f8             	cmp    %edi,-0x8(%ebp)
404da3:	75 06                	jne    0x404dab
404da5:	8b 45 f0             	mov    -0x10(%ebp),%eax
404da8:	5f                   	pop    %edi
404da9:	c9                   	leave
404daa:	c3                   	ret
404dab:	33 c0                	xor    %eax,%eax
404dad:	eb f9                	jmp    0x404da8
404daf:	cc                   	int3
404db0:	8b ff                	mov    %edi,%edi
404db2:	55                   	push   %ebp
404db3:	8b ec                	mov    %esp,%ebp
404db5:	83 ec 50             	sub    $0x50,%esp
404db8:	a1 b4 e0 42 00       	mov    0x42e0b4,%eax
404dbd:	33 c5                	xor    %ebp,%eax
404dbf:	89 45 f8             	mov    %eax,-0x8(%ebp)
404dc2:	57                   	push   %edi
404dc3:	8d 4d b4             	lea    -0x4c(%ebp),%ecx
404dc6:	e8 3d ff ff ff       	call   0x404d08
404dcb:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
404dcf:	bf 8c 1f 40 00       	mov    $0x401f8c,%edi
404dd4:	74 07                	je     0x404ddd
404dd6:	57                   	push   %edi
404dd7:	e8 74 4b 00 00       	call   0x409950
404ddc:	59                   	pop    %ecx
404ddd:	8d 45 b4             	lea    -0x4c(%ebp),%eax
404de0:	50                   	push   %eax
404de1:	6a 01                	push   $0x1
404de3:	68 50 23 00 00       	push   $0x2350
404de8:	e8 d0 15 00 00       	call   0x4063bd
404ded:	83 c4 0c             	add    $0xc,%esp
404df0:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
404df4:	74 07                	je     0x404dfd
404df6:	57                   	push   %edi
404df7:	e8 54 4b 00 00       	call   0x409950
404dfc:	59                   	pop    %ecx
404dfd:	8b 4d f8             	mov    -0x8(%ebp),%ecx
404e00:	33 c0                	xor    %eax,%eax
404e02:	83 25 dc 65 43 00 00 	andl   $0x0,0x4365dc
404e09:	33 cd                	xor    %ebp,%ecx
404e0b:	5f                   	pop    %edi
404e0c:	e8 1f 1d 01 00       	call   0x416b30
404e11:	c9                   	leave
404e12:	c2 04 00             	ret    $0x4
404e15:	cc                   	int3
404e16:	cc                   	int3
404e17:	cc                   	int3
404e18:	cc                   	int3
404e19:	cc                   	int3
404e1a:	cc                   	int3
404e1b:	cc                   	int3
404e1c:	cc                   	int3
404e1d:	cc                   	int3
404e1e:	cc                   	int3
404e1f:	cc                   	int3
404e20:	8b ff                	mov    %edi,%edi
404e22:	55                   	push   %ebp
404e23:	8b ec                	mov    %esp,%ebp
404e25:	51                   	push   %ecx
404e26:	8b 4d 08             	mov    0x8(%ebp),%ecx
404e29:	8b 49 3c             	mov    0x3c(%ecx),%ecx
404e2c:	e8 0a 00 00 00       	call   0x404e3b
404e31:	a3 dc 65 43 00       	mov    %eax,0x4365dc
404e36:	59                   	pop    %ecx
404e37:	5d                   	pop    %ebp
404e38:	c2 04 00             	ret    $0x4
404e3b:	8b ff                	mov    %edi,%edi
404e3d:	53                   	push   %ebx
404e3e:	8b dc                	mov    %esp,%ebx
404e40:	51                   	push   %ecx
404e41:	51                   	push   %ecx
404e42:	83 e4 f8             	and    $0xfffffff8,%esp
404e45:	83 c4 04             	add    $0x4,%esp
404e48:	55                   	push   %ebp
404e49:	8b 6b 04             	mov    0x4(%ebx),%ebp
404e4c:	89 6c 24 04          	mov    %ebp,0x4(%esp)
404e50:	8b ec                	mov    %esp,%ebp
404e52:	83 ec 20             	sub    $0x20,%esp
404e55:	0f b6 05 58 90 44 00 	movzbl 0x449058,%eax
404e5c:	56                   	push   %esi
404e5d:	57                   	push   %edi
404e5e:	33 ff                	xor    %edi,%edi