46f023:	e8 7b 16 00 00       	call   0x4706a3
46f028:	59                   	pop    %ecx
46f029:	8b 0d 94 83 4c 00    	mov    0x4c8394,%ecx
46f02f:	8b c1                	mov    %ecx,%eax
46f031:	d1 e8                	shr    $1,%eax
46f033:	f7 d0                	not    %eax
46f035:	a8 01                	test   $0x1,%al
46f037:	0f 84 b3 04 00 00    	je     0x46f4f0
46f03d:	8b c1                	mov    %ecx,%eax
46f03f:	c1 e8 04             	shr    $0x4,%eax
46f042:	f7 d0                	not    %eax
46f044:	a8 01                	test   $0x1,%al
46f046:	0f 84 a4 04 00 00    	je     0x46f4f0
46f04c:	85 ce                	test   %ecx,%esi
46f04e:	0f 85 9c 04 00 00    	jne    0x46f4f0
46f054:	8d 45 f8             	lea    -0x8(%ebp),%eax
46f057:	50                   	push   %eax
46f058:	8d 45 c4             	lea    -0x3c(%ebp),%eax
46f05b:	6a 20                	push   $0x20
46f05d:	50                   	push   %eax
46f05e:	e8 ab fa ff ff       	call   0x46eb0e
46f063:	83 c4 0c             	add    $0xc,%esp
46f066:	8d 4d ac             	lea    -0x54(%ebp),%ecx
46f069:	6a 20                	push   $0x20
46f06b:	51                   	push   %ecx
46f06c:	8b c8                	mov    %eax,%ecx
46f06e:	e8 2c fb ff ff       	call   0x46eb9f
46f073:	8d 4d f0             	lea    -0x10(%ebp),%ecx
46f076:	51                   	push   %ecx
46f077:	8d 4d a4             	lea    -0x5c(%ebp),%ecx
46f07a:	51                   	push   %ecx
46f07b:	8b c8                	mov    %eax,%ecx
46f07d:	e8 fb fa ff ff       	call   0x46eb7d
46f082:	8b 38                	mov    (%eax),%edi
46f084:	8b 70 04             	mov    0x4(%eax),%esi
46f087:	89 7d f0             	mov    %edi,-0x10(%ebp)
46f08a:	89 75 f4             	mov    %esi,-0xc(%ebp)
46f08d:	e9 64 04 00 00       	jmp    0x46f4f6
46f092:	b8 00 08 00 00       	mov    $0x800,%eax
46f097:	89 7d c4             	mov    %edi,-0x3c(%ebp)
46f09a:	89 7d c8             	mov    %edi,-0x38(%ebp)
46f09d:	89 7d f8             	mov    %edi,-0x8(%ebp)
46f0a0:	89 7d fc             	mov    %edi,-0x4(%ebp)
46f0a3:	89 7d a4             	mov    %edi,-0x5c(%ebp)
46f0a6:	89 7d a8             	mov    %edi,-0x58(%ebp)
46f0a9:	89 7d 8c             	mov    %edi,-0x74(%ebp)
46f0ac:	89 7d e0             	mov    %edi,-0x20(%ebp)
46f0af:	89 7d ac             	mov    %edi,-0x54(%ebp)
46f0b2:	89 7d b0             	mov    %edi,-0x50(%ebp)
46f0b5:	3b d8                	cmp    %eax,%ebx
46f0b7:	74 02                	je     0x46f0bb
46f0b9:	8b d6                	mov    %esi,%edx
46f0bb:	8b f1                	mov    %ecx,%esi
46f0bd:	81 e6 00 07 00 00    	and    $0x700,%esi
46f0c3:	89 75 98             	mov    %esi,-0x68(%ebp)
46f0c6:	85 d2                	test   %edx,%edx
46f0c8:	0f 84 89 00 00 00    	je     0x46f157
46f0ce:	3b d8                	cmp    %eax,%ebx
46f0d0:	75 67                	jne    0x46f139
46f0d2:	81 fe 00 06 00 00    	cmp    $0x600,%esi
46f0d8:	75 3e                	jne    0x46f118
46f0da:	8d 45 dc             	lea    -0x24(%ebp),%eax
46f0dd:	6a 01                	push   $0x1
46f0df:	50                   	push   %eax
46f0e0:	e8 89 21 00 00       	call   0x47126e
46f0e5:	8b 45 dc             	mov    -0x24(%ebp),%eax
46f0e8:	89 45 c4             	mov    %eax,-0x3c(%ebp)
46f0eb:	8b 45 e0             	mov    -0x20(%ebp),%eax
46f0ee:	89 45 c8             	mov    %eax,-0x38(%ebp)
46f0f1:	8d 45 dc             	lea    -0x24(%ebp),%eax
46f0f4:	6a 01                	push   $0x1
46f0f6:	50                   	push   %eax
46f0f7:	e8 72 21 00 00       	call   0x47126e
46f0fc:	8b 45 dc             	mov    -0x24(%ebp),%eax
46f0ff:	89 45 f8             	mov    %eax,-0x8(%ebp)
46f102:	8b 45 e0             	mov    -0x20(%ebp),%eax
46f105:	89 45 fc             	mov    %eax,-0x4(%ebp)
46f108:	8d 45 dc             	lea    -0x24(%ebp),%eax
46f10b:	6a 01                	push   $0x1
46f10d:	50                   	push   %eax
46f10e:	e8 5b 21 00 00       	call   0x47126e
46f113:	83 c4 18             	add    $0x18,%esp
46f116:	eb 15                	jmp    0x46f12d
46f118:	81 fe 00 05 00 00    	cmp    $0x500,%esi
46f11e:	75 19                	jne    0x46f139
46f120:	8d 45 dc             	lea    -0x24(%ebp),%eax
46f123:	6a 01                	push   $0x1
46f125:	50                   	push   %eax
46f126:	e8 43 21 00 00       	call   0x47126e
46f12b:	59                   	pop    %ecx
46f12c:	59                   	pop    %ecx
46f12d:	8b 45 dc             	mov    -0x24(%ebp),%eax
46f130:	89 45 a4             	mov    %eax,-0x5c(%ebp)
46f133:	8b 45 e0             	mov    -0x20(%ebp),%eax
46f136:	89 45 a8             	mov    %eax,-0x58(%ebp)
46f139:	8d 45 dc             	lea    -0x24(%ebp),%eax
46f13c:	6a 01                	push   $0x1
46f13e:	50                   	push   %eax
46f13f:	e8 2a 21 00 00       	call   0x47126e
46f144:	8b 45 dc             	mov    -0x24(%ebp),%eax
46f147:	89 45 8c             	mov    %eax,-0x74(%ebp)
46f14a:	8b 45 e0             	mov    -0x20(%ebp),%eax
46f14d:	59                   	pop    %ecx
46f14e:	89 45 e0             	mov    %eax,-0x20(%ebp)
46f151:	b8 00 08 00 00       	mov    $0x800,%eax
46f156:	59                   	pop    %ecx
46f157:	3b d8                	cmp    %eax,%ebx
46f159:	75 3a                	jne    0x46f195
46f15b:	81 fe 00 02 00 00    	cmp    $0x200,%esi
46f161:	74 32                	je     0x46f195
46f163:	a1 94 83 4c 00       	mov    0x4c8394,%eax
46f168:	83 e0 60             	and    $0x60,%eax
46f16b:	3c 60                	cmp    $0x60,%al
46f16d:	8d 45 bc             	lea    -0x44(%ebp),%eax
46f170:	50                   	push   %eax
46f171:	74 13                	je     0x46f186
46f173:	e8 c6 4d 00 00       	call   0x473f3e
46f178:	59                   	pop    %ecx
46f179:	8b 08                	mov    (%eax),%ecx
46f17b:	8b 40 04             	mov    0x4(%eax),%eax
46f17e:	89 4d ac             	mov    %ecx,-0x54(%ebp)
46f181:	89 45 b0             	mov    %eax,-0x50(%ebp)
46f184:	eb 0f                	jmp    0x46f195
46f186:	e8 b3 4d 00 00       	call   0x473f3e
46f18b:	59                   	pop    %ecx
46f18c:	50                   	push   %eax
46f18d:	8d 4d ac             	lea    -0x54(%ebp),%ecx
46f190:	e8 d2 fb ff ff       	call   0x46ed67
46f195:	8b 0d 94 83 4c 00    	mov    0x4c8394,%ecx
46f19b:	8b c1                	mov    %ecx,%eax
46f19d:	d1 e8                	shr    $1,%eax
46f19f:	f7 d0                	not    %eax
46f1a1:	a8 01                	test   $0x1,%al
46f1a3:	74 30                	je     0x46f1d5
46f1a5:	c1 e9 04             	shr    $0x4,%ecx
46f1a8:	f7 d1                	not    %ecx
46f1aa:	f6 c1 01             	test   $0x1,%cl
46f1ad:	74 26                	je     0x46f1d5
46f1af:	8d 45 bc             	lea    -0x44(%ebp),%eax
46f1b2:	50                   	push   %eax
46f1b3:	e8 eb 14 00 00       	call   0x4706a3
46f1b8:	59                   	pop    %ecx
46f1b9:	8d 4d f0             	lea    -0x10(%ebp),%ecx
46f1bc:	51                   	push   %ecx
46f1bd:	8d 4d 90             	lea    -0x70(%ebp),%ecx
46f1c0:	51                   	push   %ecx
46f1c1:	8b c8                	mov    %eax,%ecx
46f1c3:	e8 b5 f9 ff ff       	call   0x46eb7d
46f1c8:	8b 08                	mov    (%eax),%ecx
46f1ca:	8b 40 04             	mov    0x4(%eax),%eax
46f1cd:	89 4d f0             	mov    %ecx,-0x10(%ebp)
46f1d0:	89 45 f4             	mov    %eax,-0xc(%ebp)
46f1d3:	eb 13                	jmp    0x46f1e8
46f1d5:	8d 45 90             	lea    -0x70(%ebp),%eax
46f1d8:	50                   	push   %eax
46f1d9:	e8 c5 14 00 00       	call   0x4706a3
46f1de:	59                   	pop    %ecx
46f1df:	50                   	push   %eax
46f1e0:	8d 4d f0             	lea    -0x10(%ebp),%ecx
46f1e3:	e8 7f fb ff ff       	call   0x46ed67
46f1e8:	8b 45 0c             	mov    0xc(%ebp),%eax
46f1eb:	8b 08                	mov    (%eax),%ecx
46f1ed:	85 c9                	test   %ecx,%ecx
46f1ef:	74 36                	je     0x46f227
46f1f1:	39 7d f0             	cmp    %edi,-0x10(%ebp)
46f1f4:	74 26                	je     0x46f21c
46f1f6:	f7 05 94 83 4c 00 00 	testl  $0x1000,0x4c8394
46f1fd:	10 00 00
46f200:	75 1a                	jne    0x46f21c
46f202:	50                   	push   %eax
46f203:	8d 45 90             	lea    -0x70(%ebp),%eax
46f206:	6a 20                	push   $0x20
46f208:	50                   	push   %eax
46f209:	e8 00 f9 ff ff       	call   0x46eb0e
46f20e:	83 c4 0c             	add    $0xc,%esp
46f211:	8d 4d f0             	lea    -0x10(%ebp),%ecx
46f214:	50                   	push   %eax
46f215:	e8 21 fa ff ff       	call   0x46ec3b
46f21a:	eb 0b                	jmp    0x46f227
46f21c:	8b 45 e8             	mov    -0x18(%ebp),%eax
46f21f:	89 4d f0             	mov    %ecx,-0x10(%ebp)
46f222:	8b 00                	mov    (%eax),%eax
46f224:	89 45 f4             	mov    %eax,-0xc(%ebp)
46f227:	8b f7                	mov    %edi,%esi
46f229:	89 7d c0             	mov    %edi,-0x40(%ebp)
46f22c:	89 75 e8             	mov    %esi,-0x18(%ebp)
46f22f:	39 75 a0             	cmp    %esi,-0x60(%ebp)
46f232:	74 39                	je     0x46f26d
46f234:	8d 45 90             	lea    -0x70(%ebp),%eax
46f237:	57                   	push   %edi
46f238:	50                   	push   %eax
46f239:	e8 f8 3c 00 00       	call   0x472f36
46f23e:	50                   	push   %eax
46f23f:	8d 45 9c             	lea    -0x64(%ebp),%eax
46f242:	6a 20                	push   $0x20
46f244:	50                   	push   %eax
46f245:	e8 c4 f8 ff ff       	call   0x46eb0e
46f24a:	83 c4 14             	add    $0x14,%esp
46f24d:	8d 4d f0             	lea    -0x10(%ebp),%ecx
46f250:	50                   	push   %eax
46f251:	e8 e5 f9 ff ff       	call   0x46ec3b
46f256:	f7 05 94 83 4c 00 00 	testl  $0x1000,0x4c8394
46f25d:	10 00 00
46f260:	74 3e                	je     0x46f2a0
46f262:	8b 4d f4             	mov    -0xc(%ebp),%ecx
46f265:	8b 7d f0             	mov    -0x10(%ebp),%edi
46f268:	e9 5d 08 00 00       	jmp    0x46faca
46f26d:	6a 08                	push   $0x8
46f26f:	b9 a8 83 4c 00       	mov    $0x4c83a8,%ecx
46f274:	e8 ba 2b 00 00       	call   0x471e33
46f279:	89 45 c0             	mov    %eax,-0x40(%ebp)
46f27c:	85 c0                	test   %eax,%eax
46f27e:	74 07                	je     0x46f287
46f280:	89 38                	mov    %edi,(%eax)
46f282:	89 78 04             	mov    %edi,0x4(%eax)
46f285:	eb 05                	jmp    0x46f28c
46f287:	8b c7                	mov    %edi,%eax
46f289:	89 7d c0             	mov    %edi,-0x40(%ebp)
46f28c:	50                   	push   %eax
46f28d:	8d 45 90             	lea    -0x70(%ebp),%eax
46f290:	50                   	push   %eax
46f291:	e8 a0 3c 00 00       	call   0x472f36
46f296:	59                   	pop    %ecx
46f297:	59                   	pop    %ecx
46f298:	8b 70 04             	mov    0x4(%eax),%esi
46f29b:	8b 38                	mov    (%eax),%edi
46f29d:	89 75 e8             	mov    %esi,-0x18(%ebp)
46f2a0:	8b 45 88             	mov    -0x78(%ebp),%eax
46f2a3:	b9 00 08 00 00       	mov    $0x800,%ecx
46f2a8:	3b d9                	cmp    %ecx,%ebx
46f2aa:	74 03                	je     0x46f2af
46f2ac:	8b 45 b8             	mov    -0x48(%ebp),%eax
46f2af:	85 c0                	test   %eax,%eax
46f2b1:	0f 84 1c 01 00 00    	je     0x46f3d3
46f2b7:	3b d9                	cmp    %ecx,%ebx
46f2b9:	0f 85 c8 00 00 00    	jne    0x46f387
46f2bf:	8b 45 98             	mov    -0x68(%ebp),%eax
46f2c2:	3d 00 06 00 00       	cmp    $0x600,%eax
46f2c7:	75 72                	jne    0x46f33b
46f2c9:	8d 45 9c             	lea    -0x64(%ebp),%eax
46f2cc:	c7 45 9c 28 13 4a 00 	movl   $0x4a1328,-0x64(%ebp)
46f2d3:	50                   	push   %eax
46f2d4:	8d 4d 90             	lea    -0x70(%ebp),%ecx
46f2d7:	c7 45 a0 0c 00 00 00 	movl   $0xc,-0x60(%ebp)
46f2de:	e8 03 f5 ff ff       	call   0x46e7e6
46f2e3:	8d 4d c4             	lea    -0x3c(%ebp),%ecx
46f2e6:	51                   	push   %ecx
46f2e7:	8d 4d 9c             	lea    -0x64(%ebp),%ecx
46f2ea:	51                   	push   %ecx
46f2eb:	8b c8                	mov    %eax,%ecx
46f2ed:	e8 8b f8 ff ff       	call   0x46eb7d
46f2f2:	6a 2c                	push   $0x2c
46f2f4:	8d 45 84             	lea    -0x7c(%ebp),%eax
46f2f7:	50                   	push   %eax
46f2f8:	8d 4d 9c             	lea    -0x64(%ebp),%ecx
46f2fb:	e8 9f f8 ff ff       	call   0x46eb9f
46f300:	8d 4d f8             	lea    -0x8(%ebp),%ecx
46f303:	51                   	push   %ecx
46f304:	8d 4d b4             	lea    -0x4c(%ebp),%ecx
46f307:	51                   	push   %ecx
46f308:	8b c8                	mov    %eax,%ecx
46f30a:	e8 6e f8 ff ff       	call   0x46eb7d
46f30f:	6a 2c                	push   $0x2c
46f311:	8d 8d 74 ff ff ff    	lea    -0x8c(%ebp),%ecx
46f317:	51                   	push   %ecx
46f318:	8b c8                	mov    %eax,%ecx
46f31a:	e8 80 f8 ff ff       	call   0x46eb9f
46f31f:	8d 4d a4             	lea    -0x5c(%ebp),%ecx
46f322:	51                   	push   %ecx
46f323:	8d 8d 7c ff ff ff    	lea    -0x84(%ebp),%ecx
46f329:	51                   	push   %ecx
46f32a:	8b c8                	mov    %eax,%ecx
46f32c:	e8 4c f8 ff ff       	call   0x46eb7d
46f331:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
46f334:	6a 2c                	push   $0x2c
46f336:	51                   	push   %ecx
46f337:	8b c8                	mov    %eax,%ecx
46f339:	eb 3c                	jmp    0x46f377
46f33b:	3d 00 05 00 00       	cmp    $0x500,%eax
46f340:	75 45                	jne    0x46f387
46f342:	8d 45 f8             	lea    -0x8(%ebp),%eax
46f345:	c7 45 f8 38 13 4a 00 	movl   $0x4a1338,-0x8(%ebp)
46f34c:	50                   	push   %eax
46f34d:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
46f350:	c7 45 fc 0a 00 00 00 	movl   $0xa,-0x4(%ebp)
46f357:	e8 8a f4 ff ff       	call   0x46e7e6
46f35c:	8d 4d a4             	lea    -0x5c(%ebp),%ecx
46f35f:	51                   	push   %ecx
46f360:	8d 4d f8             	lea    -0x8(%ebp),%ecx
46f363:	51                   	push   %ecx
46f364:	8b c8                	mov    %eax,%ecx
46f366:	e8 12 f8 ff ff       	call   0x46eb7d
46f36b:	6a 2c                	push   $0x2c
46f36d:	8d 85 7c ff ff ff    	lea    -0x84(%ebp),%eax
46f373:	50                   	push   %eax
46f374:	8d 4d f8             	lea    -0x8(%ebp),%ecx
46f377:	e8 23 f8 ff ff       	call   0x46eb9f
46f37c:	50                   	push   %eax
46f37d:	8d 4d f0             	lea    -0x10(%ebp),%ecx
46f380:	e8 b6 f8 ff ff       	call   0x46ec3b
46f385:	eb 1a                	jmp    0x46f3a1
46f387:	8d 45 f8             	lea    -0x8(%ebp),%eax
46f38a:	c7 45 f8 44 13 4a 00 	movl   $0x4a1344,-0x8(%ebp)
46f391:	50                   	push   %eax
46f392:	8d 4d f0             	lea    -0x10(%ebp),%ecx
46f395:	c7 45 fc 0a 00 00 00 	movl   $0xa,-0x4(%ebp)
46f39c:	e8 42 f8 ff ff       	call   0x46ebe3
46f3a1:	8b 45 8c             	mov    -0x74(%ebp),%eax
46f3a4:	8d 4d f8             	lea    -0x8(%ebp),%ecx
46f3a7:	89 45 f8             	mov    %eax,-0x8(%ebp)
46f3aa:	8b 45 e0             	mov    -0x20(%ebp),%eax
46f3ad:	89 45 fc             	mov    %eax,-0x4(%ebp)
46f3b0:	8d 45 c4             	lea    -0x3c(%ebp),%eax
46f3b3:	50                   	push   %eax
46f3b4:	c7 45 c4 20 13 4a 00 	movl   $0x4a1320,-0x3c(%ebp)
46f3bb:	c7 45 c8 03 00 00 00 	movl   $0x3,-0x38(%ebp)
46f3c2:	e8 1c f8 ff ff       	call   0x46ebe3
46f3c7:	8d 45 f8             	lea    -0x8(%ebp),%eax
46f3ca:	50                   	push   %eax
46f3cb:	8d 4d f0             	lea    -0x10(%ebp),%ecx
46f3ce:	e8 68 f8 ff ff       	call   0x46ec3b
46f3d3:	83 3d a4 83 4c 00 01 	cmpl   $0x1,0x4c83a4
46f3da:	75 11                	jne    0x46f3ed
46f3dc:	83 3d a0 83 4c 00 00 	cmpl   $0x0,0x4c83a0
46f3e3:	75 08                	jne    0x46f3ed
46f3e5:	8b 45 cc             	mov    -0x34(%ebp),%eax
46f3e8:	a3 a0 83 4c 00       	mov    %eax,0x4c83a0
46f3ed:	8d 45 d4             	lea    -0x2c(%ebp),%eax
46f3f0:	50                   	push   %eax
46f3f1:	e8 eb 08 00 00       	call   0x46fce1
46f3f6:	50                   	push   %eax
46f3f7:	8d 85 7c ff ff ff    	lea    -0x84(%ebp),%eax
46f3fd:	6a 28                	push   $0x28
46f3ff:	50                   	push   %eax
46f400:	e8 09 f7 ff ff       	call   0x46eb0e
46f405:	83 c4 10             	add    $0x10,%esp
46f408:	8d 8d 74 ff ff ff    	lea    -0x8c(%ebp),%ecx
46f40e:	6a 29                	push   $0x29
46f410:	51                   	push   %ecx
46f411:	8b c8                	mov    %eax,%ecx
46f413:	e8 87 f7 ff ff       	call   0x46eb9f
46f418:	50                   	push   %eax
46f419:	8d 4d f0             	lea    -0x10(%ebp),%ecx
46f41c:	e8 1a f8 ff ff       	call   0x46ec3b
46f421:	81 fb 00 08 00 00    	cmp    $0x800,%ebx
46f427:	75 15                	jne    0x46f43e
46f429:	81 7d 98 00 02 00 00 	cmpl   $0x200,-0x68(%ebp)
46f430:	74 0c                	je     0x46f43e
46f432:	8d 45 ac             	lea    -0x54(%ebp),%eax
46f435:	50                   	push   %eax