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
45e7ae:	c3                   	ret
45e7af:	90                   	nop
45e7b0:	53                   	push   %ebx
45e7b1:	56                   	push   %esi
45e7b2:	84 d2                	test   %dl,%dl
45e7b4:	74 08                	je     0x45e7be
45e7b6:	83 c4 f0             	add    $0xfffffff0,%esp
45e7b9:	e8 66 4e fa ff       	call   0x403624
45e7be:	8b da                	mov    %edx,%ebx
45e7c0:	8b f0                	mov    %eax,%esi
45e7c2:	33 d2                	xor    %edx,%edx
45e7c4:	8b c6                	mov    %esi,%eax
45e7c6:	e8 3d a9 fe ff       	call   0x449108
45e7cb:	8b 46 50             	mov    0x50(%esi),%eax
45e7ce:	0b 05 24 e8 45 00    	or     0x45e824,%eax
45e7d4:	89 46 50             	mov    %eax,0x50(%esi)
45e7d7:	6a 00                	push   $0x0
45e7d9:	8b ce                	mov    %esi,%ecx
45e7db:	b2 01                	mov    $0x1,%dl
45e7dd:	a1 88 b9 45 00       	mov    0x45b988,%eax
45e7e2:	e8 45 f4 ff ff       	call   0x45dc2c
45e7e7:	89 86 08 02 00 00    	mov    %eax,0x208(%esi)
45e7ed:	6a 01                	push   $0x1
45e7ef:	8b ce                	mov    %esi,%ecx
45e7f1:	b2 01                	mov    $0x1,%dl
45e7f3:	a1 88 b9 45 00       	mov    0x45b988,%eax
45e7f8:	e8 2f f4 ff ff       	call   0x45dc2c
45e7fd:	89 86 0c 02 00 00    	mov    %eax,0x20c(%esi)
45e803:	c6 86 10 02 00 00 01 	movb   $0x1,0x210(%esi)
45e80a:	8b c6                	mov    %esi,%eax
45e80c:	84 db                	test   %bl,%bl
45e80e:	74 0f                	je     0x45e81f
45e810:	e8 67 4e fa ff       	call   0x40367c
45e815:	64 8f 05 00 00 00 00 	pop    %fs:0x0
45e81c:	83 c4 0c             	add    $0xc,%esp
45e81f:	8b c6                	mov    %esi,%eax
45e821:	5e                   	pop    %esi
45e822:	5b                   	pop    %ebx
45e823:	c3                   	ret
45e824:	00 00                	add    %al,(%eax)
45e826:	02 00                	add    (%eax),%al
45e828:	53                   	push   %ebx
45e829:	56                   	push   %esi
45e82a:	e8 5d 4e fa ff       	call   0x40368c
45e82f:	8b da                	mov    %edx,%ebx
45e831:	8b f0                	mov    %eax,%esi
45e833:	8b 86 08 02 00 00    	mov    0x208(%esi),%eax
45e839:	e8 82 4a fa ff       	call   0x4032c0
45e83e:	8b 86 0c 02 00 00    	mov    0x20c(%esi),%eax
45e844:	e8 77 4a fa ff       	call   0x4032c0
45e849:	8b d3                	mov    %ebx,%edx
45e84b:	80 e2 fc             	and    $0xfc,%dl
45e84e:	8b c6                	mov    %esi,%eax
45e850:	e8 d7 a9 fe ff       	call   0x44922c
45e855:	84 db                	test   %bl,%bl
45e857:	7e 07                	jle    0x45e860
45e859:	8b c6                	mov    %esi,%eax
45e85b:	e8 14 4e fa ff       	call   0x403674
45e860:	5e                   	pop    %esi
45e861:	5b                   	pop    %ebx
45e862:	c3                   	ret
45e863:	90                   	nop
45e864:	53                   	push   %ebx
45e865:	8b da                	mov    %edx,%ebx
45e867:	8b d3                	mov    %ebx,%edx
45e869:	e8 fa b9 fe ff       	call   0x44a268
45e86e:	83 63 24 fc          	andl   $0xfffffffc,0x24(%ebx)
45e872:	5b                   	pop    %ebx
45e873:	c3                   	ret
45e874:	53                   	push   %ebx
45e875:	8b d8                	mov    %eax,%ebx
45e877:	8b c3                	mov    %ebx,%eax
45e879:	e8 16 bb fe ff       	call   0x44a394
45e87e:	a1 0c 49 47 00       	mov    0x47490c,%eax
45e883:	80 78 0d 00          	cmpb   $0x0,0xd(%eax)
45e887:	75 20                	jne    0x45e8a9
45e889:	ba 01 00 00 00       	mov    $0x1,%edx
45e88e:	b8 05 00 00 00       	mov    $0x5,%eax
45e893:	e8 8c da fa ff       	call   0x40c324
45e898:	84 c0                	test   %al,%al
45e89a:	75 0d                	jne    0x45e8a9
45e89c:	8b c3                	mov    %ebx,%eax
45e89e:	e8 39 eb fe ff       	call   0x44d3dc
45e8a3:	50                   	push   %eax
45e8a4:	e8 3f e8 fc ff       	call   0x42d0e8
45e8a9:	8b c3                	mov    %ebx,%eax
45e8ab:	e8 dc 01 00 00       	call   0x45ea8c
45e8b0:	5b                   	pop    %ebx
45e8b1:	c3                   	ret
45e8b2:	8b c0                	mov    %eax,%eax
45e8b4:	53                   	push   %ebx
45e8b5:	56                   	push   %esi
45e8b6:	57                   	push   %edi
45e8b7:	8b f9                	mov    %ecx,%edi
45e8b9:	8b f2                	mov    %edx,%esi
45e8bb:	8b d8                	mov    %eax,%ebx
45e8bd:	8b c3                	mov    %ebx,%eax
45e8bf:	e8 48 01 00 00       	call   0x45ea0c
45e8c4:	8b cf                	mov    %edi,%ecx
45e8c6:	8b d6                	mov    %esi,%edx
45e8c8:	8b c3                	mov    %ebx,%eax
45e8ca:	e8 0d b2 fe ff       	call   0x449adc
45e8cf:	5f                   	pop    %edi
45e8d0:	5e                   	pop    %esi
45e8d1:	5b                   	pop    %ebx
45e8d2:	c3                   	ret
45e8d3:	90                   	nop
45e8d4:	80 78 5c 00          	cmpb   $0x0,0x5c(%eax)
45e8d8:	75 12                	jne    0x45e8ec
45e8da:	80 b8 a8 01 00 00 00 	cmpb   $0x0,0x1a8(%eax)
45e8e1:	74 0c                	je     0x45e8ef
45e8e3:	80 b8 a7 01 00 00 00 	cmpb   $0x0,0x1a7(%eax)
45e8ea:	74 03                	je     0x45e8ef
45e8ec:	33 c0                	xor    %eax,%eax
45e8ee:	c3                   	ret
45e8ef:	b0 01                	mov    $0x1,%al
45e8f1:	c3                   	ret
45e8f2:	8b c0                	mov    %eax,%eax
45e8f4:	55                   	push   %ebp
45e8f5:	8b ec                	mov    %esp,%ebp
45e8f7:	83 c4 f0             	add    $0xfffffff0,%esp
45e8fa:	53                   	push   %ebx
45e8fb:	56                   	push   %esi
45e8fc:	57                   	push   %edi
45e8fd:	89 45 fc             	mov    %eax,-0x4(%ebp)
45e900:	b2 01                	mov    $0x1,%dl
45e902:	a1 d8 5f 41 00       	mov    0x415fd8,%eax
45e907:	e8 84 49 fa ff       	call   0x403290
45e90c:	89 45 f0             	mov    %eax,-0x10(%ebp)
45e90f:	33 c0                	xor    %eax,%eax
45e911:	55                   	push   %ebp
45e912:	68 fc e9 45 00       	push   $0x45e9fc
45e917:	64 ff 30             	push   %fs:(%eax)
45e91a:	64 89 20             	mov    %esp,%fs:(%eax)
45e91d:	8b 45 fc             	mov    -0x4(%ebp),%eax
45e920:	e8 ef 7c fe ff       	call   0x446614
45e925:	89 45 f8             	mov    %eax,-0x8(%ebp)
45e928:	8b 45 fc             	mov    -0x4(%ebp),%eax
45e92b:	8b 98 08 02 00 00    	mov    0x208(%eax),%ebx
45e931:	8b c3                	mov    %ebx,%eax
45e933:	e8 8c f5 ff ff       	call   0x45dec4
45e938:	84 c0                	test   %al,%al
45e93a:	74 08                	je     0x45e944
45e93c:	8b 43 10             	mov    0x10(%ebx),%eax
45e93f:	3b 45 f8             	cmp    -0x8(%ebp),%eax
45e942:	7f 04                	jg     0x45e948
45e944:	33 c0                	xor    %eax,%eax
45e946:	eb 02                	jmp    0x45e94a
45e948:	b0 01                	mov    $0x1,%al
45e94a:	88 45 f7             	mov    %al,-0x9(%ebp)
45e94d:	80 7d f7 00          	cmpb   $0x0,-0x9(%ebp)
45e951:	74 0f                	je     0x45e962
45e953:	8b 43 10             	mov    0x10(%ebx),%eax
45e956:	89 45 f8             	mov    %eax,-0x8(%ebp)
45e959:	33 d2                	xor    %edx,%edx
45e95b:	8b c3                	mov    %ebx,%eax
45e95d:	e8 b2 fa ff ff       	call   0x45e414
45e962:	8b 45 fc             	mov    -0x4(%ebp),%eax
45e965:	e8 a2 b7 fe ff       	call   0x44a10c
45e96a:	8b f0                	mov    %eax,%esi
45e96c:	4e                   	dec    %esi
45e96d:	85 f6                	test   %esi,%esi
45e96f:	7c 37                	jl     0x45e9a8
45e971:	46                   	inc    %esi
45e972:	33 db                	xor    %ebx,%ebx
45e974:	8b d3                	mov    %ebx,%edx
45e976:	8b 45 fc             	mov    -0x4(%ebp),%eax
45e979:	e8 52 b7 fe ff       	call   0x44a0d0
45e97e:	8b f8                	mov    %eax,%edi
45e980:	8b d3                	mov    %ebx,%edx
45e982:	8b 45 fc             	mov    -0x4(%ebp),%eax
45e985:	e8 46 b7 fe ff       	call   0x44a0d0
45e98a:	8b d0                	mov    %eax,%edx
45e98c:	8b 45 f0             	mov    -0x10(%ebp),%eax
45e98f:	e8 94 9c fb ff       	call   0x418628