402ca3:	33 c0                	xor    %eax,%eax
402ca5:	5b                   	pop    %ebx
402ca6:	81 c4 14 01 00 00    	add    $0x114,%esp
402cac:	c3                   	ret
402cad:	b8 fb ff ff ff       	mov    $0xfffffffb,%eax
402cb2:	5f                   	pop    %edi
402cb3:	5e                   	pop    %esi
402cb4:	5b                   	pop    %ebx
402cb5:	81 c4 14 01 00 00    	add    $0x114,%esp
402cbb:	c3                   	ret
402cbc:	cc                   	int3
402cbd:	cc                   	int3
402cbe:	cc                   	int3
402cbf:	cc                   	int3
402cc0:	51                   	push   %ecx
402cc1:	8b 0d 24 03 47 00    	mov    0x470324,%ecx
402cc7:	85 c9                	test   %ecx,%ecx
402cc9:	75 13                	jne    0x402cde
402ccb:	68 60 c0 45 00       	push   $0x45c060
402cd0:	ff 15 38 34 47 00    	call   *0x473438
402cd6:	8b c8                	mov    %eax,%ecx
402cd8:	89 0d 24 03 47 00    	mov    %ecx,0x470324
402cde:	a1 20 03 47 00       	mov    0x470320,%eax
402ce3:	85 c0                	test   %eax,%eax
402ce5:	75 1d                	jne    0x402d04
402ce7:	85 c9                	test   %ecx,%ecx
402ce9:	74 15                	je     0x402d00
402ceb:	68 50 c0 45 00       	push   $0x45c050
402cf0:	51                   	push   %ecx
402cf1:	ff 15 34 34 47 00    	call   *0x473434
402cf7:	a3 20 03 47 00       	mov    %eax,0x470320
402cfc:	85 c0                	test   %eax,%eax
402cfe:	75 04                	jne    0x402d04
402d00:	33 c0                	xor    %eax,%eax
402d02:	59                   	pop    %ecx
402d03:	c3                   	ret
402d04:	8b 54 24 08          	mov    0x8(%esp),%edx
402d08:	8d 0c 24             	lea    (%esp),%ecx
402d0b:	51                   	push   %ecx
402d0c:	52                   	push   %edx
402d0d:	ff d0                	call   *%eax
402d0f:	f7 d8                	neg    %eax
402d11:	1b c0                	sbb    %eax,%eax
402d13:	23 04 24             	and    (%esp),%eax
402d16:	59                   	pop    %ecx
402d17:	c3                   	ret
402d18:	cc                   	int3
402d19:	cc                   	int3
402d1a:	cc                   	int3
402d1b:	cc                   	int3
402d1c:	cc                   	int3
402d1d:	cc                   	int3
402d1e:	cc                   	int3
402d1f:	cc                   	int3
402d20:	83 7c 24 04 00       	cmpl   $0x0,0x4(%esp)
402d25:	74 36                	je     0x402d5d
402d27:	33 c0                	xor    %eax,%eax
402d29:	66 a3 30 03 47 00    	mov    %ax,0x470330
402d2f:	68 04 01 00 00       	push   $0x104
402d34:	68 30 03 47 00       	push   $0x470330
402d39:	68 90 c0 45 00       	push   $0x45c090
402d3e:	6a 00                	push   $0x0
402d40:	68 7c c0 45 00       	push   $0x45c07c
402d45:	e8 66 55 00 00       	call   0x4082b0
402d4a:	83 c4 14             	add    $0x14,%esp
402d4d:	85 c0                	test   %eax,%eax
402d4f:	75 09                	jne    0x402d5a
402d51:	66 39 05 30 03 47 00 	cmp    %ax,0x470330
402d58:	75 0d                	jne    0x402d67
402d5a:	33 c0                	xor    %eax,%eax
402d5c:	c3                   	ret
402d5d:	66 83 3d 30 03 47 00 	cmpw   $0x0,0x470330
402d64:	00
402d65:	74 c8                	je     0x402d2f
402d67:	b8 30 03 47 00       	mov    $0x470330,%eax
402d6c:	c3                   	ret
402d6d:	cc                   	int3
402d6e:	cc                   	int3
402d6f:	cc                   	int3
402d70:	66 83 3d 30 03 47 00 	cmpw   $0x0,0x470330
402d77:	00
402d78:	74 06                	je     0x402d80
402d7a:	b8 30 03 47 00       	mov    $0x470330,%eax
402d7f:	c3                   	ret
402d80:	68 04 01 00 00       	push   $0x104
402d85:	68 30 03 47 00       	push   $0x470330
402d8a:	68 90 c0 45 00       	push   $0x45c090
402d8f:	6a 00                	push   $0x0
402d91:	68 7c c0 45 00       	push   $0x45c07c
402d96:	e8 15 55 00 00       	call   0x4082b0
402d9b:	83 c4 14             	add    $0x14,%esp
402d9e:	85 c0                	test   %eax,%eax
402da0:	75 09                	jne    0x402dab
402da2:	66 39 05 30 03 47 00 	cmp    %ax,0x470330
402da9:	75 cf                	jne    0x402d7a
402dab:	33 c0                	xor    %eax,%eax
402dad:	c3                   	ret
402dae:	cc                   	int3
402daf:	cc                   	int3
402db0:	83 7c 24 04 00       	cmpl   $0x0,0x4(%esp)
402db5:	74 36                	je     0x402ded
402db7:	33 c0                	xor    %eax,%eax
402db9:	66 a3 38 05 47 00    	mov    %ax,0x470538
402dbf:	68 04 01 00 00       	push   $0x104
402dc4:	68 38 05 47 00       	push   $0x470538
402dc9:	68 b0 c0 45 00       	push   $0x45c0b0
402dce:	6a 00                	push   $0x0
402dd0:	68 7c c0 45 00       	push   $0x45c07c
402dd5:	e8 d6 54 00 00       	call   0x4082b0
402dda:	83 c4 14             	add    $0x14,%esp
402ddd:	85 c0                	test   %eax,%eax
402ddf:	75 09                	jne    0x402dea
402de1:	66 39 05 38 05 47 00 	cmp    %ax,0x470538
402de8:	75 0d                	jne    0x402df7
402dea:	33 c0                	xor    %eax,%eax
402dec:	c3                   	ret
402ded:	66 83 3d 38 05 47 00 	cmpw   $0x0,0x470538
402df4:	00
402df5:	74 c8                	je     0x402dbf
402df7:	b8 38 05 47 00       	mov    $0x470538,%eax
402dfc:	c3                   	ret
402dfd:	cc                   	int3
402dfe:	cc                   	int3
402dff:	cc                   	int3
402e00:	66 83 3d 38 05 47 00 	cmpw   $0x0,0x470538
402e07:	00
402e08:	74 06                	je     0x402e10
402e0a:	b8 38 05 47 00       	mov    $0x470538,%eax
402e0f:	c3                   	ret
402e10:	68 04 01 00 00       	push   $0x104
402e15:	68 38 05 47 00       	push   $0x470538
402e1a:	68 b0 c0 45 00       	push   $0x45c0b0
402e1f:	6a 00                	push   $0x0
402e21:	68 7c c0 45 00       	push   $0x45c07c
402e26:	e8 85 54 00 00       	call   0x4082b0
402e2b:	83 c4 14             	add    $0x14,%esp
402e2e:	85 c0                	test   %eax,%eax
402e30:	75 09                	jne    0x402e3b
402e32:	66 39 05 38 05 47 00 	cmp    %ax,0x470538
402e39:	75 cf                	jne    0x402e0a
402e3b:	33 c0                	xor    %eax,%eax
402e3d:	c3                   	ret
402e3e:	cc                   	int3
402e3f:	cc                   	int3
402e40:	83 7c 24 0c 00       	cmpl   $0x0,0xc(%esp)
402e45:	56                   	push   %esi
402e46:	57                   	push   %edi
402e47:	8b 7c 24 10          	mov    0x10(%esp),%edi
402e4b:	75 2a                	jne    0x402e77
402e4d:	6a 00                	push   $0x0
402e4f:	e8 ac 1c 00 00       	call   0x404b00
402e54:	83 c4 04             	add    $0x4,%esp
402e57:	85 c0                	test   %eax,%eax
402e59:	74 1c                	je     0x402e77
402e5b:	8b 74 24 0c          	mov    0xc(%esp),%esi
402e5f:	68 04 01 00 00       	push   $0x104
402e64:	56                   	push   %esi
402e65:	ff 15 68 34 47 00    	call   *0x473468
402e6b:	85 c0                	test   %eax,%eax
402e6d:	75 5d                	jne    0x402ecc
402e6f:	5f                   	pop    %edi
402e70:	5e                   	pop    %esi
402e71:	ff 25 24 34 47 00    	jmp    *0x473424
402e77:	66 83 3d 30 03 47 00 	cmpw   $0x0,0x470330
402e7e:	00
402e7f:	75 32                	jne    0x402eb3
402e81:	68 04 01 00 00       	push   $0x104
402e86:	68 30 03 47 00       	push   $0x470330
402e8b:	68 90 c0 45 00       	push   $0x45c090
402e90:	6a 00                	push   $0x0
402e92:	68 7c c0 45 00       	push   $0x45c07c
402e97:	e8 14 54 00 00       	call   0x4082b0
402e9c:	83 c4 14             	add    $0x14,%esp
402e9f:	85 c0                	test   %eax,%eax
402ea1:	75 09                	jne    0x402eac
402ea3:	66 39 05 30 03 47 00 	cmp    %ax,0x470330
402eaa:	75 07                	jne    0x402eb3
402eac:	b8 c8 be 45 00       	mov    $0x45bec8,%eax
402eb1:	eb 05                	jmp    0x402eb8
402eb3:	b8 30 03 47 00       	mov    $0x470330,%eax
402eb8:	8b 74 24 0c          	mov    0xc(%esp),%esi
402ebc:	50                   	push   %eax
402ebd:	68 d4 c0 45 00       	push   $0x45c0d4
402ec2:	57                   	push   %edi
402ec3:	56                   	push   %esi
402ec4:	e8 96 d7 02 00       	call   0x43065f
402ec9:	83 c4 10             	add    $0x10,%esp
402ecc:	33 c0                	xor    %eax,%eax
402ece:	66 89 44 7e fe       	mov    %ax,-0x2(%esi,%edi,2)
402ed3:	39 44 24 18          	cmp    %eax,0x18(%esp)
402ed7:	74 09                	je     0x402ee2
402ed9:	57                   	push   %edi
402eda:	56                   	push   %esi
402edb:	56                   	push   %esi
402edc:	ff 15 64 34 47 00    	call   *0x473464
402ee2:	5f                   	pop    %edi
402ee3:	33 c0                	xor    %eax,%eax
402ee5:	5e                   	pop    %esi
402ee6:	c3                   	ret
402ee7:	cc                   	int3
402ee8:	cc                   	int3
402ee9:	cc                   	int3
402eea:	cc                   	int3
402eeb:	cc                   	int3
402eec:	cc                   	int3
402eed:	cc                   	int3
402eee:	cc                   	int3
402eef:	cc                   	int3
402ef0:	8b 44 24 04          	mov    0x4(%esp),%eax
402ef4:	a3 40 07 47 00       	mov    %eax,0x470740
402ef9:	c3                   	ret
402efa:	cc                   	int3
402efb:	cc                   	int3
402efc:	cc                   	int3
402efd:	cc                   	int3
402efe:	cc                   	int3
402eff:	cc                   	int3
402f00:	33 c0                	xor    %eax,%eax
402f02:	83 3d 40 07 47 00 02 	cmpl   $0x2,0x470740
402f09:	0f 94 c0             	sete   %al
402f0c:	40                   	inc    %eax
402f0d:	c3                   	ret
402f0e:	cc                   	int3
402f0f:	cc                   	int3
402f10:	51                   	push   %ecx
402f11:	8d 04 24             	lea    (%esp),%eax
402f14:	50                   	push   %eax
402f15:	c7 44 24 04 00 00 00 	movl   $0x0,0x4(%esp)
402f1c:	00
402f1d:	e8 ee fb ff ff       	call   0x402b10
402f22:	8b 44 24 04          	mov    0x4(%esp),%eax
402f26:	83 c4 04             	add    $0x4,%esp
402f29:	3d 82 00 00 00       	cmp    $0x82,%eax
402f2e:	74 23                	je     0x402f53
402f30:	83 f8 64             	cmp    $0x64,%eax
402f33:	74 1e                	je     0x402f53
402f35:	a1 40 07 47 00       	mov    0x470740,%eax
402f3a:	83 e8 00             	sub    $0x0,%eax
402f3d:	74 14                	je     0x402f53
402f3f:	48                   	dec    %eax
402f40:	74 0a                	je     0x402f4c
402f42:	48                   	dec    %eax
402f43:	75 0e                	jne    0x402f53
402f45:	b8 00 01 00 00       	mov    $0x100,%eax
402f4a:	59                   	pop    %ecx
402f4b:	c3                   	ret
402f4c:	b8 00 02 00 00       	mov    $0x200,%eax
402f51:	59                   	pop    %ecx
402f52:	c3                   	ret
402f53:	33 c0                	xor    %eax,%eax
402f55:	59                   	pop    %ecx
402f56:	c3                   	ret
402f57:	cc                   	int3
402f58:	cc                   	int3
402f59:	cc                   	int3
402f5a:	cc                   	int3
402f5b:	cc                   	int3
402f5c:	cc                   	int3
402f5d:	cc                   	int3
402f5e:	cc                   	int3
402f5f:	cc                   	int3
402f60:	51                   	push   %ecx
402f61:	a1 2c 03 47 00       	mov    0x47032c,%eax
402f66:	85 c0                	test   %eax,%eax
402f68:	75 10                	jne    0x402f7a
402f6a:	68 f4 c0 45 00       	push   $0x45c0f4
402f6f:	ff 15 38 34 47 00    	call   *0x473438
402f75:	a3 2c 03 47 00       	mov    %eax,0x47032c
402f7a:	83 3d 28 03 47 00 00 	cmpl   $0x0,0x470328
402f81:	75 2b                	jne    0x402fae
402f83:	85 c0                	test   %eax,%eax
402f85:	74 15                	je     0x402f9c
402f87:	68 e4 c0 45 00       	push   $0x45c0e4
402f8c:	50                   	push   %eax
402f8d:	ff 15 34 34 47 00    	call   *0x473434
402f93:	a3 28 03 47 00       	mov    %eax,0x470328
402f98:	85 c0                	test   %eax,%eax
402f9a:	75 12                	jne    0x402fae
402f9c:	8b 44 24 0c          	mov    0xc(%esp),%eax
402fa0:	8b 4c 24 08          	mov    0x8(%esp),%ecx
402fa4:	50                   	push   %eax
402fa5:	51                   	push   %ecx
402fa6:	ff 15 64 33 47 00    	call   *0x473364
402fac:	59                   	pop    %ecx
402fad:	c3                   	ret
402fae:	8d 14 24             	lea    (%esp),%edx
402fb1:	52                   	push   %edx
402fb2:	c7 44 24 04 00 00 00 	movl   $0x0,0x4(%esp)
402fb9:	00
402fba:	e8 51 fb ff ff       	call   0x402b10
402fbf:	8b 44 24 04          	mov    0x4(%esp),%eax
402fc3:	83 c4 04             	add    $0x4,%esp
402fc6:	3d 82 00 00 00       	cmp    $0x82,%eax
402fcb:	74 49                	je     0x403016
402fcd:	83 f8 64             	cmp    $0x64,%eax
402fd0:	74 44                	je     0x403016
402fd2:	a1 40 07 47 00       	mov    0x470740,%eax
402fd7:	83 e8 00             	sub    $0x0,%eax
402fda:	74 3a                	je     0x403016
402fdc:	48                   	dec    %eax
402fdd:	74 1d                	je     0x402ffc
402fdf:	48                   	dec    %eax
402fe0:	75 34                	jne    0x403016
402fe2:	8b 4c 24 08          	mov    0x8(%esp),%ecx
402fe6:	6a 00                	push   $0x0
402fe8:	b8 00 01 00 00       	mov    $0x100,%eax
402fed:	50                   	push   %eax
402fee:	8b 44 24 14          	mov    0x14(%esp),%eax
402ff2:	50                   	push   %eax
402ff3:	51                   	push   %ecx
402ff4:	ff 15 28 03 47 00    	call   *0x470328
402ffa:	59                   	pop    %ecx
402ffb:	c3                   	ret
402ffc:	8b 4c 24 08          	mov    0x8(%esp),%ecx
403000:	6a 00                	push   $0x0
403002:	b8 00 02 00 00       	mov    $0x200,%eax
403007:	50                   	push   %eax
403008:	8b 44 24 14          	mov    0x14(%esp),%eax
40300c:	50                   	push   %eax
40300d:	51                   	push   %ecx
40300e:	ff 15 28 03 47 00    	call   *0x470328
403014:	59                   	pop    %ecx
403015:	c3                   	ret
403016:	8b 4c 24 08          	mov    0x8(%esp),%ecx
40301a:	33 c0                	xor    %eax,%eax
40301c:	50                   	push   %eax
40301d:	50                   	push   %eax
40301e:	8b 44 24 14          	mov    0x14(%esp),%eax
403022:	50                   	push   %eax
403023:	51                   	push   %ecx
403024:	ff 15 28 03 47 00    	call   *0x470328
40302a:	59                   	pop    %ecx
40302b:	c3                   	ret
40302c:	cc                   	int3
40302d:	cc                   	int3
40302e:	cc                   	int3
40302f:	cc                   	int3
403030:	83 ec 08             	sub    $0x8,%esp
403033:	8d 04 24             	lea    (%esp),%eax
403036:	50                   	push   %eax
403037:	c7 44 24 04 00 00 00 	movl   $0x0,0x4(%esp)
40303e:	00
40303f:	e8 cc fa ff ff       	call   0x402b10
403044:	8b 44 24 04          	mov    0x4(%esp),%eax
403048:	83 c4 04             	add    $0x4,%esp
40304b:	3d 82 00 00 00       	cmp    $0x82,%eax
403050:	74 23                	je     0x403075
403052:	83 f8 64             	cmp    $0x64,%eax
403055:	74 1e                	je     0x403075
403057:	a1 40 07 47 00       	mov    0x470740,%eax