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
45e5d5:	83 78 24 00          	cmpl   $0x0,0x24(%eax)
45e5d9:	7e 29                	jle    0x45e604
45e5db:	6a 00                	push   $0x0
45e5dd:	8b 06                	mov    (%esi),%eax
45e5df:	8b 40 24             	mov    0x24(%eax),%eax
45e5e2:	50                   	push   %eax
45e5e3:	8b 06                	mov    (%esi),%eax
45e5e5:	0f b6 40 18          	movzbl 0x18(%eax),%eax
45e5e9:	8d 04 80             	lea    (%eax,%eax,4),%eax
45e5ec:	8b 04 85 e8 9d 46 00 	mov    0x469de8(,%eax,4),%eax
45e5f3:	50                   	push   %eax
45e5f4:	8b 06                	mov    (%esi),%eax
45e5f6:	8b 40 04             	mov    0x4(%eax),%eax
45e5f9:	e8 de ed fe ff       	call   0x44d3dc
45e5fe:	50                   	push   %eax
45e5ff:	e8 b0 ea fc ff       	call   0x42d0b4
45e604:	8b 06                	mov    (%esi),%eax
45e606:	83 78 38 00          	cmpl   $0x0,0x38(%eax)
45e60a:	7e 29                	jle    0x45e635
45e60c:	6a 00                	push   $0x0
45e60e:	8b 06                	mov    (%esi),%eax
45e610:	8b 40 38             	mov    0x38(%eax),%eax
45e613:	50                   	push   %eax
45e614:	8b 06                	mov    (%esi),%eax
45e616:	0f b6 40 18          	movzbl 0x18(%eax),%eax
45e61a:	8d 04 80             	lea    (%eax,%eax,4),%eax
45e61d:	8b 04 85 ec 9d 46 00 	mov    0x469dec(,%eax,4),%eax
45e624:	50                   	push   %eax
45e625:	8b 06                	mov    (%esi),%eax
45e627:	8b 40 04             	mov    0x4(%eax),%eax
45e62a:	e8 ad ed fe ff       	call   0x44d3dc
45e62f:	50                   	push   %eax
45e630:	e8 7f ea fc ff       	call   0x42d0b4
45e635:	8b 06                	mov    (%esi),%eax
45e637:	83 78 30 00          	cmpl   $0x0,0x30(%eax)
45e63b:	7e 29                	jle    0x45e666
45e63d:	6a 00                	push   $0x0
45e63f:	8b 06                	mov    (%esi),%eax
45e641:	8b 40 30             	mov    0x30(%eax),%eax
45e644:	50                   	push   %eax
45e645:	8b 06                	mov    (%esi),%eax
45e647:	0f b6 40 18          	movzbl 0x18(%eax),%eax
45e64b:	8d 04 80             	lea    (%eax,%eax,4),%eax
45e64e:	8b 04 85 f0 9d 46 00 	mov    0x469df0(,%eax,4),%eax
45e655:	50                   	push   %eax
45e656:	8b 06                	mov    (%esi),%eax
45e658:	8b 40 04             	mov    0x4(%eax),%eax
45e65b:	e8 7c ed fe ff       	call   0x44d3dc
45e660:	50                   	push   %eax
45e661:	e8 4e ea fc ff       	call   0x42d0b4
45e666:	6a 00                	push   $0x0
45e668:	8b 06                	mov    (%esi),%eax
45e66a:	8b 40 28             	mov    0x28(%eax),%eax
45e66d:	e8 12 53 fc ff       	call   0x423984
45e672:	50                   	push   %eax
45e673:	8b 06                	mov    (%esi),%eax
45e675:	0f b6 40 18          	movzbl 0x18(%eax),%eax
45e679:	8d 04 80             	lea    (%eax,%eax,4),%eax
45e67c:	8b 04 85 f4 9d 46 00 	mov    0x469df4(,%eax,4),%eax
45e683:	50                   	push   %eax
45e684:	8b 06                	mov    (%esi),%eax
45e686:	8b 40 04             	mov    0x4(%eax),%eax
45e689:	e8 4e ed fe ff       	call   0x44d3dc
45e68e:	50                   	push   %eax
45e68f:	e8 20 ea fc ff       	call   0x42d0b4
45e694:	5e                   	pop    %esi
45e695:	5b                   	pop    %ebx
45e696:	5d                   	pop    %ebp
45e697:	c3                   	ret
45e698:	55                   	push   %ebp
45e699:	8b ec                	mov    %esp,%ebp
45e69b:	83 c4 dc             	add    $0xffffffdc,%esp
45e69e:	53                   	push   %ebx
45e69f:	56                   	push   %esi
45e6a0:	57                   	push   %edi
45e6a1:	88 4d fa             	mov    %cl,-0x6(%ebp)
45e6a4:	88 55 fb             	mov    %dl,-0x5(%ebp)
45e6a7:	89 45 fc             	mov    %eax,-0x4(%ebp)
45e6aa:	8d 75 fc             	lea    -0x4(%ebp),%esi
45e6ad:	8b 06                	mov    (%esi),%eax
45e6af:	33 d2                	xor    %edx,%edx
45e6b1:	89 50 14             	mov    %edx,0x14(%eax)
45e6b4:	33 db                	xor    %ebx,%ebx
45e6b6:	8b 06                	mov    (%esi),%eax
45e6b8:	80 78 18 01          	cmpb   $0x1,0x18(%eax)
45e6bc:	75 04                	jne    0x45e6c2
45e6be:	66 bb 01 00          	mov    $0x1,%bx
45e6c2:	8b 06                	mov    (%esi),%eax
45e6c4:	80 78 1c 00          	cmpb   $0x0,0x1c(%eax)
45e6c8:	74 24                	je     0x45e6ee
45e6ca:	8a 4d fa             	mov    -0x6(%ebp),%cl
45e6cd:	8a 55 fb             	mov    -0x5(%ebp),%dl
45e6d0:	8b 06                	mov    (%esi),%eax
45e6d2:	e8 d5 f8 ff ff       	call   0x45dfac
45e6d7:	8b 16                	mov    (%esi),%edx
45e6d9:	8b 7a 10             	mov    0x10(%edx),%edi
45e6dc:	2b f8                	sub    %eax,%edi
45e6de:	8b 06                	mov    (%esi),%eax
45e6e0:	89 78 14             	mov    %edi,0x14(%eax)
45e6e3:	85 ff                	test   %edi,%edi
45e6e5:	7d 07                	jge    0x45e6ee
45e6e7:	8b 06                	mov    (%esi),%eax
45e6e9:	33 d2                	xor    %edx,%edx
45e6eb:	89 50 14             	mov    %edx,0x14(%eax)
45e6ee:	c7 45 de 1c 00 00 00 	movl   $0x1c,-0x22(%ebp)
45e6f5:	c7 45 e2 17 00 00 00 	movl   $0x17,-0x1e(%ebp)
45e6fc:	33 c0                	xor    %eax,%eax
45e6fe:	89 45 e6             	mov    %eax,-0x1a(%ebp)
45e701:	8b 06                	mov    (%esi),%eax
45e703:	83 78 14 00          	cmpl   $0x0,0x14(%eax)
45e707:	7e 0a                	jle    0x45e713
45e709:	8b 06                	mov    (%esi),%eax
45e70b:	8b 40 10             	mov    0x10(%eax),%eax
45e70e:	89 45 ea             	mov    %eax,-0x16(%ebp)
45e711:	eb 05                	jmp    0x45e718
45e713:	33 c0                	xor    %eax,%eax
45e715:	89 45 ea             	mov    %eax,-0x16(%ebp)
45e718:	8a 4d fa             	mov    -0x6(%ebp),%cl
45e71b:	8a 55 fb             	mov    -0x5(%ebp),%dl
45e71e:	8b 06                	mov    (%esi),%eax
45e720:	e8 87 f8 ff ff       	call   0x45dfac
45e725:	40                   	inc    %eax
45e726:	89 45 ee             	mov    %eax,-0x12(%ebp)
45e729:	8b 06                	mov    (%esi),%eax
45e72b:	8b 40 0c             	mov    0xc(%eax),%eax
45e72e:	89 45 f2             	mov    %eax,-0xe(%ebp)
45e731:	89 45 f6             	mov    %eax,-0xa(%ebp)
45e734:	55                   	push   %ebp
45e735:	8b 06                	mov    (%esi),%eax
45e737:	8a 40 44             	mov    0x44(%eax),%al
45e73a:	e8 51 fe ff ff       	call   0x45e590
45e73f:	59                   	pop    %ecx
45e740:	8b 06                	mov    (%esi),%eax
45e742:	c6 40 44 00          	movb   $0x0,0x44(%eax)
45e746:	6a ff                	push   $0xffffffff
45e748:	8d 45 de             	lea    -0x22(%ebp),%eax
45e74b:	50                   	push   %eax
45e74c:	0f b7 c3             	movzwl %bx,%eax
45e74f:	50                   	push   %eax
45e750:	8b 06                	mov    (%esi),%eax
45e752:	8b 40 04             	mov    0x4(%eax),%eax
45e755:	e8 82 ec fe ff       	call   0x44d3dc
45e75a:	50                   	push   %eax
45e75b:	a1 60 47 47 00       	mov    0x474760,%eax
45e760:	8b 00                	mov    (%eax),%eax
45e762:	ff d0                	call   *%eax
45e764:	8b 06                	mov    (%esi),%eax
45e766:	8b 50 0c             	mov    0xc(%eax),%edx
45e769:	8b 06                	mov    (%esi),%eax
45e76b:	e8 a4 fc ff ff       	call   0x45e414
45e770:	33 c9                	xor    %ecx,%ecx
45e772:	b2 01                	mov    $0x1,%dl
45e774:	8b 06                	mov    (%esi),%eax
45e776:	e8 31 f8 ff ff       	call   0x45dfac
45e77b:	8d 04 c0             	lea    (%eax,%eax,8),%eax
45e77e:	b9 0a 00 00 00       	mov    $0xa,%ecx
45e783:	99                   	cltd
45e784:	f7 f9                	idiv   %ecx
45e786:	8b d8                	mov    %eax,%ebx
45e788:	8b 06                	mov    (%esi),%eax
45e78a:	66 89 58 0a          	mov    %bx,0xa(%eax)
45e78e:	8b 06                	mov    (%esi),%eax
45e790:	80 78 1f 00          	cmpb   $0x0,0x1f(%eax)
45e794:	74 12                	je     0x45e7a8
45e796:	0f b7 c3             	movzwl %bx,%eax
45e799:	b9 0a 00 00 00       	mov    $0xa,%ecx
45e79e:	33 d2                	xor    %edx,%edx
45e7a0:	f7 f1                	div    %ecx
45e7a2:	8b 16                	mov    (%esi),%edx
45e7a4:	66 89 42 08          	mov    %ax,0x8(%edx)
45e7a8:	5f                   	pop    %edi
45e7a9:	5e                   	pop    %esi
45e7aa:	5b                   	pop    %ebx
45e7ab:	8b e5                	mov    %ebp,%esp
45e7ad:	5d                   	pop    %ebp