428b63:	75 04                	jne    0x428b69
428b65:	33 c0                	xor    %eax,%eax
428b67:	40                   	inc    %eax
428b68:	c3                   	ret
428b69:	33 c0                	xor    %eax,%eax
428b6b:	c3                   	ret
428b6c:	8b ff                	mov    %edi,%edi
428b6e:	55                   	push   %ebp
428b6f:	8b ec                	mov    %esp,%ebp
428b71:	51                   	push   %ecx
428b72:	53                   	push   %ebx
428b73:	56                   	push   %esi
428b74:	8b f1                	mov    %ecx,%esi
428b76:	57                   	push   %edi
428b77:	8b fa                	mov    %edx,%edi
428b79:	ff 36                	push   (%esi)
428b7b:	ff 15 2c a4 44 00    	call   *0x44a42c
428b81:	59                   	pop    %ecx
428b82:	50                   	push   %eax
428b83:	ff 15 f8 a0 44 00    	call   *0x44a0f8
428b89:	8b 0e                	mov    (%esi),%ecx
428b8b:	e8 dc 15 fe ff       	call   0x40a16c
428b90:	51                   	push   %ecx
428b91:	51                   	push   %ecx
428b92:	33 d2                	xor    %edx,%edx
428b94:	8b cf                	mov    %edi,%ecx
428b96:	e8 b0 d9 fe ff       	call   0x41654b
428b9b:	8b c8                	mov    %eax,%ecx
428b9d:	89 0e                	mov    %ecx,(%esi)
428b9f:	83 f9 ff             	cmp    $0xffffffff,%ecx
428ba2:	0f 84 8e 00 00 00    	je     0x428c36
428ba8:	8b 5d 08             	mov    0x8(%ebp),%ebx
428bab:	8b c3                	mov    %ebx,%eax
428bad:	6a 02                	push   $0x2
428baf:	6a 00                	push   $0x0
428bb1:	f7 d8                	neg    %eax
428bb3:	50                   	push   %eax
428bb4:	51                   	push   %ecx
428bb5:	ff 15 2c a4 44 00    	call   *0x44a42c
428bbb:	59                   	pop    %ecx
428bbc:	50                   	push   %eax
428bbd:	ff 15 a0 a0 44 00    	call   *0x44a0a0
428bc3:	6a 00                	push   $0x0
428bc5:	8d 45 fc             	lea    -0x4(%ebp),%eax
428bc8:	50                   	push   %eax
428bc9:	53                   	push   %ebx
428bca:	ff 75 10             	push   0x10(%ebp)
428bcd:	ff 36                	push   (%esi)
428bcf:	ff 15 2c a4 44 00    	call   *0x44a42c
428bd5:	59                   	pop    %ecx
428bd6:	50                   	push   %eax
428bd7:	ff 15 94 a0 44 00    	call   *0x44a094
428bdd:	85 c0                	test   %eax,%eax
428bdf:	74 4b                	je     0x428c2c
428be1:	39 5d fc             	cmp    %ebx,-0x4(%ebp)
428be4:	75 46                	jne    0x428c2c
428be6:	53                   	push   %ebx
428be7:	ff 75 10             	push   0x10(%ebp)
428bea:	ff 75 0c             	push   0xc(%ebp)
428bed:	e8 c5 f3 fe ff       	call   0x417fb7
428bf2:	83 c4 0c             	add    $0xc,%esp
428bf5:	85 c0                	test   %eax,%eax
428bf7:	75 33                	jne    0x428c2c
428bf9:	8b 0e                	mov    (%esi),%ecx
428bfb:	e8 6c 15 fe ff       	call   0x40a16c
428c00:	51                   	push   %ecx
428c01:	33 d2                	xor    %edx,%edx
428c03:	51                   	push   %ecx
428c04:	42                   	inc    %edx
428c05:	8b cf                	mov    %edi,%ecx
428c07:	e8 3f d9 fe ff       	call   0x41654b
428c0c:	89 06                	mov    %eax,(%esi)
428c0e:	83 f8 ff             	cmp    $0xffffffff,%eax
428c11:	74 23                	je     0x428c36
428c13:	6a 02                	push   $0x2
428c15:	6a 00                	push   $0x0
428c17:	6a 00                	push   $0x0
428c19:	50                   	push   %eax
428c1a:	ff 15 2c a4 44 00    	call   *0x44a42c
428c20:	59                   	pop    %ecx
428c21:	50                   	push   %eax
428c22:	ff 15 a0 a0 44 00    	call   *0x44a0a0
428c28:	33 c0                	xor    %eax,%eax
428c2a:	eb 1d                	jmp    0x428c49
428c2c:	8b 0e                	mov    (%esi),%ecx
428c2e:	e8 39 15 fe ff       	call   0x40a16c
428c33:	83 0e ff             	orl    $0xffffffff,(%esi)
428c36:	57                   	push   %edi
428c37:	6a 01                	push   $0x1
428c39:	68 1f 27 00 40       	push   $0x4000271f
428c3e:	e8 a1 ec fd ff       	call   0x4078e4
428c43:	33 c0                	xor    %eax,%eax
428c45:	83 c4 0c             	add    $0xc,%esp
428c48:	40                   	inc    %eax
428c49:	5f                   	pop    %edi
428c4a:	5e                   	pop    %esi
428c4b:	5b                   	pop    %ebx
428c4c:	c9                   	leave
428c4d:	c2 0c 00             	ret    $0xc
428c50:	8b ff                	mov    %edi,%edi
428c52:	56                   	push   %esi
428c53:	8b f2                	mov    %edx,%esi
428c55:	85 c9                	test   %ecx,%ecx
428c57:	74 0a                	je     0x428c63
428c59:	6a 00                	push   $0x0
428c5b:	51                   	push   %ecx
428c5c:	e8 5c d7 fd ff       	call   0x4063bd
428c61:	59                   	pop    %ecx
428c62:	59                   	pop    %ecx
428c63:	83 fe 01             	cmp    $0x1,%esi
428c66:	75 2b                	jne    0x428c93
428c68:	ff 35 14 67 43 00    	push   0x436714
428c6e:	be 30 8e 44 00       	mov    $0x448e30,%esi
428c73:	68 94 1f 40 00       	push   $0x401f94
428c78:	68 04 01 00 00       	push   $0x104
428c7d:	56                   	push   %esi
428c7e:	e8 3c 0e fe ff       	call   0x409abf
428c83:	56                   	push   %esi
428c84:	6a 01                	push   $0x1
428c86:	68 36 23 00 00       	push   $0x2336
428c8b:	e8 2d d7 fd ff       	call   0x4063bd
428c90:	83 c4 1c             	add    $0x1c,%esp
428c93:	0f b6 05 58 90 44 00 	movzbl 0x449058,%eax
428c9a:	a3 08 67 43 00       	mov    %eax,0x436708
428c9f:	eb 0f                	jmp    0x428cb0
428ca1:	8b 0d b8 67 43 00    	mov    0x4367b8,%ecx
428ca7:	8b 4c 81 fc          	mov    -0x4(%ecx,%eax,4),%ecx
428cab:	e8 9d fe fd ff       	call   0x408b4d
428cb0:	a1 bc 67 43 00       	mov    0x4367bc,%eax
428cb5:	39 05 10 67 43 00    	cmp    %eax,0x436710
428cbb:	7c e4                	jl     0x428ca1
428cbd:	6a 01                	push   $0x1
428cbf:	68 70 0a 44 00       	push   $0x440a70
428cc4:	ff 15 30 a4 44 00    	call   *0x44a430
428cca:	cc                   	int3
428ccb:	8b ff                	mov    %edi,%edi
428ccd:	55                   	push   %ebp
428cce:	8b ec                	mov    %esp,%ebp
428cd0:	83 e4 f8             	and    $0xfffffff8,%esp
428cd3:	81 ec 7c 06 00 00    	sub    $0x67c,%esp
428cd9:	a1 b4 e0 42 00       	mov    0x42e0b4,%eax
428cde:	33 c4                	xor    %esp,%eax
428ce0:	89 84 24 78 06 00 00 	mov    %eax,0x678(%esp)
428ce7:	83 4c 24 04 ff       	orl    $0xffffffff,0x4(%esp)
428cec:	8d 44 24 2c          	lea    0x2c(%esp),%eax
428cf0:	53                   	push   %ebx
428cf1:	56                   	push   %esi
428cf2:	57                   	push   %edi
428cf3:	bb 04 01 00 00       	mov    $0x104,%ebx
428cf8:	89 54 24 30          	mov    %edx,0x30(%esp)
428cfc:	33 f6                	xor    %esi,%esi
428cfe:	c6 84 24 44 02 00 00 	movb   $0x1,0x244(%esp)
428d05:	01
428d06:	53                   	push   %ebx
428d07:	56                   	push   %esi
428d08:	50                   	push   %eax
428d09:	8b f9                	mov    %ecx,%edi
428d0b:	89 74 24 38          	mov    %esi,0x38(%esp)
428d0f:	89 b4 24 4c 02 00 00 	mov    %esi,0x24c(%esp)
428d16:	89 9c 24 54 02 00 00 	mov    %ebx,0x254(%esp)
428d1d:	e8 9b f2 fe ff       	call   0x417fbd
428d22:	83 c4 0c             	add    $0xc,%esp
428d25:	89 b4 24 70 06 00 00 	mov    %esi,0x670(%esp)
428d2c:	8d 84 24 68 04 00 00 	lea    0x468(%esp),%eax
428d33:	c6 84 24 74 06 00 00 	movb   $0x1,0x674(%esp)
428d3a:	01
428d3b:	89 9c 24 78 06 00 00 	mov    %ebx,0x678(%esp)
428d42:	53                   	push   %ebx
428d43:	56                   	push   %esi
428d44:	50                   	push   %eax
428d45:	e8 73 f2 fe ff       	call   0x417fbd
428d4a:	83 c4 0c             	add    $0xc,%esp
428d4d:	89 b4 24 58 04 00 00 	mov    %esi,0x458(%esp)
428d54:	8d 84 24 50 02 00 00 	lea    0x250(%esp),%eax
428d5b:	c6 84 24 5c 04 00 00 	movb   $0x1,0x45c(%esp)
428d62:	01
428d63:	89 9c 24 60 04 00 00 	mov    %ebx,0x460(%esp)
428d6a:	53                   	push   %ebx
428d6b:	56                   	push   %esi
428d6c:	50                   	push   %eax
428d6d:	e8 4b f2 fe ff       	call   0x417fbd
428d72:	33 c0                	xor    %eax,%eax
428d74:	8d 4c 24 44          	lea    0x44(%esp),%ecx
428d78:	83 c4 0c             	add    $0xc,%esp
428d7b:	38 84 24 44 02 00 00 	cmp    %al,0x244(%esp)
428d82:	0f 94 c0             	sete   %al
428d85:	48                   	dec    %eax
428d86:	25 e3 7e 00 00       	and    $0x7ee3,%eax
428d8b:	03 c3                	add    %ebx,%eax
428d8d:	50                   	push   %eax
428d8e:	e8 5d 56 fe ff       	call   0x40e3f0
428d93:	85 c0                	test   %eax,%eax
428d95:	0f 88 0c 07 00 00    	js     0x4294a7
428d9b:	33 c0                	xor    %eax,%eax
428d9d:	8d 8c 24 68 04 00 00 	lea    0x468(%esp),%ecx
428da4:	38 84 24 74 06 00 00 	cmp    %al,0x674(%esp)
428dab:	0f 94 c0             	sete   %al
428dae:	48                   	dec    %eax
428daf:	25 e3 7e 00 00       	and    $0x7ee3,%eax
428db4:	03 c3                	add    %ebx,%eax
428db6:	50                   	push   %eax
428db7:	e8 34 56 fe ff       	call   0x40e3f0
428dbc:	85 c0                	test   %eax,%eax
428dbe:	0f 88 e3 06 00 00    	js     0x4294a7
428dc4:	33 c0                	xor    %eax,%eax
428dc6:	8d 8c 24 50 02 00 00 	lea    0x250(%esp),%ecx
428dcd:	38 84 24 5c 04 00 00 	cmp    %al,0x45c(%esp)
428dd4:	0f 94 c0             	sete   %al
428dd7:	48                   	dec    %eax
428dd8:	25 e3 7e 00 00       	and    $0x7ee3,%eax
428ddd:	03 c3                	add    %ebx,%eax
428ddf:	50                   	push   %eax
428de0:	e8 0b 56 fe ff       	call   0x40e3f0
428de5:	85 c0                	test   %eax,%eax
428de7:	0f 88 ba 06 00 00    	js     0x4294a7
428ded:	56                   	push   %esi
428dee:	8d 44 24 18          	lea    0x18(%esp),%eax
428df2:	b9 00 fe 00 00       	mov    $0xfe00,%ecx
428df7:	50                   	push   %eax
428df8:	e8 2f c4 fe ff       	call   0x41522c
428dfd:	89 44 24 20          	mov    %eax,0x20(%esp)
428e01:	85 c0                	test   %eax,%eax
428e03:	0f 84 9e 06 00 00    	je     0x4294a7
428e09:	39 35 08 67 43 00    	cmp    %esi,0x436708
428e0f:	74 2e                	je     0x428e3f
428e11:	8b 5c 24 14          	mov    0x14(%esp),%ebx
428e15:	8d 44 24 28          	lea    0x28(%esp),%eax
428e19:	6a 01                	push   $0x1
428e1b:	50                   	push   %eax
428e1c:	8b cb                	mov    %ebx,%ecx
428e1e:	89 5c 24 24          	mov    %ebx,0x24(%esp)
428e22:	e8 05 c4 fe ff       	call   0x41522c
428e27:	89 44 24 2c          	mov    %eax,0x2c(%esp)
428e2b:	85 c0                	test   %eax,%eax
428e2d:	0f 84 74 06 00 00    	je     0x4294a7
428e33:	3b 5c 24 28          	cmp    0x28(%esp),%ebx
428e37:	72 0e                	jb     0x428e47
428e39:	8b 44 24 28          	mov    0x28(%esp),%eax
428e3d:	eb 04                	jmp    0x428e43
428e3f:	8b 44 24 14          	mov    0x14(%esp),%eax
428e43:	89 44 24 1c          	mov    %eax,0x1c(%esp)
428e47:	8b 5f 20             	mov    0x20(%edi),%ebx
428e4a:	89 5c 24 28          	mov    %ebx,0x28(%esp)
428e4e:	8b 0b                	mov    (%ebx),%ecx
428e50:	e8 df e4 fd ff       	call   0x407334
428e55:	85 c0                	test   %eax,%eax
428e57:	75 10                	jne    0x428e69
428e59:	8b 5b 20             	mov    0x20(%ebx),%ebx
428e5c:	89 5c 24 28          	mov    %ebx,0x28(%esp)
428e60:	85 db                	test   %ebx,%ebx
428e62:	75 ea                	jne    0x428e4e
428e64:	e9 19 06 00 00       	jmp    0x429482
428e69:	8b 13                	mov    (%ebx),%edx
428e6b:	8d 44 24 18          	lea    0x18(%esp),%eax
428e6f:	50                   	push   %eax
428e70:	ff 73 18             	push   0x18(%ebx)
428e73:	b9 d0 59 41 00       	mov    $0x4159d0,%ecx
428e78:	56                   	push   %esi
428e79:	6a 21                	push   $0x21
428e7b:	e8 1a ca fe ff       	call   0x41589a
428e80:	8b 7c 24 1c          	mov    0x1c(%esp),%edi
428e84:	81 63 1c ff 3f ff ff 	andl   $0xffff3fff,0x1c(%ebx)
428e8b:	8b 43 1c             	mov    0x1c(%ebx),%eax
428e8e:	a8 04                	test   $0x4,%al
428e90:	74 09                	je     0x428e9b
428e92:	83 e0 fb             	and    $0xfffffffb,%eax
428e95:	83 c8 02             	or     $0x2,%eax
428e98:	89 43 1c             	mov    %eax,0x1c(%ebx)
428e9b:	39 35 9c 25 43 00    	cmp    %esi,0x43259c
428ea1:	0f 85 cf 05 00 00    	jne    0x429476
428ea7:	8b 94 24 70 06 00 00 	mov    0x670(%esp),%edx
428eae:	85 d2                	test   %edx,%edx
428eb0:	75 07                	jne    0x428eb9
428eb2:	8d 94 24 68 04 00 00 	lea    0x468(%esp),%edx
428eb9:	ff b4 24 78 06 00 00 	push   0x678(%esp)
428ec0:	8b cb                	mov    %ebx,%ecx
428ec2:	e8 61 be fe ff       	call   0x414d28
428ec7:	83 f8 01             	cmp    $0x1,%eax
428eca:	0f 84 a6 05 00 00    	je     0x429476
428ed0:	ff 73 04             	push   0x4(%ebx)
428ed3:	68 80 22 40 00       	push   $0x402280
428ed8:	e8 73 0a fe ff       	call   0x409950
428edd:	8b 84 24 48 02 00 00 	mov    0x248(%esp),%eax
428ee4:	59                   	pop    %ecx
428ee5:	59                   	pop    %ecx
428ee6:	85 c0                	test   %eax,%eax
428ee8:	75 04                	jne    0x428eee
428eea:	8d 44 24 38          	lea    0x38(%esp),%eax
428eee:	8b 54 24 30          	mov    0x30(%esp),%edx
428ef2:	8b cb                	mov    %ebx,%ecx
428ef4:	56                   	push   %esi
428ef5:	ff b4 24 4c 02 00 00 	push   0x24c(%esp)
428efc:	50                   	push   %eax
428efd:	e8 ce ad fe ff       	call   0x413cd0
428f02:	83 f8 01             	cmp    $0x1,%eax
428f05:	0f 84 6b 05 00 00    	je     0x429476
428f0b:	8b 94 24 40 02 00 00 	mov    0x240(%esp),%edx
428f12:	8b c2                	mov    %edx,%eax
428f14:	85 d2                	test   %edx,%edx
428f16:	75 04                	jne    0x428f1c
428f18:	8d 44 24 38          	lea    0x38(%esp),%eax
428f1c:	66 39 30             	cmp    %si,(%eax)
428f1f:	0f 84 4f 04 00 00    	je     0x429374
428f25:	85 d2                	test   %edx,%edx
428f27:	75 04                	jne    0x428f2d
428f29:	8d 54 24 38          	lea    0x38(%esp),%edx
428f2d:	8b 4b 04             	mov    0x4(%ebx),%ecx
428f30:	e8 bd 06 00 00       	call   0x4295f2
428f35:	8b 4b 04             	mov    0x4(%ebx),%ecx
428f38:	85 c0                	test   %eax,%eax
428f3a:	74 19                	je     0x428f55
428f3c:	57                   	push   %edi
428f3d:	ff 74 24 24          	push   0x24(%esp)
428f41:	8b d3                	mov    %ebx,%edx
428f43:	e8 98 05 00 00       	call   0x4294e0
428f48:	89 44 24 10          	mov    %eax,0x10(%esp)
428f4c:	89 44 24 14          	mov    %eax,0x14(%esp)
428f50:	e9 37 02 00 00       	jmp    0x42918c
428f55:	8b 53 1c             	mov    0x1c(%ebx),%edx
428f58:	51                   	push   %ecx
428f59:	81 e2 00 08 00 00    	and    $0x800,%edx
428f5f:	51                   	push   %ecx
428f60:	c1 e2 0a             	shl    $0xa,%edx
428f63:	e8 e3 d5 fe ff       	call   0x41654b
428f68:	8b f8                	mov    %eax,%edi
428f6a:	83 ff ff             	cmp    $0xffffffff,%edi
428f6d:	0f 84 f8 04 00 00    	je     0x42946b
428f73:	8b cf                	mov    %edi,%ecx
428f75:	e8 1e 4e fe ff       	call   0x40dd98
428f7a:	85 c0                	test   %eax,%eax
428f7c:	74 0b                	je     0x428f89
428f7e:	b9 80 00 00 00       	mov    $0x80,%ecx
428f83:	89 4c 24 1c          	mov    %ecx,0x1c(%esp)
428f87:	eb 04                	jmp    0x428f8d
428f89:	8b 4c 24 1c          	mov    0x1c(%esp),%ecx
428f8d:	8b 84 24 40 02 00 00 	mov    0x240(%esp),%eax
428f94:	85 c0                	test   %eax,%eax
428f96:	75 04                	jne    0x428f9c
428f98:	8d 44 24 38          	lea    0x38(%esp),%eax
428f9c:	8b 54 24 20          	mov    0x20(%esp),%edx
428fa0:	50                   	push   %eax
428fa1:	ff 74 24 14          	push   0x14(%esp)
428fa5:	8d 44 24 2c          	lea    0x2c(%esp),%eax
428fa9:	53                   	push   %ebx
428faa:	50                   	push   %eax
428fab:	51                   	push   %ecx
428fac:	8b cf                	mov    %edi,%ecx
428fae:	e8 ed bc fe ff       	call   0x414ca0
428fb3:	89 44 24 34          	mov    %eax,0x34(%esp)
428fb7:	39 35 a8 67 43 00    	cmp    %esi,0x4367a8