5a4e45:	33 c0                	xor    %eax,%eax
5a4e47:	c3                   	ret
5a4e48:	83 7a 1c 00          	cmpl   $0x0,0x1c(%edx)
5a4e4c:	75 42                	jne    0x5a4e90
5a4e4e:	83 ba 8c 00 00 00 00 	cmpl   $0x0,0x8c(%edx)
5a4e55:	74 39                	je     0x5a4e90
5a4e57:	8b 82 74 04 00 00    	mov    0x474(%edx),%eax
5a4e5d:	c1 e9 09             	shr    $0x9,%ecx
5a4e60:	f7 d1                	not    %ecx
5a4e62:	8b 80 00 02 00 00    	mov    0x200(%eax),%eax
5a4e68:	f7 d0                	not    %eax
5a4e6a:	33 c8                	xor    %eax,%ecx
5a4e6c:	f6 c1 01             	test   $0x1,%cl
5a4e6f:	74 1f                	je     0x5a4e90
5a4e71:	68 af 04 00 00       	push   $0x4af
5a4e76:	68 38 80 66 00       	push   $0x668038
5a4e7b:	6a 68                	push   $0x68
5a4e7d:	68 e6 01 00 00       	push   $0x1e6
5a4e82:	6a 28                	push   $0x28
5a4e84:	52                   	push   %edx
5a4e85:	e8 86 a2 fe ff       	call   0x58f110
5a4e8a:	83 c4 18             	add    $0x18,%esp
5a4e8d:	33 c0                	xor    %eax,%eax
5a4e8f:	c3                   	ret
5a4e90:	b8 01 00 00 00       	mov    $0x1,%eax
5a4e95:	c3                   	ret
5a4e96:	cc                   	int3
5a4e97:	cc                   	int3
5a4e98:	cc                   	int3
5a4e99:	cc                   	int3
5a4e9a:	cc                   	int3
5a4e9b:	cc                   	int3
5a4e9c:	cc                   	int3
5a4e9d:	cc                   	int3
5a4e9e:	cc                   	int3
5a4e9f:	cc                   	int3
5a4ea0:	8b 44 24 04          	mov    0x4(%esp),%eax
5a4ea4:	c7 80 a4 05 00 00 00 	movl   $0x0,0x5a4(%eax)
5a4eab:	00 00 00
5a4eae:	b8 01 00 00 00       	mov    $0x1,%eax
5a4eb3:	c3                   	ret
5a4eb4:	cc                   	int3
5a4eb5:	cc                   	int3
5a4eb6:	cc                   	int3
5a4eb7:	cc                   	int3
5a4eb8:	cc                   	int3
5a4eb9:	cc                   	int3
5a4eba:	cc                   	int3
5a4ebb:	cc                   	int3
5a4ebc:	cc                   	int3
5a4ebd:	cc                   	int3
5a4ebe:	cc                   	int3
5a4ebf:	cc                   	int3
5a4ec0:	b8 0c 00 00 00       	mov    $0xc,%eax
5a4ec5:	e8 e6 c8 02 00       	call   0x5d17b0
5a4eca:	53                   	push   %ebx
5a4ecb:	56                   	push   %esi
5a4ecc:	8b 74 24 18          	mov    0x18(%esp),%esi
5a4ed0:	57                   	push   %edi
5a4ed1:	8b 4e 04             	mov    0x4(%esi),%ecx
5a4ed4:	8b 41 64             	mov    0x64(%ecx),%eax
5a4ed7:	f6 40 30 08          	testb  $0x8,0x30(%eax)
5a4edb:	0f 85 ef 01 00 00    	jne    0x5a50d0
5a4ee1:	8b 01                	mov    (%ecx),%eax
5a4ee3:	3d 04 03 00 00       	cmp    $0x304,%eax
5a4ee8:	0f 8c e2 01 00 00    	jl     0x5a50d0
5a4eee:	3d 00 00 01 00       	cmp    $0x10000,%eax
5a4ef3:	0f 84 d7 01 00 00    	je     0x5a50d0
5a4ef9:	f7 44 24 20 00 08 00 	testl  $0x800,0x20(%esp)
5a4f00:	00
5a4f01:	0f 85 c9 01 00 00    	jne    0x5a50d0
5a4f07:	83 7e 1c 00          	cmpl   $0x0,0x1c(%esi)
5a4f0b:	75 7c                	jne    0x5a4f89
5a4f0d:	83 7c 24 24 00       	cmpl   $0x0,0x24(%esp)
5a4f12:	0f 85 b8 01 00 00    	jne    0x5a50d0
5a4f18:	83 be 8c 00 00 00 00 	cmpl   $0x0,0x8c(%esi)
5a4f1f:	74 43                	je     0x5a4f64
5a4f21:	f6 86 a4 05 00 00 01 	testb  $0x1,0x5a4(%esi)
5a4f28:	74 3a                	je     0x5a4f64
5a4f2a:	6a 00                	push   $0x0
5a4f2c:	6a 00                	push   $0x0
5a4f2e:	56                   	push   %esi
5a4f2f:	e8 ec 1f ff ff       	call   0x596f20
5a4f34:	83 c4 0c             	add    $0xc,%esp
5a4f37:	85 c0                	test   %eax,%eax
5a4f39:	0f 85 91 01 00 00    	jne    0x5a50d0
5a4f3f:	68 9e 05 00 00       	push   $0x59e
5a4f44:	68 38 80 66 00       	push   $0x668038
5a4f49:	6a 44                	push   $0x44
5a4f4b:	68 f7 01 00 00       	push   $0x1f7
5a4f50:	6a 50                	push   $0x50
5a4f52:	56                   	push   %esi
5a4f53:	e8 b8 a1 fe ff       	call   0x58f110
5a4f58:	83 c4 18             	add    $0x18,%esp
5a4f5b:	33 c0                	xor    %eax,%eax
5a4f5d:	5f                   	pop    %edi
5a4f5e:	5e                   	pop    %esi
5a4f5f:	5b                   	pop    %ebx
5a4f60:	83 c4 0c             	add    $0xc,%esp
5a4f63:	c3                   	ret
5a4f64:	68 1d 05 00 00       	push   $0x51d
5a4f69:	68 38 80 66 00       	push   $0x668038
5a4f6e:	6a 65                	push   $0x65
5a4f70:	68 f7 01 00 00       	push   $0x1f7
5a4f75:	6a 6d                	push   $0x6d
5a4f77:	56                   	push   %esi
5a4f78:	e8 93 a1 fe ff       	call   0x58f110
5a4f7d:	83 c4 18             	add    $0x18,%esp
5a4f80:	33 c0                	xor    %eax,%eax
5a4f82:	5f                   	pop    %edi
5a4f83:	5e                   	pop    %esi
5a4f84:	5b                   	pop    %ebx
5a4f85:	83 c4 0c             	add    $0xc,%esp
5a4f88:	c3                   	ret
5a4f89:	8b 46 7c             	mov    0x7c(%esi),%eax
5a4f8c:	83 b8 58 03 00 00 00 	cmpl   $0x0,0x358(%eax)
5a4f93:	74 4b                	je     0x5a4fe0
5a4f95:	f7 00 00 08 00 00    	testl  $0x800,(%eax)
5a4f9b:	0f 84 3b 01 00 00    	je     0x5a50dc
5a4fa1:	83 be bc 05 00 00 00 	cmpl   $0x0,0x5bc(%esi)
5a4fa8:	0f 85 2e 01 00 00    	jne    0x5a50dc
5a4fae:	83 be 4c 04 00 00 00 	cmpl   $0x0,0x44c(%esi)
5a4fb5:	0f 84 0b 01 00 00    	je     0x5a50c6
5a4fbb:	68 4e 05 00 00       	push   $0x54e
5a4fc0:	68 38 80 66 00       	push   $0x668038
5a4fc5:	6a 44                	push   $0x44
5a4fc7:	68 f7 01 00 00       	push   $0x1f7
5a4fcc:	6a 50                	push   $0x50
5a4fce:	56                   	push   %esi
5a4fcf:	e8 3c a1 fe ff       	call   0x58f110
5a4fd4:	83 c4 18             	add    $0x18,%esp
5a4fd7:	33 c0                	xor    %eax,%eax
5a4fd9:	5f                   	pop    %edi
5a4fda:	5e                   	pop    %esi
5a4fdb:	5b                   	pop    %ebx
5a4fdc:	83 c4 0c             	add    $0xc,%esp
5a4fdf:	c3                   	ret
5a4fe0:	83 be 4c 04 00 00 00 	cmpl   $0x0,0x44c(%esi)
5a4fe7:	75 71                	jne    0x5a505a
5a4fe9:	83 7c 24 24 00       	cmpl   $0x0,0x24(%esp)
5a4fee:	74 6a                	je     0x5a505a
5a4ff0:	83 be 8c 00 00 00 00 	cmpl   $0x0,0x8c(%esi)
5a4ff7:	74 09                	je     0x5a5002
5a4ff9:	f6 86 a4 05 00 00 02 	testb  $0x2,0x5a4(%esi)
5a5000:	74 58                	je     0x5a505a
5a5002:	8b 86 7c 05 00 00    	mov    0x57c(%esi),%eax
5a5008:	89 44 24 14          	mov    %eax,0x14(%esp)
5a500c:	8b 86 78 05 00 00    	mov    0x578(%esi),%eax
5a5012:	89 44 24 10          	mov    %eax,0x10(%esp)
5a5016:	8d 44 24 1c          	lea    0x1c(%esp),%eax
5a501a:	50                   	push   %eax
5a501b:	8d 44 24 10          	lea    0x10(%esp),%eax
5a501f:	50                   	push   %eax
5a5020:	56                   	push   %esi
5a5021:	e8 3a 4b ff ff       	call   0x599b60
5a5026:	33 ff                	xor    %edi,%edi
5a5028:	83 c4 0c             	add    $0xc,%esp
5a502b:	39 7c 24 1c          	cmp    %edi,0x1c(%esp)
5a502f:	76 29                	jbe    0x5a505a
5a5031:	8b 44 24 0c          	mov    0xc(%esp),%eax
5a5035:	6a 01                	push   $0x1
5a5037:	ff 74 24 14          	push   0x14(%esp)
5a503b:	0f b7 04 78          	movzwl (%eax,%edi,2),%eax
5a503f:	ff 74 24 1c          	push   0x1c(%esp)
5a5043:	8b d8                	mov    %eax,%ebx
5a5045:	50                   	push   %eax
5a5046:	56                   	push   %esi
5a5047:	e8 44 e5 fe ff       	call   0x593590
5a504c:	83 c4 14             	add    $0x14,%esp
5a504f:	85 c0                	test   %eax,%eax
5a5051:	75 63                	jne    0x5a50b6
5a5053:	47                   	inc    %edi
5a5054:	3b 7c 24 1c          	cmp    0x1c(%esp),%edi
5a5058:	72 d7                	jb     0x5a5031
5a505a:	83 be 8c 00 00 00 00 	cmpl   $0x0,0x8c(%esi)
5a5061:	0f 84 94 00 00 00    	je     0x5a50fb
5a5067:	f6 86 a4 05 00 00 01 	testb  $0x1,0x5a4(%esi)
5a506e:	0f 84 87 00 00 00    	je     0x5a50fb
5a5074:	8b 46 7c             	mov    0x7c(%esi),%eax
5a5077:	f7 00 00 08 00 00    	testl  $0x800,(%eax)
5a507d:	74 5d                	je     0x5a50dc
5a507f:	83 be bc 05 00 00 00 	cmpl   $0x0,0x5bc(%esi)
5a5086:	75 54                	jne    0x5a50dc
5a5088:	83 be 4c 04 00 00 00 	cmpl   $0x0,0x44c(%esi)
5a508f:	74 35                	je     0x5a50c6
5a5091:	68 88 05 00 00       	push   $0x588
5a5096:	68 38 80 66 00       	push   $0x668038
5a509b:	6a 44                	push   $0x44
5a509d:	68 f7 01 00 00       	push   $0x1f7
5a50a2:	6a 50                	push   $0x50
5a50a4:	56                   	push   %esi
5a50a5:	e8 66 a0 fe ff       	call   0x58f110
5a50aa:	83 c4 18             	add    $0x18,%esp
5a50ad:	33 c0                	xor    %eax,%eax
5a50af:	5f                   	pop    %edi
5a50b0:	5e                   	pop    %esi
5a50b1:	5b                   	pop    %ebx
5a50b2:	83 c4 0c             	add    $0xc,%esp
5a50b5:	c3                   	ret
5a50b6:	3b 7c 24 1c          	cmp    0x1c(%esp),%edi
5a50ba:	73 9e                	jae    0x5a505a
5a50bc:	8b 46 7c             	mov    0x7c(%esi),%eax
5a50bf:	66 89 98 56 03 00 00 	mov    %bx,0x356(%eax)
5a50c6:	c7 86 4c 04 00 00 01 	movl   $0x1,0x44c(%esi)
5a50cd:	00 00 00
5a50d0:	5f                   	pop    %edi
5a50d1:	5e                   	pop    %esi
5a50d2:	b8 01 00 00 00       	mov    $0x1,%eax
5a50d7:	5b                   	pop    %ebx
5a50d8:	83 c4 0c             	add    $0xc,%esp
5a50db:	c3                   	ret
5a50dc:	83 be 4c 04 00 00 01 	cmpl   $0x1,0x44c(%esi)
5a50e3:	75 eb                	jne    0x5a50d0
5a50e5:	5f                   	pop    %edi
5a50e6:	c7 86 4c 04 00 00 02 	movl   $0x2,0x44c(%esi)
5a50ed:	00 00 00
5a50f0:	b8 01 00 00 00       	mov    $0x1,%eax
5a50f5:	5e                   	pop    %esi
5a50f6:	5b                   	pop    %ebx
5a50f7:	83 c4 0c             	add    $0xc,%esp
5a50fa:	c3                   	ret
5a50fb:	83 7c 24 24 00       	cmpl   $0x0,0x24(%esp)
5a5100:	b9 28 00 00 00       	mov    $0x28,%ecx
5a5105:	68 7b 05 00 00       	push   $0x57b
5a510a:	68 38 80 66 00       	push   $0x668038
5a510f:	6a 65                	push   $0x65
5a5111:	b8 6d 00 00 00       	mov    $0x6d,%eax
5a5116:	68 f7 01 00 00       	push   $0x1f7
5a511b:	0f 45 c1             	cmovne %ecx,%eax
5a511e:	50                   	push   %eax
5a511f:	56                   	push   %esi
5a5120:	e8 eb 9f fe ff       	call   0x58f110
5a5125:	83 c4 18             	add    $0x18,%esp
5a5128:	33 c0                	xor    %eax,%eax
5a512a:	5f                   	pop    %edi
5a512b:	5e                   	pop    %esi
5a512c:	5b                   	pop    %ebx
5a512d:	83 c4 0c             	add    $0xc,%esp
5a5130:	c3                   	ret
5a5131:	cc                   	int3
5a5132:	cc                   	int3
5a5133:	cc                   	int3
5a5134:	cc                   	int3
5a5135:	cc                   	int3
5a5136:	cc                   	int3
5a5137:	cc                   	int3
5a5138:	cc                   	int3
5a5139:	cc                   	int3
5a513a:	cc                   	int3
5a513b:	cc                   	int3
5a513c:	cc                   	int3
5a513d:	cc                   	int3
5a513e:	cc                   	int3
5a513f:	cc                   	int3
5a5140:	8b 44 24 04          	mov    0x4(%esp),%eax
5a5144:	83 78 1c 00          	cmpl   $0x0,0x1c(%eax)
5a5148:	74 0a                	je     0x5a5154
5a514a:	c7 80 e8 05 00 00 00 	movl   $0x0,0x5e8(%eax)
5a5151:	00 00 00
5a5154:	b8 01 00 00 00       	mov    $0x1,%eax
5a5159:	c3                   	ret
5a515a:	cc                   	int3
5a515b:	cc                   	int3
5a515c:	cc                   	int3
5a515d:	cc                   	int3
5a515e:	cc                   	int3
5a515f:	cc                   	int3
5a5160:	83 7c 24 0c 00       	cmpl   $0x0,0xc(%esp)
5a5165:	75 48                	jne    0x5a51af
5a5167:	8b 4c 24 04          	mov    0x4(%esp),%ecx
5a516b:	8b 51 04             	mov    0x4(%ecx),%edx
5a516e:	8b 42 64             	mov    0x64(%edx),%eax
5a5171:	f6 40 30 08          	testb  $0x8,0x30(%eax)
5a5175:	75 38                	jne    0x5a51af
5a5177:	8b 02                	mov    (%edx),%eax
5a5179:	3d 04 03 00 00       	cmp    $0x304,%eax
5a517e:	7c 2f                	jl     0x5a51af
5a5180:	3d 00 00 01 00       	cmp    $0x10000,%eax
5a5185:	74 28                	je     0x5a51af
5a5187:	83 b9 8c 00 00 00 00 	cmpl   $0x0,0x8c(%ecx)
5a518e:	75 1f                	jne    0x5a51af
5a5190:	68 fb 04 00 00       	push   $0x4fb
5a5195:	68 38 80 66 00       	push   $0x668038
5a519a:	6a 70                	push   $0x70
5a519c:	68 f1 01 00 00       	push   $0x1f1
5a51a1:	6a 6d                	push   $0x6d
5a51a3:	51                   	push   %ecx
5a51a4:	e8 67 9f fe ff       	call   0x58f110
5a51a9:	83 c4 18             	add    $0x18,%esp
5a51ac:	33 c0                	xor    %eax,%eax
5a51ae:	c3                   	ret
5a51af:	b8 01 00 00 00       	mov    $0x1,%eax
5a51b4:	c3                   	ret
5a51b5:	cc                   	int3
5a51b6:	cc                   	int3
5a51b7:	cc                   	int3
5a51b8:	cc                   	int3
5a51b9:	cc                   	int3
5a51ba:	cc                   	int3
5a51bb:	cc                   	int3
5a51bc:	cc                   	int3
5a51bd:	cc                   	int3
5a51be:	cc                   	int3
5a51bf:	cc                   	int3
5a51c0:	83 7c 24 0c 00       	cmpl   $0x0,0xc(%esp)
5a51c5:	56                   	push   %esi
5a51c6:	0f 84 b1 00 00 00    	je     0x5a527d
5a51cc:	8b 74 24 08          	mov    0x8(%esp),%esi
5a51d0:	83 7e 1c 00          	cmpl   $0x0,0x1c(%esi)
5a51d4:	75 3e                	jne    0x5a5214
5a51d6:	81 7c 24 0c 00 04 00 	cmpl   $0x400,0xc(%esp)
5a51dd:	00
5a51de:	0f 85 99 00 00 00    	jne    0x5a527d
5a51e4:	83 be b0 05 00 00 00 	cmpl   $0x0,0x5b0(%esi)
5a51eb:	0f 85 8c 00 00 00    	jne    0x5a527d
5a51f1:	68 78 06 00 00       	push   $0x678
5a51f6:	68 38 80 66 00       	push   $0x668038
5a51fb:	68 e9 00 00 00       	push   $0xe9
5a5200:	68 2c 02 00 00       	push   $0x22c
5a5205:	6a 2f                	push   $0x2f
5a5207:	56                   	push   %esi
5a5208:	e8 03 9f fe ff       	call   0x58f110
5a520d:	83 c4 18             	add    $0x18,%esp
5a5210:	33 c0                	xor    %eax,%eax
5a5212:	5e                   	pop    %esi
5a5213:	c3                   	ret
5a5214:	83 be 50 0f 00 00 00 	cmpl   $0x0,0xf50(%esi)
5a521b:	74 56                	je     0x5a5273
5a521d:	83 be 8c 00 00 00 00 	cmpl   $0x0,0x8c(%esi)
5a5224:	74 4d                	je     0x5a5273
5a5226:	83 7e 68 09          	cmpl   $0x9,0x68(%esi)
5a522a:	75 47                	jne    0x5a5273
5a522c:	83 be b0 05 00 00 00 	cmpl   $0x0,0x5b0(%esi)
5a5233:	74 3e                	je     0x5a5273
5a5235:	83 be 4c 04 00 00 00 	cmpl   $0x0,0x44c(%esi)
5a523c:	75 35                	jne    0x5a5273
5a523e:	8b 86 80 0f 00 00    	mov    0xf80(%esi),%eax
5a5244:	85 c0                	test   %eax,%eax
5a5246:	74 10                	je     0x5a5258
5a5248:	ff b6 84 0f 00 00    	push   0xf84(%esi)
5a524e:	56                   	push   %esi
5a524f:	ff d0                	call   *%eax
5a5251:	83 c4 08             	add    $0x8,%esp
5a5254:	85 c0                	test   %eax,%eax
5a5256:	74 1b                	je     0x5a5273
5a5258:	6a 61                	push   $0x61
5a525a:	56                   	push   %esi
5a525b:	c7 86 ac 05 00 00 02 	movl   $0x2,0x5ac(%esi)
5a5262:	00 00 00
5a5265:	e8 06 13 ff ff       	call   0x596570