402c88:	ff 15 bc 81 40 00    	call   *0x4081bc
402c8e:	83 c4 14             	add    $0x14,%esp
402c91:	33 db                	xor    %ebx,%ebx
402c93:	43                   	inc    %ebx
402c94:	56                   	push   %esi
402c95:	e8 53 39 00 00       	call   0x4065ed
402c9a:	59                   	pop    %ecx
402c9b:	ff 74 24 14          	push   0x14(%esp)
402c9f:	8d 44 24 1c          	lea    0x1c(%esp),%eax
402ca3:	6a 00                	push   $0x0
402ca5:	50                   	push   %eax
402ca6:	6a 00                	push   $0x0
402ca8:	57                   	push   %edi
402ca9:	8d 44 24 24          	lea    0x24(%esp),%eax
402cad:	50                   	push   %eax
402cae:	ff 15 2c 81 40 00    	call   *0x40812c
402cb4:	85 c0                	test   %eax,%eax
402cb6:	0f 84 c9 fe ff ff    	je     0x402b85
402cbc:	3b 7d 08             	cmp    0x8(%ebp),%edi
402cbf:	74 07                	je     0x402cc8
402cc1:	57                   	push   %edi
402cc2:	ff 15 e0 80 40 00    	call   *0x4080e0
402cc8:	5f                   	pop    %edi
402cc9:	5e                   	pop    %esi
402cca:	8b c3                	mov    %ebx,%eax
402ccc:	5b                   	pop    %ebx
402ccd:	8b e5                	mov    %ebp,%esp
402ccf:	5d                   	pop    %ebp
402cd0:	c2 08 00             	ret    $0x8
402cd3:	cc                   	int3
402cd4:	cc                   	int3
402cd5:	cc                   	int3
402cd6:	cc                   	int3
402cd7:	cc                   	int3
402cd8:	cc                   	int3
402cd9:	8b ff                	mov    %edi,%edi
402cdb:	55                   	push   %ebp
402cdc:	8b ec                	mov    %esp,%ebp
402cde:	81 ec 38 02 00 00    	sub    $0x238,%esp
402ce4:	a1 b4 71 40 00       	mov    0x4071b4,%eax
402ce9:	33 c5                	xor    %ebp,%eax
402ceb:	89 45 fc             	mov    %eax,-0x4(%ebp)
402cee:	56                   	push   %esi
402cef:	57                   	push   %edi
402cf0:	8d 85 d4 fd ff ff    	lea    -0x22c(%ebp),%eax
402cf6:	c7 85 d4 fd ff ff 26 	movl   $0x226,-0x22c(%ebp)
402cfd:	02 00 00
402d00:	33 ff                	xor    %edi,%edi
402d02:	8b f2                	mov    %edx,%esi
402d04:	50                   	push   %eax
402d05:	51                   	push   %ecx
402d06:	89 bd d0 fd ff ff    	mov    %edi,-0x230(%ebp)
402d0c:	89 bd c8 fd ff ff    	mov    %edi,-0x238(%ebp)
402d12:	89 bd cc fd ff ff    	mov    %edi,-0x234(%ebp)
402d18:	ff 15 0c 81 40 00    	call   *0x40810c
402d1e:	85 c0                	test   %eax,%eax
402d20:	0f 84 17 01 00 00    	je     0x402e3d
402d26:	ff b5 e8 fd ff ff    	push   -0x218(%ebp)
402d2c:	8d 85 c8 fd ff ff    	lea    -0x238(%ebp),%eax
402d32:	57                   	push   %edi
402d33:	ff 76 14             	push   0x14(%esi)
402d36:	50                   	push   %eax
402d37:	8d 85 d0 fd ff ff    	lea    -0x230(%ebp),%eax
402d3d:	50                   	push   %eax
402d3e:	ff 15 30 81 40 00    	call   *0x408130
402d44:	85 c0                	test   %eax,%eax
402d46:	0f 85 f1 00 00 00    	jne    0x402e3d
402d4c:	bf 00 04 00 00       	mov    $0x400,%edi
402d51:	85 bd d0 fd ff ff    	test   %edi,-0x230(%ebp)
402d57:	75 1c                	jne    0x402d75
402d59:	ff b5 e8 fd ff ff    	push   -0x218(%ebp)
402d5f:	8d 85 cc fd ff ff    	lea    -0x234(%ebp),%eax
402d65:	6a 02                	push   $0x2
402d67:	ff 76 14             	push   0x14(%esi)
402d6a:	50                   	push   %eax
402d6b:	ff 15 54 81 40 00    	call   *0x408154
402d71:	85 c0                	test   %eax,%eax
402d73:	74 7c                	je     0x402df1
402d75:	ff b5 e8 fd ff ff    	push   -0x218(%ebp)
402d7b:	8d 85 cc fd ff ff    	lea    -0x234(%ebp),%eax
402d81:	6a 04                	push   $0x4
402d83:	ff 76 14             	push   0x14(%esi)
402d86:	50                   	push   %eax
402d87:	ff 15 54 81 40 00    	call   *0x408154
402d8d:	85 c0                	test   %eax,%eax
402d8f:	74 60                	je     0x402df1
402d91:	85 bd d0 fd ff ff    	test   %edi,-0x230(%ebp)
402d97:	74 09                	je     0x402da2
402d99:	83 bd c8 fd ff ff 1d 	cmpl   $0x1d,-0x238(%ebp)
402da0:	74 1c                	je     0x402dbe
402da2:	ff b5 e8 fd ff ff    	push   -0x218(%ebp)
402da8:	8d 85 cc fd ff ff    	lea    -0x234(%ebp),%eax
402dae:	6a 03                	push   $0x3
402db0:	ff 76 14             	push   0x14(%esi)
402db3:	50                   	push   %eax
402db4:	ff 15 54 81 40 00    	call   *0x408154
402dba:	85 c0                	test   %eax,%eax
402dbc:	74 33                	je     0x402df1
402dbe:	33 c9                	xor    %ecx,%ecx
402dc0:	41                   	inc    %ecx
402dc1:	e8 ac ec ff ff       	call   0x401a72
402dc6:	8b 85 d0 fd ff ff    	mov    -0x230(%ebp),%eax
402dcc:	24 08                	and    $0x8,%al
402dce:	0f b6 f0             	movzbl %al,%esi
402dd1:	f7 de                	neg    %esi
402dd3:	6a 01                	push   $0x1
402dd5:	1b f6                	sbb    %esi,%esi
402dd7:	81 c6 ee ed 00 00    	add    $0xedee,%esi
402ddd:	e8 97 40 00 00       	call   0x406e79
402de2:	56                   	push   %esi
402de3:	50                   	push   %eax
402de4:	e8 f4 eb ff ff       	call   0x4019dd
402de9:	83 c4 0c             	add    $0xc,%esp
402dec:	33 c0                	xor    %eax,%eax
402dee:	40                   	inc    %eax
402def:	eb 4e                	jmp    0x402e3f
402df1:	33 c9                	xor    %ecx,%ecx
402df3:	41                   	inc    %ecx
402df4:	e8 79 ec ff ff       	call   0x401a72
402df9:	8b 85 d0 fd ff ff    	mov    -0x230(%ebp),%eax
402dff:	24 08                	and    $0x8,%al
402e01:	0f b6 f0             	movzbl %al,%esi
402e04:	f7 de                	neg    %esi
402e06:	6a 01                	push   $0x1
402e08:	1b f6                	sbb    %esi,%esi
402e0a:	81 c6 f0 ed 00 00    	add    $0xedf0,%esi
402e10:	e8 64 40 00 00       	call   0x406e79
402e15:	56                   	push   %esi
402e16:	50                   	push   %eax
402e17:	e8 c1 eb ff ff       	call   0x4019dd
402e1c:	8b 95 e8 fd ff ff    	mov    -0x218(%ebp),%edx
402e22:	59                   	pop    %ecx
402e23:	59                   	pop    %ecx
402e24:	ff b5 cc fd ff ff    	push   -0x234(%ebp)
402e2a:	e8 17 fd ff ff       	call   0x402b46
402e2f:	ff b5 cc fd ff ff    	push   -0x234(%ebp)
402e35:	ff 15 d4 80 40 00    	call   *0x4080d4
402e3b:	eb af                	jmp    0x402dec
402e3d:	33 c0                	xor    %eax,%eax
402e3f:	8b 4d fc             	mov    -0x4(%ebp),%ecx
402e42:	5f                   	pop    %edi
402e43:	33 cd                	xor    %ebp,%ecx
402e45:	5e                   	pop    %esi
402e46:	e8 95 3a 00 00       	call   0x4068e0
402e4b:	c9                   	leave
402e4c:	c3                   	ret
402e4d:	cc                   	int3
402e4e:	cc                   	int3
402e4f:	cc                   	int3
402e50:	cc                   	int3
402e51:	cc                   	int3
402e52:	cc                   	int3
402e53:	cc                   	int3
402e54:	cc                   	int3
402e55:	cc                   	int3
402e56:	cc                   	int3
402e57:	cc                   	int3
402e58:	cc                   	int3
402e59:	cc                   	int3
402e5a:	cc                   	int3
402e5b:	cc                   	int3
402e5c:	cc                   	int3
402e5d:	cc                   	int3
402e5e:	cc                   	int3
402e5f:	cc                   	int3
402e60:	8b ff                	mov    %edi,%edi
402e62:	55                   	push   %ebp
402e63:	8b ec                	mov    %esp,%ebp
402e65:	8b 45 08             	mov    0x8(%ebp),%eax
402e68:	85 c0                	test   %eax,%eax
402e6a:	74 04                	je     0x402e70
402e6c:	ff 00                	incl   (%eax)
402e6e:	eb 18                	jmp    0x402e88
402e70:	6a 02                	push   $0x2
402e72:	59                   	pop    %ecx
402e73:	e8 fa eb ff ff       	call   0x401a72
402e78:	ff 75 10             	push   0x10(%ebp)
402e7b:	68 d4 11 40 00       	push   $0x4011d4
402e80:	ff 15 bc 81 40 00    	call   *0x4081bc
402e86:	59                   	pop    %ecx
402e87:	59                   	pop    %ecx
402e88:	33 c0                	xor    %eax,%eax
402e8a:	5d                   	pop    %ebp
402e8b:	c2 10 00             	ret    $0x10
402e8e:	cc                   	int3
402e8f:	cc                   	int3
402e90:	cc                   	int3
402e91:	cc                   	int3
402e92:	cc                   	int3
402e93:	cc                   	int3
402e94:	8b ff                	mov    %edi,%edi
402e96:	55                   	push   %ebp
402e97:	8b ec                	mov    %esp,%ebp
402e99:	b8 6c 10 00 00       	mov    $0x106c,%eax
402e9e:	e8 fd 3f 00 00       	call   0x406ea0
402ea3:	a1 b4 71 40 00       	mov    0x4071b4,%eax
402ea8:	33 c5                	xor    %ebp,%eax
402eaa:	89 45 fc             	mov    %eax,-0x4(%ebp)
402ead:	8b 45 08             	mov    0x8(%ebp),%eax
402eb0:	53                   	push   %ebx
402eb1:	56                   	push   %esi
402eb2:	57                   	push   %edi
402eb3:	68 28 02 00 00       	push   $0x228
402eb8:	89 85 9c ef ff ff    	mov    %eax,-0x1064(%ebp)
402ebe:	33 db                	xor    %ebx,%ebx
402ec0:	8d 85 d4 f5 ff ff    	lea    -0xa2c(%ebp),%eax
402ec6:	8b fa                	mov    %edx,%edi
402ec8:	8b f1                	mov    %ecx,%esi
402eca:	89 bd a8 ef ff ff    	mov    %edi,-0x1058(%ebp)
402ed0:	53                   	push   %ebx
402ed1:	50                   	push   %eax
402ed2:	89 b5 94 ef ff ff    	mov    %esi,-0x106c(%ebp)
402ed8:	e8 f4 3f 00 00       	call   0x406ed1
402edd:	83 c4 0c             	add    $0xc,%esp
402ee0:	c7 85 d0 f5 ff ff 2c 	movl   $0x22c,-0xa30(%ebp)
402ee7:	02 00 00
402eea:	8d 85 d0 f5 ff ff    	lea    -0xa30(%ebp),%eax
402ef0:	50                   	push   %eax
402ef1:	57                   	push   %edi
402ef2:	56                   	push   %esi
402ef3:	ff 15 48 81 40 00    	call   *0x408148
402ef9:	85 c0                	test   %eax,%eax
402efb:	0f 84 b3 03 00 00    	je     0x4032b4
402f01:	81 8d d8 f5 ff ff 00 	orl    $0x4000800,-0xa28(%ebp)
402f08:	08 00 04
402f0b:	8d 85 d0 f5 ff ff    	lea    -0xa30(%ebp),%eax
402f11:	50                   	push   %eax
402f12:	57                   	push   %edi
402f13:	56                   	push   %esi
402f14:	ff 15 dc 80 40 00    	call   *0x4080dc
402f1a:	33 ff                	xor    %edi,%edi
402f1c:	47                   	inc    %edi
402f1d:	85 c0                	test   %eax,%eax
402f1f:	74 3a                	je     0x402f5b
402f21:	57                   	push   %edi
402f22:	ff b5 a8 ef ff ff    	push   -0x1058(%ebp)
402f28:	56                   	push   %esi
402f29:	ff 15 f0 80 40 00    	call   *0x4080f0
402f2f:	85 c0                	test   %eax,%eax
402f31:	0f 84 7d 03 00 00    	je     0x4032b4
402f37:	ff b5 9c ef ff ff    	push   -0x1064(%ebp)
402f3d:	53                   	push   %ebx
402f3e:	57                   	push   %edi
402f3f:	ff b5 a8 ef ff ff    	push   -0x1058(%ebp)
402f45:	56                   	push   %esi
402f46:	ff 15 4c 81 40 00    	call   *0x40814c
402f4c:	85 c0                	test   %eax,%eax
402f4e:	0f 84 60 03 00 00    	je     0x4032b4
402f54:	8b c7                	mov    %edi,%eax
402f56:	e9 5b 03 00 00       	jmp    0x4032b6
402f5b:	81 a5 d8 f5 ff ff ff 	andl   $0xfbfff7ff,-0xa28(%ebp)
402f62:	f7 ff fb
402f65:	68 19 00 02 00       	push   $0x20019
402f6a:	6a 02                	push   $0x2
402f6c:	53                   	push   %ebx
402f6d:	57                   	push   %edi
402f6e:	ff b5 a8 ef ff ff    	push   -0x1058(%ebp)
402f74:	56                   	push   %esi
402f75:	ff 15 3c 81 40 00    	call   *0x40813c
402f7b:	8b f0                	mov    %eax,%esi
402f7d:	89 b5 98 ef ff ff    	mov    %esi,-0x1068(%ebp)
402f83:	83 fe ff             	cmp    $0xffffffff,%esi
402f86:	75 06                	jne    0x402f8e
402f88:	50                   	push   %eax
402f89:	e9 20 03 00 00       	jmp    0x4032ae
402f8e:	8d 85 a4 ef ff ff    	lea    -0x105c(%ebp),%eax
402f94:	c7 85 a4 ef ff ff 08 	movl   $0x208,-0x105c(%ebp)
402f9b:	02 00 00
402f9e:	50                   	push   %eax
402f9f:	8d 85 f4 f5 ff ff    	lea    -0xa0c(%ebp),%eax
402fa5:	50                   	push   %eax
402fa6:	8d 85 a0 ef ff ff    	lea    -0x1060(%ebp),%eax
402fac:	50                   	push   %eax
402fad:	53                   	push   %ebx
402fae:	68 74 12 40 00       	push   $0x401274
402fb3:	56                   	push   %esi
402fb4:	ff 15 00 80 40 00    	call   *0x408000
402fba:	85 c0                	test   %eax,%eax
402fbc:	0f 85 eb 02 00 00    	jne    0x4032ad
402fc2:	39 bd a0 ef ff ff    	cmp    %edi,-0x1060(%ebp)
402fc8:	0f 85 df 02 00 00    	jne    0x4032ad
402fce:	8d 85 a4 ef ff ff    	lea    -0x105c(%ebp),%eax
402fd4:	c7 85 a4 ef ff ff 00 	movl   $0x200,-0x105c(%ebp)
402fdb:	02 00 00
402fde:	50                   	push   %eax
402fdf:	8d 85 fc fb ff ff    	lea    -0x404(%ebp),%eax
402fe5:	50                   	push   %eax
402fe6:	8d 85 a0 ef ff ff    	lea    -0x1060(%ebp),%eax
402fec:	50                   	push   %eax
402fed:	53                   	push   %ebx
402fee:	68 84 12 40 00       	push   $0x401284
402ff3:	56                   	push   %esi
402ff4:	ff 15 00 80 40 00    	call   *0x408000
402ffa:	85 c0                	test   %eax,%eax
402ffc:	0f 85 ab 02 00 00    	jne    0x4032ad
403002:	39 bd a0 ef ff ff    	cmp    %edi,-0x1060(%ebp)
403008:	0f 85 9f 02 00 00    	jne    0x4032ad
40300e:	8d 85 a4 ef ff ff    	lea    -0x105c(%ebp),%eax
403014:	c7 85 a4 ef ff ff 00 	movl   $0x200,-0x105c(%ebp)
40301b:	02 00 00
40301e:	50                   	push   %eax
40301f:	8d 85 fc f9 ff ff    	lea    -0x604(%ebp),%eax
403025:	50                   	push   %eax
403026:	8d 85 a0 ef ff ff    	lea    -0x1060(%ebp),%eax
40302c:	50                   	push   %eax
40302d:	53                   	push   %ebx
40302e:	68 a0 12 40 00       	push   $0x4012a0
403033:	56                   	push   %esi
403034:	ff 15 00 80 40 00    	call   *0x408000
40303a:	85 c0                	test   %eax,%eax
40303c:	0f 85 6b 02 00 00    	jne    0x4032ad
403042:	39 bd a0 ef ff ff    	cmp    %edi,-0x1060(%ebp)
403048:	0f 85 5f 02 00 00    	jne    0x4032ad
40304e:	8d 85 a4 ef ff ff    	lea    -0x105c(%ebp),%eax
403054:	c7 85 a4 ef ff ff 00 	movl   $0x200,-0x105c(%ebp)
40305b:	02 00 00
40305e:	50                   	push   %eax
40305f:	8d 85 fc f7 ff ff    	lea    -0x804(%ebp),%eax
403065:	50                   	push   %eax
403066:	8d 85 a0 ef ff ff    	lea    -0x1060(%ebp),%eax
40306c:	50                   	push   %eax
40306d:	53                   	push   %ebx
40306e:	68 b8 12 40 00       	push   $0x4012b8
403073:	56                   	push   %esi
403074:	ff 15 00 80 40 00    	call   *0x408000
40307a:	ff b5 98 ef ff ff    	push   -0x1068(%ebp)
403080:	8b f0                	mov    %eax,%esi
403082:	ff 15 14 80 40 00    	call   *0x408014
403088:	85 f6                	test   %esi,%esi
40308a:	0f 85 24 02 00 00    	jne    0x4032b4
403090:	39 bd a0 ef ff ff    	cmp    %edi,-0x1060(%ebp)
403096:	0f 85 18 02 00 00    	jne    0x4032b4
40309c:	8b b5 94 ef ff ff    	mov    -0x106c(%ebp),%esi
4030a2:	8d 85 fc fd ff ff    	lea    -0x204(%ebp),%eax
4030a8:	53                   	push   %ebx
4030a9:	68 00 02 00 00       	push   $0x200
4030ae:	50                   	push   %eax
4030af:	53                   	push   %ebx
4030b0:	6a 0b                	push   $0xb
4030b2:	ff b5 a8 ef ff ff    	push   -0x1058(%ebp)
4030b8:	56                   	push   %esi
4030b9:	ff 15 18 81 40 00    	call   *0x408118
4030bf:	85 c0                	test   %eax,%eax
4030c1:	0f 84 ed 01 00 00    	je     0x4032b4
4030c7:	81 8d d4 f5 ff ff 00 	orl    $0x10000,-0xa2c(%ebp)
4030ce:	00 01 00
4030d1:	8d 85 d0 f5 ff ff    	lea    -0xa30(%ebp),%eax
4030d7:	81 8d d8 f5 ff ff 00 	orl    $0x800,-0xa28(%ebp)
4030de:	08 00 00
4030e1:	50                   	push   %eax