45e1e8:	8b 45 f8             	mov    -0x8(%ebp),%eax
45e1eb:	66 8b 40 04          	mov    0x4(%eax),%ax
45e1ef:	66 83 e8 01          	sub    $0x1,%ax
45e1f3:	72 11                	jb     0x45e206
45e1f5:	74 25                	je     0x45e21c
45e1f7:	66 ff c8             	dec    %ax
45e1fa:	74 36                	je     0x45e232
45e1fc:	66 ff c8             	dec    %ax
45e1ff:	74 47                	je     0x45e248
45e201:	e9 8c 01 00 00       	jmp    0x45e392
45e206:	8b 45 fc             	mov    -0x4(%ebp),%eax
45e209:	8b 50 0c             	mov    0xc(%eax),%edx
45e20c:	2b 55 f0             	sub    -0x10(%ebp),%edx
45e20f:	8b 45 fc             	mov    -0x4(%ebp),%eax
45e212:	e8 fd 01 00 00       	call   0x45e414
45e217:	e9 76 01 00 00       	jmp    0x45e392
45e21c:	8b 45 fc             	mov    -0x4(%ebp),%eax
45e21f:	8b 50 0c             	mov    0xc(%eax),%edx
45e222:	03 55 f0             	add    -0x10(%ebp),%edx
45e225:	8b 45 fc             	mov    -0x4(%ebp),%eax
45e228:	e8 e7 01 00 00       	call   0x45e414
45e22d:	e9 60 01 00 00       	jmp    0x45e392
45e232:	8b 45 fc             	mov    -0x4(%ebp),%eax
45e235:	8b 50 0c             	mov    0xc(%eax),%edx
45e238:	2b 55 f0             	sub    -0x10(%ebp),%edx
45e23b:	8b 45 fc             	mov    -0x4(%ebp),%eax
45e23e:	e8 d1 01 00 00       	call   0x45e414
45e243:	e9 4a 01 00 00       	jmp    0x45e392
45e248:	8b 45 fc             	mov    -0x4(%ebp),%eax
45e24b:	8b 50 0c             	mov    0xc(%eax),%edx
45e24e:	03 55 f0             	add    -0x10(%ebp),%edx
45e251:	8b 45 fc             	mov    -0x4(%ebp),%eax
45e254:	e8 bb 01 00 00       	call   0x45e414
45e259:	e9 34 01 00 00       	jmp    0x45e392
45e25e:	8b 45 f8             	mov    -0x8(%ebp),%eax
45e261:	0f bf 40 04          	movswl 0x4(%eax),%eax
45e265:	83 f8 07             	cmp    $0x7,%eax
45e268:	0f 87 24 01 00 00    	ja     0x45e392
45e26e:	ff 24 85 75 e2 45 00 	jmp    *0x45e275(,%eax,4)
45e275:	95                   	xchg   %eax,%ebp
45e276:	e2 45                	loop   0x45e2bd
45e278:	00 b1 e2 45 00 cd    	add    %dh,-0x32ffba1e(%ecx)
45e27e:	e2 45                	loop   0x45e2c5
45e280:	00 ee                	add    %ch,%dh
45e282:	e2 45                	loop   0x45e2c9
45e284:	00 0f                	add    %cl,(%edi)
45e286:	e3 45                	jecxz  0x45e2cd
45e288:	00 3f                	add    %bh,(%edi)
45e28a:	e3 45                	jecxz  0x45e2d1
45e28c:	00 78 e3             	add    %bh,-0x1d(%eax)
45e28f:	45                   	inc    %ebp
45e290:	00 84 e3 45 00 8b 45 	add    %al,0x458b0045(%ebx,%eiz,8)
45e297:	fc                   	cld
45e298:	8b 50 0c             	mov    0xc(%eax),%edx
45e29b:	8b 45 fc             	mov    -0x4(%ebp),%eax
45e29e:	0f b7 40 08          	movzwl 0x8(%eax),%eax
45e2a2:	2b d0                	sub    %eax,%edx
45e2a4:	8b 45 fc             	mov    -0x4(%ebp),%eax
45e2a7:	e8 68 01 00 00       	call   0x45e414
45e2ac:	e9 e1 00 00 00       	jmp    0x45e392
45e2b1:	8b 45 fc             	mov    -0x4(%ebp),%eax
45e2b4:	8b 50 0c             	mov    0xc(%eax),%edx
45e2b7:	8b 45 fc             	mov    -0x4(%ebp),%eax
45e2ba:	0f b7 40 08          	movzwl 0x8(%eax),%eax
45e2be:	03 d0                	add    %eax,%edx
45e2c0:	8b 45 fc             	mov    -0x4(%ebp),%eax
45e2c3:	e8 4c 01 00 00       	call   0x45e414
45e2c8:	e9 c5 00 00 00       	jmp    0x45e392
45e2cd:	33 c9                	xor    %ecx,%ecx
45e2cf:	b2 01                	mov    $0x1,%dl
45e2d1:	8b 45 fc             	mov    -0x4(%ebp),%eax
45e2d4:	e8 d3 fc ff ff       	call   0x45dfac
45e2d9:	8b 55 fc             	mov    -0x4(%ebp),%edx
45e2dc:	8b 52 0c             	mov    0xc(%edx),%edx
45e2df:	2b d0                	sub    %eax,%edx
45e2e1:	8b 45 fc             	mov    -0x4(%ebp),%eax
45e2e4:	e8 2b 01 00 00       	call   0x45e414
45e2e9:	e9 a4 00 00 00       	jmp    0x45e392
45e2ee:	33 c9                	xor    %ecx,%ecx
45e2f0:	b2 01                	mov    $0x1,%dl
45e2f2:	8b 45 fc             	mov    -0x4(%ebp),%eax
45e2f5:	e8 b2 fc ff ff       	call   0x45dfac
45e2fa:	8b d0                	mov    %eax,%edx
45e2fc:	8b 45 fc             	mov    -0x4(%ebp),%eax
45e2ff:	03 50 0c             	add    0xc(%eax),%edx
45e302:	8b 45 fc             	mov    -0x4(%ebp),%eax
45e305:	e8 0a 01 00 00       	call   0x45e414
45e30a:	e9 83 00 00 00       	jmp    0x45e392
45e30f:	8b 45 fc             	mov    -0x4(%ebp),%eax
45e312:	81 78 14 ff 7f 00 00 	cmpl   $0x7fff,0x14(%eax)
45e319:	7e 13                	jle    0x45e32e
45e31b:	55                   	push   %ebp
45e31c:	e8 23 fd ff ff       	call   0x45e044
45e321:	59                   	pop    %ecx
45e322:	8b d0                	mov    %eax,%edx
45e324:	8b 45 fc             	mov    -0x4(%ebp),%eax
45e327:	e8 e8 00 00 00       	call   0x45e414
45e32c:	eb 64                	jmp    0x45e392
45e32e:	8b 55 f8             	mov    -0x8(%ebp),%edx
45e331:	0f bf 52 06          	movswl 0x6(%edx),%edx
45e335:	8b 45 fc             	mov    -0x4(%ebp),%eax
45e338:	e8 d7 00 00 00       	call   0x45e414
45e33d:	eb 53                	jmp    0x45e392
45e33f:	8b 45 fc             	mov    -0x4(%ebp),%eax
45e342:	80 78 1d 00          	cmpb   $0x0,0x1d(%eax)
45e346:	74 4a                	je     0x45e392
45e348:	8b 45 fc             	mov    -0x4(%ebp),%eax
45e34b:	81 78 14 ff 7f 00 00 	cmpl   $0x7fff,0x14(%eax)
45e352:	7e 13                	jle    0x45e367
45e354:	55                   	push   %ebp
45e355:	e8 ea fc ff ff       	call   0x45e044
45e35a:	59                   	pop    %ecx
45e35b:	8b d0                	mov    %eax,%edx
45e35d:	8b 45 fc             	mov    -0x4(%ebp),%eax
45e360:	e8 af 00 00 00       	call   0x45e414
45e365:	eb 2b                	jmp    0x45e392
45e367:	8b 55 f8             	mov    -0x8(%ebp),%edx
45e36a:	0f bf 52 06          	movswl 0x6(%edx),%edx
45e36e:	8b 45 fc             	mov    -0x4(%ebp),%eax
45e371:	e8 9e 00 00 00       	call   0x45e414
45e376:	eb 1a                	jmp    0x45e392
45e378:	33 d2                	xor    %edx,%edx
45e37a:	8b 45 fc             	mov    -0x4(%ebp),%eax
45e37d:	e8 92 00 00 00       	call   0x45e414
45e382:	eb 0e                	jmp    0x45e392
45e384:	8b 45 fc             	mov    -0x4(%ebp),%eax
45e387:	8b 50 14             	mov    0x14(%eax),%edx
45e38a:	8b 45 fc             	mov    -0x4(%ebp),%eax
45e38d:	e8 82 00 00 00       	call   0x45e414
45e392:	5f                   	pop    %edi
45e393:	5e                   	pop    %esi
45e394:	5b                   	pop    %ebx
45e395:	8b e5                	mov    %ebp,%esp
45e397:	5d                   	pop    %ebp
45e398:	c3                   	ret
45e399:	8d 40 00             	lea    0x0(%eax),%eax
45e39c:	53                   	push   %ebx
45e39d:	56                   	push   %esi
45e39e:	8b d8                	mov    %eax,%ebx
45e3a0:	3b 53 24             	cmp    0x24(%ebx),%edx
45e3a3:	74 36                	je     0x45e3db
45e3a5:	8b f2                	mov    %edx,%esi
45e3a7:	85 f6                	test   %esi,%esi
45e3a9:	75 18                	jne    0x45e3c3
45e3ab:	33 c0                	xor    %eax,%eax
45e3ad:	8a 43 18             	mov    0x18(%ebx),%al
45e3b0:	8b 04 85 d4 9d 46 00 	mov    0x469dd4(,%eax,4),%eax
45e3b7:	50                   	push   %eax
45e3b8:	a1 0c 46 47 00       	mov    0x47460c,%eax
45e3bd:	8b 00                	mov    (%eax),%eax
45e3bf:	ff d0                	call   *%eax
45e3c1:	8b d0                	mov    %eax,%edx
45e3c3:	89 53 24             	mov    %edx,0x24(%ebx)
45e3c6:	c6 43 44 01          	movb   $0x1,0x44(%ebx)
45e3ca:	8b 43 04             	mov    0x4(%ebx),%eax
45e3cd:	e8 ba 06 00 00       	call   0x45ea8c
45e3d2:	85 f6                	test   %esi,%esi
45e3d4:	75 05                	jne    0x45e3db
45e3d6:	33 c0                	xor    %eax,%eax
45e3d8:	89 43 24             	mov    %eax,0x24(%ebx)
45e3db:	5e                   	pop    %esi
45e3dc:	5b                   	pop    %ebx
45e3dd:	c3                   	ret
45e3de:	8b c0                	mov    %eax,%eax
45e3e0:	3b 50 28             	cmp    0x28(%eax),%edx
45e3e3:	74 13                	je     0x45e3f8
45e3e5:	89 50 28             	mov    %edx,0x28(%eax)
45e3e8:	c6 40 2c 00          	movb   $0x0,0x2c(%eax)
45e3ec:	c6 40 44 01          	movb   $0x1,0x44(%eax)
45e3f0:	8b 40 04             	mov    0x4(%eax),%eax
45e3f3:	e8 94 06 00 00       	call   0x45ea8c
45e3f8:	c3                   	ret
45e3f9:	8d 40 00             	lea    0x0(%eax),%eax
45e3fc:	3a 50 2c             	cmp    0x2c(%eax),%dl
45e3ff:	74 11                	je     0x45e412
45e401:	88 50 2c             	mov    %dl,0x2c(%eax)
45e404:	84 d2                	test   %dl,%dl
45e406:	74 0a                	je     0x45e412
45e408:	ba 14 00 00 ff       	mov    $0xff000014,%edx
45e40d:	e8 ce ff ff ff       	call   0x45e3e0
45e412:	c3                   	ret
45e413:	90                   	nop
45e414:	53                   	push   %ebx
45e415:	56                   	push   %esi
45e416:	57                   	push   %edi
45e417:	8b d8                	mov    %eax,%ebx
45e419:	8b 43 04             	mov    0x4(%ebx),%eax
45e41c:	f6 40 1c 02          	testb  $0x2,0x1c(%eax)
45e420:	74 08                	je     0x45e42a
45e422:	89 53 0c             	mov    %edx,0xc(%ebx)
45e425:	e9 a7 00 00 00       	jmp    0x45e4d1
45e42a:	8b 43 14             	mov    0x14(%ebx),%eax
45e42d:	3b d0                	cmp    %eax,%edx
45e42f:	7e 04                	jle    0x45e435
45e431:	8b d0                	mov    %eax,%edx
45e433:	eb 06                	jmp    0x45e43b
45e435:	85 d2                	test   %edx,%edx
45e437:	7d 02                	jge    0x45e43b
45e439:	33 d2                	xor    %edx,%edx
45e43b:	80 7b 18 00          	cmpb   $0x0,0x18(%ebx)
45e43f:	75 04                	jne    0x45e445
45e441:	33 f6                	xor    %esi,%esi
45e443:	eb 04                	jmp    0x45e449
45e445:	66 be 01 00          	mov    $0x1,%si
45e449:	8b 43 0c             	mov    0xc(%ebx),%eax
45e44c:	3b d0                	cmp    %eax,%edx
45e44e:	74 4d                	je     0x45e49d
45e450:	89 53 0c             	mov    %edx,0xc(%ebx)
45e453:	80 7b 18 00          	cmpb   $0x0,0x18(%ebx)
45e457:	75 10                	jne    0x45e469
45e459:	2b c2                	sub    %edx,%eax
45e45b:	8b d0                	mov    %eax,%edx
45e45d:	33 c9                	xor    %ecx,%ecx
45e45f:	8b 43 04             	mov    0x4(%ebx),%eax
45e462:	e8 2d eb fe ff       	call   0x44cf94
45e467:	eb 0e                	jmp    0x45e477
45e469:	8b c8                	mov    %eax,%ecx
45e46b:	2b ca                	sub    %edx,%ecx
45e46d:	8b 43 04             	mov    0x4(%ebx),%eax
45e470:	33 d2                	xor    %edx,%edx
45e472:	e8 1d eb fe ff       	call   0x44cf94
45e477:	8b 43 04             	mov    0x4(%ebx),%eax
45e47a:	f6 40 1c 10          	testb  $0x10,0x1c(%eax)
45e47e:	74 1d                	je     0x45e49d
45e480:	e8 ff f6 ff ff       	call   0x45db84
45e485:	85 c0                	test   %eax,%eax
45e487:	74 14                	je     0x45e49d
45e489:	83 b8 50 02 00 00 00 	cmpl   $0x0,0x250(%eax)
45e490:	74 0b                	je     0x45e49d
45e492:	8b 80 50 02 00 00    	mov    0x250(%eax),%eax
45e498:	8b 10                	mov    (%eax),%edx
45e49a:	ff 52 0c             	call   *0xc(%edx)
45e49d:	0f b7 fe             	movzwl %si,%edi
45e4a0:	57                   	push   %edi
45e4a1:	8b 43 04             	mov    0x4(%ebx),%eax
45e4a4:	e8 33 ef fe ff       	call   0x44d3dc
45e4a9:	50                   	push   %eax
45e4aa:	a1 7c 46 47 00       	mov    0x47467c,%eax
45e4af:	8b 00                	mov    (%eax),%eax
45e4b1:	ff d0                	call   *%eax
45e4b3:	3b 43 0c             	cmp    0xc(%ebx),%eax
45e4b6:	74 19                	je     0x45e4d1
45e4b8:	6a ff                	push   $0xffffffff
45e4ba:	8b 43 0c             	mov    0xc(%ebx),%eax
45e4bd:	50                   	push   %eax
45e4be:	57                   	push   %edi
45e4bf:	8b 43 04             	mov    0x4(%ebx),%eax
45e4c2:	e8 15 ef fe ff       	call   0x44d3dc
45e4c7:	50                   	push   %eax
45e4c8:	a1 c8 48 47 00       	mov    0x4748c8,%eax
45e4cd:	8b 00                	mov    (%eax),%eax
45e4cf:	ff d0                	call   *%eax
45e4d1:	5f                   	pop    %edi
45e4d2:	5e                   	pop    %esi
45e4d3:	5b                   	pop    %ebx
45e4d4:	c3                   	ret
45e4d5:	8d 40 00             	lea    0x0(%eax),%eax
45e4d8:	53                   	push   %ebx
45e4d9:	56                   	push   %esi
45e4da:	8b d8                	mov    %eax,%ebx
45e4dc:	3b 53 30             	cmp    0x30(%ebx),%edx
45e4df:	74 36                	je     0x45e517
45e4e1:	8b f2                	mov    %edx,%esi
45e4e3:	85 f6                	test   %esi,%esi
45e4e5:	75 18                	jne    0x45e4ff
45e4e7:	33 c0                	xor    %eax,%eax
45e4e9:	8a 43 18             	mov    0x18(%ebx),%al
45e4ec:	8b 04 85 dc 9d 46 00 	mov    0x469ddc(,%eax,4),%eax
45e4f3:	50                   	push   %eax
45e4f4:	a1 0c 46 47 00       	mov    0x47460c,%eax
45e4f9:	8b 00                	mov    (%eax),%eax
45e4fb:	ff d0                	call   *%eax
45e4fd:	8b d0                	mov    %eax,%edx
45e4ff:	89 53 30             	mov    %edx,0x30(%ebx)
45e502:	c6 43 44 01          	movb   $0x1,0x44(%ebx)
45e506:	8b 43 04             	mov    0x4(%ebx),%eax
45e509:	e8 7e 05 00 00       	call   0x45ea8c
45e50e:	85 f6                	test   %esi,%esi
45e510:	75 05                	jne    0x45e517
45e512:	33 c0                	xor    %eax,%eax
45e514:	89 43 30             	mov    %eax,0x30(%ebx)
45e517:	5e                   	pop    %esi
45e518:	5b                   	pop    %ebx
45e519:	c3                   	ret
45e51a:	8b c0                	mov    %eax,%eax
45e51c:	3a 50 34             	cmp    0x34(%eax),%dl
45e51f:	74 0f                	je     0x45e530
45e521:	88 50 34             	mov    %dl,0x34(%eax)
45e524:	c6 40 44 01          	movb   $0x1,0x44(%eax)
45e528:	8b 40 04             	mov    0x4(%eax),%eax
45e52b:	e8 5c 05 00 00       	call   0x45ea8c
45e530:	c3                   	ret
45e531:	8d 40 00             	lea    0x0(%eax),%eax
45e534:	3b 50 38             	cmp    0x38(%eax),%edx
45e537:	74 0f                	je     0x45e548
45e539:	89 50 38             	mov    %edx,0x38(%eax)
45e53c:	c6 40 44 01          	movb   $0x1,0x44(%eax)
45e540:	8b 40 04             	mov    0x4(%eax),%eax
45e543:	e8 44 05 00 00       	call   0x45ea8c
45e548:	c3                   	ret
45e549:	8d 40 00             	lea    0x0(%eax),%eax
45e54c:	8b ca                	mov    %edx,%ecx
45e54e:	89 48 10             	mov    %ecx,0x10(%eax)
45e551:	85 c9                	test   %ecx,%ecx
45e553:	7d 05                	jge    0x45e55a
45e555:	33 d2                	xor    %edx,%edx
45e557:	89 50 10             	mov    %edx,0x10(%eax)
45e55a:	8b 40 04             	mov    0x4(%eax),%eax
45e55d:	e8 2a 05 00 00       	call   0x45ea8c
45e562:	c3                   	ret
45e563:	90                   	nop
45e564:	8b 48 04             	mov    0x4(%eax),%ecx
45e567:	c6 81 10 02 00 00 00 	movb   $0x0,0x210(%ecx)
45e56e:	c6 40 1e 01          	movb   $0x1,0x1e(%eax)
45e572:	e8 d5 ff ff ff       	call   0x45e54c
45e577:	c3                   	ret
45e578:	8b 40 04             	mov    0x4(%eax),%eax
45e57b:	8a 80 10 02 00 00    	mov    0x210(%eax),%al
45e581:	34 01                	xor    $0x1,%al
45e583:	c3                   	ret
45e584:	88 50 1c             	mov    %dl,0x1c(%eax)
45e587:	8b 40 04             	mov    0x4(%eax),%eax
45e58a:	e8 fd 04 00 00       	call   0x45ea8c
45e58f:	c3                   	ret
45e590:	55                   	push   %ebp
45e591:	8b ec                	mov    %esp,%ebp
45e593:	53                   	push   %ebx
45e594:	56                   	push   %esi
45e595:	8b d8                	mov    %eax,%ebx
45e597:	8b 75 08             	mov    0x8(%ebp),%esi
45e59a:	83 c6 fc             	add    $0xfffffffc,%esi
45e59d:	80 fb 01             	cmp    $0x1,%bl
45e5a0:	f5                   	cmc
45e5a1:	1b c0                	sbb    %eax,%eax
45e5a3:	50                   	push   %eax
45e5a4:	8b 06                	mov    (%esi),%eax
45e5a6:	0f b6 40 34          	movzbl 0x34(%eax),%eax
45e5aa:	8b 04 85 0c 9e 46 00 	mov    0x469e0c(,%eax,4),%eax
45e5b1:	50                   	push   %eax
45e5b2:	8b 06                	mov    (%esi),%eax
45e5b4:	0f b6 40 18          	movzbl 0x18(%eax),%eax
45e5b8:	8d 04 80             	lea    (%eax,%eax,4),%eax
45e5bb:	8b 04 85 e4 9d 46 00 	mov    0x469de4(,%eax,4),%eax
45e5c2:	50                   	push   %eax
45e5c3:	8b 06                	mov    (%esi),%eax
45e5c5:	8b 40 04             	mov    0x4(%eax),%eax
45e5c8:	e8 0f ee fe ff       	call   0x44d3dc
45e5cd:	50                   	push   %eax
45e5ce:	e8 e1 ea fc ff       	call   0x42d0b4
45e5d3:	8b 06                	mov    (%esi),%eax