402c4a:	eb 23                	jmp    0x402c6f
402c4c:	56                   	push   %esi
402c4d:	68 3b 2b 40 00       	push   $0x402b3b
402c52:	56                   	push   %esi
402c53:	6a 6f                	push   $0x6f
402c55:	ff 35 a0 3e 42 00    	push   0x423ea0
402c5b:	ff 15 ec 71 40 00    	call   *0x4071ec
402c61:	6a 05                	push   $0x5
402c63:	50                   	push   %eax
402c64:	a3 4c 70 41 00       	mov    %eax,0x41704c
402c69:	ff 15 60 72 40 00    	call   *0x407260
402c6f:	5e                   	pop    %esi
402c70:	c9                   	leave
402c71:	c3                   	ret
402c72:	55                   	push   %ebp
402c73:	8b ec                	mov    %esp,%ebp
402c75:	81 ec 28 01 00 00    	sub    $0x128,%esp
402c7b:	53                   	push   %ebx
402c7c:	56                   	push   %esi
402c7d:	33 db                	xor    %ebx,%ebx
402c7f:	57                   	push   %edi
402c80:	89 5d fc             	mov    %ebx,-0x4(%ebp)
402c83:	89 5d f8             	mov    %ebx,-0x8(%ebp)
402c86:	ff 15 8c 70 40 00    	call   *0x40708c
402c8c:	be 00 ac 42 00       	mov    $0x42ac00,%esi
402c91:	68 00 04 00 00       	push   $0x400
402c96:	05 e8 03 00 00       	add    $0x3e8,%eax
402c9b:	56                   	push   %esi
402c9c:	53                   	push   %ebx
402c9d:	a3 ac 3e 42 00       	mov    %eax,0x423eac
402ca2:	ff 15 98 70 40 00    	call   *0x407098
402ca8:	6a 03                	push   $0x3
402caa:	68 00 00 00 80       	push   $0x80000000
402caf:	56                   	push   %esi
402cb0:	e8 88 2b 00 00       	call   0x40583d
402cb5:	8b f8                	mov    %eax,%edi
402cb7:	83 ff ff             	cmp    $0xffffffff,%edi
402cba:	89 3d 14 90 40 00    	mov    %edi,0x409014
402cc0:	75 0a                	jne    0x402ccc
402cc2:	b8 74 91 40 00       	mov    $0x409174,%eax
402cc7:	e9 45 02 00 00       	jmp    0x402f11
402ccc:	56                   	push   %esi
402ccd:	be 00 9c 42 00       	mov    $0x429c00,%esi
402cd2:	56                   	push   %esi
402cd3:	e8 8e 2e 00 00       	call   0x405b66
402cd8:	56                   	push   %esi
402cd9:	e8 c2 29 00 00       	call   0x4056a0
402cde:	50                   	push   %eax
402cdf:	68 00 b0 42 00       	push   $0x42b000
402ce4:	e8 7d 2e 00 00       	call   0x405b66
402ce9:	53                   	push   %ebx
402cea:	57                   	push   %edi
402ceb:	ff 15 94 70 40 00    	call   *0x407094
402cf1:	3b c3                	cmp    %ebx,%eax
402cf3:	a3 50 f0 41 00       	mov    %eax,0x41f050
402cf8:	8b f0                	mov    %eax,%esi
402cfa:	0f 8e ea 00 00 00    	jle    0x402dea
402d00:	a1 b4 3e 42 00       	mov    0x423eb4,%eax
402d05:	8b fe                	mov    %esi,%edi
402d07:	f7 d8                	neg    %eax
402d09:	1b c0                	sbb    %eax,%eax
402d0b:	25 00 7e 00 00       	and    $0x7e00,%eax
402d10:	05 00 02 00 00       	add    $0x200,%eax
402d15:	3b f0                	cmp    %eax,%esi
402d17:	7c 02                	jl     0x402d1b
402d19:	8b f8                	mov    %eax,%edi
402d1b:	57                   	push   %edi
402d1c:	68 50 70 41 00       	push   $0x417050
402d21:	e8 99 04 00 00       	call   0x4031bf
402d26:	85 c0                	test   %eax,%eax
402d28:	0f 84 57 01 00 00    	je     0x402e85
402d2e:	39 1d b4 3e 42 00    	cmp    %ebx,0x423eb4
402d34:	75 7e                	jne    0x402db4
402d36:	6a 1c                	push   $0x1c
402d38:	8d 45 dc             	lea    -0x24(%ebp),%eax
402d3b:	68 50 70 41 00       	push   $0x417050
402d40:	50                   	push   %eax
402d41:	e8 b8 2a 00 00       	call   0x4057fe
402d46:	8b 45 dc             	mov    -0x24(%ebp),%eax
402d49:	a9 f0 ff ff ff       	test   $0xfffffff0,%eax
402d4e:	75 71                	jne    0x402dc1
402d50:	81 7d e0 ef be ad de 	cmpl   $0xdeadbeef,-0x20(%ebp)
402d57:	75 68                	jne    0x402dc1
402d59:	81 7d ec 49 6e 73 74 	cmpl   $0x74736e49,-0x14(%ebp)
402d60:	75 5f                	jne    0x402dc1
402d62:	81 7d e8 73 6f 66 74 	cmpl   $0x74666f73,-0x18(%ebp)
402d69:	75 56                	jne    0x402dc1
402d6b:	81 7d e4 4e 75 6c 6c 	cmpl   $0x6c6c754e,-0x1c(%ebp)
402d72:	75 4d                	jne    0x402dc1
402d74:	09 45 08             	or     %eax,0x8(%ebp)
402d77:	8b 45 08             	mov    0x8(%ebp),%eax
402d7a:	8b 0d 40 70 41 00    	mov    0x417040,%ecx
402d80:	83 e0 02             	and    $0x2,%eax
402d83:	09 05 40 3f 42 00    	or     %eax,0x423f40
402d89:	8b 45 f4             	mov    -0xc(%ebp),%eax
402d8c:	3b c6                	cmp    %esi,%eax
402d8e:	89 0d b4 3e 42 00    	mov    %ecx,0x423eb4
402d94:	0f 8f 2f 01 00 00    	jg     0x402ec9
402d9a:	f6 45 08 08          	testb  $0x8,0x8(%ebp)
402d9e:	75 06                	jne    0x402da6
402da0:	f6 45 08 04          	testb  $0x4,0x8(%ebp)
402da4:	75 44                	jne    0x402dea
402da6:	ff 45 f8             	incl   -0x8(%ebp)
402da9:	8d 70 fc             	lea    -0x4(%eax),%esi
402dac:	3b fe                	cmp    %esi,%edi
402dae:	76 11                	jbe    0x402dc1
402db0:	8b fe                	mov    %esi,%edi
402db2:	eb 0d                	jmp    0x402dc1
402db4:	f6 45 08 02          	testb  $0x2,0x8(%ebp)
402db8:	75 07                	jne    0x402dc1
402dba:	53                   	push   %ebx
402dbb:	e8 13 fe ff ff       	call   0x402bd3
402dc0:	59                   	pop    %ecx
402dc1:	3b 35 50 f0 41 00    	cmp    0x41f050,%esi
402dc7:	7d 11                	jge    0x402dda
402dc9:	57                   	push   %edi
402dca:	68 50 70 41 00       	push   $0x417050
402dcf:	ff 75 fc             	push   -0x4(%ebp)
402dd2:	e8 1d 31 00 00       	call   0x405ef4
402dd7:	89 45 fc             	mov    %eax,-0x4(%ebp)
402dda:	01 3d 40 70 41 00    	add    %edi,0x417040
402de0:	2b f7                	sub    %edi,%esi
402de2:	3b f3                	cmp    %ebx,%esi
402de4:	0f 8f 16 ff ff ff    	jg     0x402d00
402dea:	6a 01                	push   $0x1
402dec:	e8 e2 fd ff ff       	call   0x402bd3
402df1:	39 1d b4 3e 42 00    	cmp    %ebx,0x423eb4
402df7:	59                   	pop    %ecx
402df8:	0f 84 cb 00 00 00    	je     0x402ec9
402dfe:	39 5d f8             	cmp    %ebx,-0x8(%ebp)
402e01:	74 2a                	je     0x402e2d
402e03:	ff 35 40 70 41 00    	push   0x417040
402e09:	e8 e3 03 00 00       	call   0x4031f1
402e0e:	8d 45 08             	lea    0x8(%ebp),%eax
402e11:	6a 04                	push   $0x4
402e13:	50                   	push   %eax
402e14:	e8 a6 03 00 00       	call   0x4031bf
402e19:	85 c0                	test   %eax,%eax
402e1b:	0f 84 a8 00 00 00    	je     0x402ec9
402e21:	8b 45 fc             	mov    -0x4(%ebp),%eax
402e24:	3b 45 08             	cmp    0x8(%ebp),%eax
402e27:	0f 85 9c 00 00 00    	jne    0x402ec9
402e2d:	ff 75 f0             	push   -0x10(%ebp)
402e30:	6a 40                	push   $0x40
402e32:	ff 15 00 71 40 00    	call   *0x407100
402e38:	b9 b8 af 40 00       	mov    $0x40afb8,%ecx
402e3d:	8b f0                	mov    %eax,%esi
402e3f:	e8 1e 31 00 00       	call   0x405f62
402e44:	8d 85 d8 fe ff ff    	lea    -0x128(%ebp),%eax
402e4a:	68 00 a4 42 00       	push   $0x42a400
402e4f:	50                   	push   %eax
402e50:	e8 17 2a 00 00       	call   0x40586c
402e55:	53                   	push   %ebx
402e56:	68 00 01 00 04       	push   $0x4000100
402e5b:	6a 02                	push   $0x2
402e5d:	53                   	push   %ebx
402e5e:	53                   	push   %ebx
402e5f:	8d 85 d8 fe ff ff    	lea    -0x128(%ebp),%eax
402e65:	68 00 00 00 c0       	push   $0xc0000000
402e6a:	50                   	push   %eax
402e6b:	ff 15 90 70 40 00    	call   *0x407090
402e71:	83 f8 ff             	cmp    $0xffffffff,%eax
402e74:	a3 18 90 40 00       	mov    %eax,0x409018
402e79:	75 14                	jne    0x402e8f
402e7b:	b8 30 91 40 00       	mov    $0x409130,%eax
402e80:	e9 8c 00 00 00       	jmp    0x402f11
402e85:	6a 01                	push   $0x1
402e87:	e8 47 fd ff ff       	call   0x402bd3
402e8c:	59                   	pop    %ecx
402e8d:	eb 3a                	jmp    0x402ec9
402e8f:	a1 b4 3e 42 00       	mov    0x423eb4,%eax
402e94:	83 c0 1c             	add    $0x1c,%eax
402e97:	50                   	push   %eax
402e98:	e8 54 03 00 00       	call   0x4031f1
402e9d:	8b 4d dc             	mov    -0x24(%ebp),%ecx
402ea0:	ff 75 f0             	push   -0x10(%ebp)
402ea3:	f7 d1                	not    %ecx
402ea5:	83 e1 04             	and    $0x4,%ecx
402ea8:	a3 54 f0 41 00       	mov    %eax,0x41f054
402ead:	2b c1                	sub    %ecx,%eax
402eaf:	8b 4d f4             	mov    -0xc(%ebp),%ecx
402eb2:	56                   	push   %esi
402eb3:	53                   	push   %ebx
402eb4:	8d 44 08 e4          	lea    -0x1c(%eax,%ecx,1),%eax
402eb8:	6a ff                	push   $0xffffffff
402eba:	a3 48 70 41 00       	mov    %eax,0x417048
402ebf:	e8 54 00 00 00       	call   0x402f18
402ec4:	3b 45 f0             	cmp    -0x10(%ebp),%eax
402ec7:	74 07                	je     0x402ed0
402ec9:	b8 60 90 40 00       	mov    $0x409060,%eax
402ece:	eb 41                	jmp    0x402f11
402ed0:	f6 45 dc 01          	testb  $0x1,-0x24(%ebp)
402ed4:	89 35 b0 3e 42 00    	mov    %esi,0x423eb0
402eda:	8b 06                	mov    (%esi),%eax
402edc:	a3 b8 3e 42 00       	mov    %eax,0x423eb8
402ee1:	74 06                	je     0x402ee9
402ee3:	ff 05 bc 3e 42 00    	incl   0x423ebc
402ee9:	6a 08                	push   $0x8
402eeb:	8d 46 44             	lea    0x44(%esi),%eax
402eee:	59                   	pop    %ecx
402eef:	83 e8 08             	sub    $0x8,%eax
402ef2:	01 30                	add    %esi,(%eax)
402ef4:	49                   	dec    %ecx
402ef5:	75 f8                	jne    0x402eef
402ef7:	a1 44 70 41 00       	mov    0x417044,%eax
402efc:	6a 40                	push   $0x40
402efe:	89 46 3c             	mov    %eax,0x3c(%esi)
402f01:	83 c6 04             	add    $0x4,%esi
402f04:	56                   	push   %esi
402f05:	68 c0 3e 42 00       	push   $0x423ec0
402f0a:	e8 ef 28 00 00       	call   0x4057fe
402f0f:	33 c0                	xor    %eax,%eax
402f11:	5f                   	pop    %edi
402f12:	5e                   	pop    %esi
402f13:	5b                   	pop    %ebx
402f14:	c9                   	leave
402f15:	c2 04 00             	ret    $0x4
402f18:	55                   	push   %ebp
402f19:	8b ec                	mov    %esp,%ebp
402f1b:	51                   	push   %ecx
402f1c:	51                   	push   %ecx
402f1d:	8b 45 08             	mov    0x8(%ebp),%eax
402f20:	53                   	push   %ebx
402f21:	56                   	push   %esi
402f22:	57                   	push   %edi
402f23:	33 ff                	xor    %edi,%edi
402f25:	3b c7                	cmp    %edi,%eax
402f27:	7c 1c                	jl     0x402f45
402f29:	8b 0d f8 3e 42 00    	mov    0x423ef8,%ecx
402f2f:	57                   	push   %edi
402f30:	03 c1                	add    %ecx,%eax
402f32:	57                   	push   %edi
402f33:	50                   	push   %eax
402f34:	a3 44 70 41 00       	mov    %eax,0x417044
402f39:	ff 35 18 90 40 00    	push   0x409018
402f3f:	ff 15 34 71 40 00    	call   *0x407134
402f45:	6a 04                	push   $0x4
402f47:	5e                   	pop    %esi
402f48:	56                   	push   %esi
402f49:	e8 f5 00 00 00       	call   0x403043
402f4e:	3b c7                	cmp    %edi,%eax
402f50:	0f 8c e6 00 00 00    	jl     0x40303c
402f56:	8d 45 fc             	lea    -0x4(%ebp),%eax
402f59:	8b 1d 2c 71 40 00    	mov    0x40712c,%ebx
402f5f:	57                   	push   %edi
402f60:	50                   	push   %eax
402f61:	8d 45 08             	lea    0x8(%ebp),%eax
402f64:	56                   	push   %esi
402f65:	50                   	push   %eax
402f66:	ff 35 18 90 40 00    	push   0x409018
402f6c:	ff d3                	call   *%ebx
402f6e:	85 c0                	test   %eax,%eax
402f70:	0f 84 c3 00 00 00    	je     0x403039
402f76:	39 75 fc             	cmp    %esi,-0x4(%ebp)
402f79:	0f 85 ba 00 00 00    	jne    0x403039
402f7f:	ff 75 08             	push   0x8(%ebp)
402f82:	01 35 44 70 41 00    	add    %esi,0x417044
402f88:	e8 b6 00 00 00       	call   0x403043
402f8d:	3b c7                	cmp    %edi,%eax
402f8f:	89 45 f8             	mov    %eax,-0x8(%ebp)
402f92:	0f 8c a4 00 00 00    	jl     0x40303c
402f98:	39 7d 10             	cmp    %edi,0x10(%ebp)
402f9b:	75 6b                	jne    0x403008
402f9d:	39 7d 08             	cmp    %edi,0x8(%ebp)
402fa0:	0f 8e 8e 00 00 00    	jle    0x403034
402fa6:	be 40 30 41 00       	mov    $0x413040,%esi
402fab:	bf 00 40 00 00       	mov    $0x4000,%edi
402fb0:	39 7d 08             	cmp    %edi,0x8(%ebp)
402fb3:	7d 03                	jge    0x402fb8
402fb5:	8b 7d 08             	mov    0x8(%ebp),%edi
402fb8:	8d 45 fc             	lea    -0x4(%ebp),%eax
402fbb:	6a 00                	push   $0x0
402fbd:	50                   	push   %eax
402fbe:	57                   	push   %edi
402fbf:	56                   	push   %esi
402fc0:	ff 35 18 90 40 00    	push   0x409018
402fc6:	ff d3                	call   *%ebx
402fc8:	85 c0                	test   %eax,%eax
402fca:	74 6d                	je     0x403039
402fcc:	3b 7d fc             	cmp    -0x4(%ebp),%edi
402fcf:	75 68                	jne    0x403039
402fd1:	8d 45 14             	lea    0x14(%ebp),%eax
402fd4:	6a 00                	push   $0x0
402fd6:	50                   	push   %eax
402fd7:	ff 75 fc             	push   -0x4(%ebp)
402fda:	56                   	push   %esi
402fdb:	ff 75 0c             	push   0xc(%ebp)
402fde:	ff 15 28 71 40 00    	call   *0x407128
402fe4:	85 c0                	test   %eax,%eax
402fe6:	74 1c                	je     0x403004
402fe8:	39 7d 14             	cmp    %edi,0x14(%ebp)
402feb:	75 17                	jne    0x403004
402fed:	8b 45 fc             	mov    -0x4(%ebp),%eax
402ff0:	01 45 f8             	add    %eax,-0x8(%ebp)
402ff3:	29 45 08             	sub    %eax,0x8(%ebp)
402ff6:	01 05 44 70 41 00    	add    %eax,0x417044
402ffc:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
403000:	7f a9                	jg     0x402fab
403002:	eb 30                	jmp    0x403034
403004:	6a fe                	push   $0xfffffffe
403006:	eb 33                	jmp    0x40303b
403008:	8b 45 08             	mov    0x8(%ebp),%eax
40300b:	3b 45 14             	cmp    0x14(%ebp),%eax
40300e:	7c 03                	jl     0x403013
403010:	8b 45 14             	mov    0x14(%ebp),%eax
403013:	8d 4d fc             	lea    -0x4(%ebp),%ecx
403016:	57                   	push   %edi
403017:	51                   	push   %ecx
403018:	50                   	push   %eax
403019:	ff 75 10             	push   0x10(%ebp)
40301c:	ff 35 18 90 40 00    	push   0x409018
403022:	ff d3                	call   *%ebx
403024:	85 c0                	test   %eax,%eax
403026:	74 11                	je     0x403039
403028:	8b 45 fc             	mov    -0x4(%ebp),%eax
40302b:	01 05 44 70 41 00    	add    %eax,0x417044
403031:	89 45 f8             	mov    %eax,-0x8(%ebp)
403034:	8b 45 f8             	mov    -0x8(%ebp),%eax
403037:	eb 03                	jmp    0x40303c
403039:	6a fd                	push   $0xfffffffd
40303b:	58                   	pop    %eax
40303c:	5f                   	pop    %edi
40303d:	5e                   	pop    %esi
40303e:	5b                   	pop    %ebx
40303f:	c9                   	leave
403040:	c2 10 00             	ret    $0x10
403043:	51                   	push   %ecx
403044:	53                   	push   %ebx
403045:	55                   	push   %ebp
403046:	56                   	push   %esi
403047:	8b 35 44 70 41 00    	mov    0x417044,%esi
40304d:	2b 35 b0 af 40 00    	sub    0x40afb0,%esi
403053:	57                   	push   %edi
403054:	03 74 24 18          	add    0x18(%esp),%esi
403058:	ff 15 8c 70 40 00    	call   *0x40708c
40305e:	33 db                	xor    %ebx,%ebx
403060:	05 f4 01 00 00       	add    $0x1f4,%eax
403065:	3b f3                	cmp    %ebx,%esi
403067:	a3 ac 3e 42 00       	mov    %eax,0x423eac
40306c:	0f 8e 3b 01 00 00    	jle    0x4031ad
403072:	ff 35 54 f0 41 00    	push   0x41f054
403078:	e8 74 01 00 00       	call   0x4031f1
40307d:	53                   	push   %ebx
40307e:	53                   	push   %ebx
40307f:	ff 35 b0 af 40 00    	push   0x40afb0
403085:	ff 35 18 90 40 00    	push   0x409018
40308b:	ff 15 34 71 40 00    	call   *0x407134
403091:	89 35 50 f0 41 00    	mov    %esi,0x41f050
403097:	89 1d 40 70 41 00    	mov    %ebx,0x417040
40309d:	bd 40 b0 40 00       	mov    $0x40b040,%ebp