45d49f:	74 48                	je     0x45d4e9
45d4a1:	8b 44 24 7c          	mov    0x7c(%esp),%eax
45d4a5:	2b c6                	sub    %esi,%eax
45d4a7:	89 44 24 40          	mov    %eax,0x40(%esp)
45d4ab:	8b 04 30             	mov    (%eax,%esi,1),%eax
45d4ae:	80 38 00             	cmpb   $0x0,(%eax)
45d4b1:	74 21                	je     0x45d4d4
45d4b3:	2b cb                	sub    %ebx,%ecx
45d4b5:	83 ec 10             	sub    $0x10,%esp
45d4b8:	8b fc                	mov    %esp,%edi
45d4ba:	8d 71 ff             	lea    -0x1(%ecx),%esi
45d4bd:	c1 e6 04             	shl    $0x4,%esi
45d4c0:	03 32                	add    (%edx),%esi
45d4c2:	a5                   	movsl  %ds:(%esi),%es:(%edi)
45d4c3:	a5                   	movsl  %ds:(%esi),%es:(%edi)
45d4c4:	a5                   	movsl  %ds:(%esi),%es:(%edi)
45d4c5:	a5                   	movsl  %ds:(%esi),%es:(%edi)
45d4c6:	8b 74 24 30          	mov    0x30(%esp),%esi
45d4ca:	ff 36                	push   (%esi)
45d4cc:	e8 ae 03 00 00       	call   0x45d87f
45d4d1:	8b 55 08             	mov    0x8(%ebp),%edx
45d4d4:	8b 4a 08             	mov    0x8(%edx),%ecx
45d4d7:	43                   	inc    %ebx
45d4d8:	8b 44 24 40          	mov    0x40(%esp),%eax
45d4dc:	83 c6 04             	add    $0x4,%esi
45d4df:	89 74 24 20          	mov    %esi,0x20(%esp)
45d4e3:	3b d9                	cmp    %ecx,%ebx
45d4e5:	72 c4                	jb     0x45d4ab
45d4e7:	33 db                	xor    %ebx,%ebx
45d4e9:	b9 80 72 4c 00       	mov    $0x4c7280,%ecx
45d4ee:	e8 4c af fa ff       	call   0x40843f
45d4f3:	8d 4c 24 4c          	lea    0x4c(%esp),%ecx
45d4f7:	e8 28 6b fa ff       	call   0x404024
45d4fc:	8d 4c 24 78          	lea    0x78(%esp),%ecx
45d500:	e8 ae 35 fc ff       	call   0x420ab3
45d505:	8d 4c 24 28          	lea    0x28(%esp),%ecx
45d509:	e8 12 c5 fa ff       	call   0x409a20
45d50e:	8d 4c 24 60          	lea    0x60(%esp),%ecx
45d512:	e9 84 01 00 00       	jmp    0x45d69b
45d517:	8b 44 24 10          	mov    0x10(%esp),%eax
45d51b:	8b 4f 3c             	mov    0x3c(%edi),%ecx
45d51e:	8b 40 04             	mov    0x4(%eax),%eax
45d521:	8b 04 b0             	mov    (%eax,%esi,4),%eax
45d524:	0f bf 40 0a          	movswl 0xa(%eax),%eax
45d528:	50                   	push   %eax
45d529:	68 91 00 00 00       	push   $0x91
45d52e:	e8 82 cb 00 00       	call   0x46a0b5
45d533:	8d 4c 24 4c          	lea    0x4c(%esp),%ecx
45d537:	e8 e8 6a fa ff       	call   0x404024
45d53c:	8d 4c 24 78          	lea    0x78(%esp),%ecx
45d540:	e8 6e 35 fc ff       	call   0x420ab3
45d545:	8d 4c 24 28          	lea    0x28(%esp),%ecx
45d549:	e8 d2 c4 fa ff       	call   0x409a20
45d54e:	8d 4c 24 60          	lea    0x60(%esp),%ecx
45d552:	e8 9d 91 ff ff       	call   0x4566f4
45d557:	bb 05 40 00 80       	mov    $0x80004005,%ebx
45d55c:	e9 3f 01 00 00       	jmp    0x45d6a0
45d561:	8b 4f 38             	mov    0x38(%edi),%ecx
45d564:	83 39 40             	cmpl   $0x40,(%ecx)
45d567:	75 05                	jne    0x45d56e
45d569:	e8 75 04 00 00       	call   0x45d9e3
45d56e:	8d 77 40             	lea    0x40(%edi),%esi
45d571:	c7 44 24 4c 84 fb 48 	movl   $0x48fb84,0x4c(%esp)
45d578:	00
45d579:	83 7e 0c 08          	cmpl   $0x8,0xc(%esi)
45d57d:	89 5c 24 50          	mov    %ebx,0x50(%esp)
45d581:	89 5c 24 54          	mov    %ebx,0x54(%esp)
45d585:	89 5c 24 58          	mov    %ebx,0x58(%esp)
45d589:	89 5c 24 28          	mov    %ebx,0x28(%esp)
45d58d:	89 5c 24 30          	mov    %ebx,0x30(%esp)
45d591:	c7 44 24 34 01 00 00 	movl   $0x1,0x34(%esp)
45d598:	00
45d599:	75 04                	jne    0x45d59f
45d59b:	8b 06                	mov    (%esi),%eax
45d59d:	eb 02                	jmp    0x45d5a1
45d59f:	8b c3                	mov    %ebx,%eax
45d5a1:	8b 40 08             	mov    0x8(%eax),%eax
45d5a4:	50                   	push   %eax
45d5a5:	8b 08                	mov    (%eax),%ecx
45d5a7:	ff 51 04             	call   *0x4(%ecx)
45d5aa:	8d 4c 24 28          	lea    0x28(%esp),%ecx
45d5ae:	e8 6d c4 fa ff       	call   0x409a20
45d5b3:	8d 44 24 28          	lea    0x28(%esp),%eax
45d5b7:	c7 44 24 34 06 00 00 	movl   $0x6,0x34(%esp)
45d5be:	00
45d5bf:	50                   	push   %eax
45d5c0:	8d 4c 24 50          	lea    0x50(%esp),%ecx
45d5c4:	89 74 24 2c          	mov    %esi,0x2c(%esp)
45d5c8:	e8 98 90 ff ff       	call   0x456665
45d5cd:	8d 84 24 88 00 00 00 	lea    0x88(%esp),%eax
45d5d4:	50                   	push   %eax
45d5d5:	8d 8c 24 9c 00 00 00 	lea    0x9c(%esp),%ecx
45d5dc:	e8 09 be fa ff       	call   0x4093ea
45d5e1:	8d 84 24 98 00 00 00 	lea    0x98(%esp),%eax
45d5e8:	50                   	push   %eax
45d5e9:	8d 4c 24 50          	lea    0x50(%esp),%ecx
45d5ed:	e8 73 90 ff ff       	call   0x456665
45d5f2:	8d 8c 24 98 00 00 00 	lea    0x98(%esp),%ecx
45d5f9:	e8 22 c4 fa ff       	call   0x409a20
45d5fe:	8b 7c 24 14          	mov    0x14(%esp),%edi
45d602:	4f                   	dec    %edi
45d603:	78 2c                	js     0x45d631
45d605:	8b 5d 08             	mov    0x8(%ebp),%ebx
45d608:	8b f7                	mov    %edi,%esi
45d60a:	c1 e6 04             	shl    $0x4,%esi
45d60d:	8b 03                	mov    (%ebx),%eax
45d60f:	8d 4c 24 28          	lea    0x28(%esp),%ecx
45d613:	03 c6                	add    %esi,%eax
45d615:	50                   	push   %eax
45d616:	e8 e9 a1 00 00       	call   0x467804
45d61b:	8d 44 24 28          	lea    0x28(%esp),%eax
45d61f:	50                   	push   %eax
45d620:	8d 4c 24 50          	lea    0x50(%esp),%ecx
45d624:	e8 3c 90 ff ff       	call   0x456665
45d629:	83 ee 10             	sub    $0x10,%esi
45d62c:	4f                   	dec    %edi
45d62d:	79 de                	jns    0x45d60d
45d62f:	33 db                	xor    %ebx,%ebx
45d631:	8b 44 24 3c          	mov    0x3c(%esp),%eax
45d635:	8b 7c 24 14          	mov    0x14(%esp),%edi
45d639:	8b 40 14             	mov    0x14(%eax),%eax
45d63c:	3b c7                	cmp    %edi,%eax
45d63e:	7e 3d                	jle    0x45d67d
45d640:	2b c7                	sub    %edi,%eax
45d642:	8b f3                	mov    %ebx,%esi
45d644:	85 c0                	test   %eax,%eax
45d646:	7e 35                	jle    0x45d67d
45d648:	8d 44 24 60          	lea    0x60(%esp),%eax
45d64c:	89 5c 24 60          	mov    %ebx,0x60(%esp)
45d650:	50                   	push   %eax
45d651:	8d 4c 24 50          	lea    0x50(%esp),%ecx
45d655:	89 5c 24 6c          	mov    %ebx,0x6c(%esp)
45d659:	c7 44 24 70 01 00 00 	movl   $0x1,0x70(%esp)
45d660:	00
45d661:	e8 ff 8f ff ff       	call   0x456665
45d666:	8d 4c 24 60          	lea    0x60(%esp),%ecx
45d66a:	e8 b1 c3 fa ff       	call   0x409a20
45d66f:	8b 44 24 3c          	mov    0x3c(%esp),%eax
45d673:	46                   	inc    %esi
45d674:	8b 40 14             	mov    0x14(%eax),%eax
45d677:	2b c7                	sub    %edi,%eax
45d679:	3b f0                	cmp    %eax,%esi
45d67b:	7c cb                	jl     0x45d648
45d67d:	8b 4c 24 5c          	mov    0x5c(%esp),%ecx
45d681:	8d 44 24 4c          	lea    0x4c(%esp),%eax
45d685:	50                   	push   %eax
45d686:	8b 49 38             	mov    0x38(%ecx),%ecx
45d689:	e8 7a 03 00 00       	call   0x45da08
45d68e:	8d 4c 24 28          	lea    0x28(%esp),%ecx
45d692:	e8 89 c3 fa ff       	call   0x409a20
45d697:	8d 4c 24 4c          	lea    0x4c(%esp),%ecx
45d69b:	e8 54 90 ff ff       	call   0x4566f4
45d6a0:	8d 8c 24 88 00 00 00 	lea    0x88(%esp),%ecx
45d6a7:	e8 b8 83 fa ff       	call   0x405a64
45d6ac:	8d 4d 0c             	lea    0xc(%ebp),%ecx
45d6af:	e8 b0 83 fa ff       	call   0x405a64
45d6b4:	5f                   	pop    %edi
45d6b5:	5e                   	pop    %esi
45d6b6:	8b c3                	mov    %ebx,%eax
45d6b8:	5b                   	pop    %ebx
45d6b9:	8b e5                	mov    %ebp,%esp
45d6bb:	5d                   	pop    %ebp
45d6bc:	c2 14 00             	ret    $0x14
45d6bf:	55                   	push   %ebp
45d6c0:	8b ec                	mov    %esp,%ebp
45d6c2:	8b 45 10             	mov    0x10(%ebp),%eax
45d6c5:	83 ec 10             	sub    $0x10,%esp
45d6c8:	56                   	push   %esi
45d6c9:	85 c0                	test   %eax,%eax
45d6cb:	74 48                	je     0x45d715
45d6cd:	8b 75 1c             	mov    0x1c(%ebp),%esi
45d6d0:	85 f6                	test   %esi,%esi
45d6d2:	74 41                	je     0x45d715
45d6d4:	ff 30                	push   (%eax)
45d6d6:	8d 4d f0             	lea    -0x10(%ebp),%ecx
45d6d9:	e8 63 a8 fa ff       	call   0x407f41
45d6de:	8d 4d f0             	lea    -0x10(%ebp),%ecx
45d6e1:	e8 c9 a8 fa ff       	call   0x407faf
45d6e6:	ff 75 f4             	push   -0xc(%ebp)
45d6e9:	ff 75 f0             	push   -0x10(%ebp)
45d6ec:	ff 15 7c f6 48 00    	call   *0x48f67c
45d6f2:	ba d8 99 4b 00       	mov    $0x4b99d8,%edx
45d6f7:	8d 4d f0             	lea    -0x10(%ebp),%ecx
45d6fa:	e8 28 36 fc ff       	call   0x420d27
45d6ff:	84 c0                	test   %al,%al
45d701:	74 06                	je     0x45d709
45d703:	c7 06 19 fc ff ff    	movl   $0xfffffc19,(%esi)
45d709:	8d 4d f0             	lea    -0x10(%ebp),%ecx
45d70c:	e8 53 83 fa ff       	call   0x405a64
45d711:	33 c0                	xor    %eax,%eax
45d713:	eb 05                	jmp    0x45d71a
45d715:	b8 06 00 02 80       	mov    $0x80020006,%eax
45d71a:	5e                   	pop    %esi
45d71b:	8b e5                	mov    %ebp,%esp
45d71d:	5d                   	pop    %ebp
45d71e:	c2 18 00             	ret    $0x18
45d721:	55                   	push   %ebp
45d722:	8b ec                	mov    %esp,%ebp
45d724:	8b 4d 14             	mov    0x14(%ebp),%ecx
45d727:	85 c9                	test   %ecx,%ecx
45d729:	75 07                	jne    0x45d732
45d72b:	b8 57 00 07 80       	mov    $0x80070057,%eax
45d730:	eb 0a                	jmp    0x45d73c
45d732:	8b 45 08             	mov    0x8(%ebp),%eax
45d735:	8b 40 0c             	mov    0xc(%eax),%eax
45d738:	89 01                	mov    %eax,(%ecx)
45d73a:	33 c0                	xor    %eax,%eax
45d73c:	5d                   	pop    %ebp
45d73d:	c2 10 00             	ret    $0x10
45d740:	55                   	push   %ebp
45d741:	8b ec                	mov    %esp,%ebp
45d743:	8b 55 0c             	mov    0xc(%ebp),%edx
45d746:	85 d2                	test   %edx,%edx
45d748:	74 11                	je     0x45d75b
45d74a:	8b 45 08             	mov    0x8(%ebp),%eax
45d74d:	33 c9                	xor    %ecx,%ecx
45d74f:	39 48 0c             	cmp    %ecx,0xc(%eax)
45d752:	0f 95 c1             	setne  %cl
45d755:	33 c0                	xor    %eax,%eax
45d757:	89 0a                	mov    %ecx,(%edx)
45d759:	eb 05                	jmp    0x45d760
45d75b:	b8 57 00 07 80       	mov    $0x80070057,%eax
45d760:	5d                   	pop    %ebp
45d761:	c2 08 00             	ret    $0x8
45d764:	55                   	push   %ebp
45d765:	8b ec                	mov    %esp,%ebp
45d767:	51                   	push   %ecx
45d768:	81 7d 0c 19 fc ff ff 	cmpl   $0xfffffc19,0xc(%ebp)
45d76f:	56                   	push   %esi
45d770:	75 11                	jne    0x45d783
45d772:	8b 4d 08             	mov    0x8(%ebp),%ecx
45d775:	e8 e3 00 00 00       	call   0x45d85d
45d77a:	33 c0                	xor    %eax,%eax
45d77c:	5e                   	pop    %esi
45d77d:	8b e5                	mov    %ebp,%esp
45d77f:	5d                   	pop    %ebp
45d780:	c2 24 00             	ret    $0x24
45d783:	8b 75 08             	mov    0x8(%ebp),%esi
45d786:	8b 4e 0c             	mov    0xc(%esi),%ecx
45d789:	85 c9                	test   %ecx,%ecx
45d78b:	74 ed                	je     0x45d77a
45d78d:	83 65 08 00          	andl   $0x0,0x8(%ebp)
45d791:	8d 55 fc             	lea    -0x4(%ebp),%edx
45d794:	8b 01                	mov    (%ecx),%eax
45d796:	52                   	push   %edx
45d797:	6a 01                	push   $0x1
45d799:	8d 55 08             	lea    0x8(%ebp),%edx
45d79c:	52                   	push   %edx
45d79d:	ff 75 0c             	push   0xc(%ebp)
45d7a0:	51                   	push   %ecx
45d7a1:	ff 50 1c             	call   *0x1c(%eax)
45d7a4:	85 c0                	test   %eax,%eax
45d7a6:	78 d2                	js     0x45d77a
45d7a8:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
45d7ac:	74 cc                	je     0x45d77a
45d7ae:	83 ec 10             	sub    $0x10,%esp
45d7b1:	8b cc                	mov    %esp,%ecx
45d7b3:	ff 75 08             	push   0x8(%ebp)
45d7b6:	e8 86 a7 fa ff       	call   0x407f41
45d7bb:	ff 75 1c             	push   0x1c(%ebp)
45d7be:	8b ce                	mov    %esi,%ecx
45d7c0:	e8 9d f8 ff ff       	call   0x45d062
45d7c5:	ff 75 08             	push   0x8(%ebp)
45d7c8:	8b f0                	mov    %eax,%esi
45d7ca:	ff 15 18 f4 48 00    	call   *0x48f418
45d7d0:	8b c6                	mov    %esi,%eax
45d7d2:	eb a8                	jmp    0x45d77c
45d7d4:	55                   	push   %ebp
45d7d5:	8b ec                	mov    %esp,%ebp
45d7d7:	56                   	push   %esi
45d7d8:	6a 10                	push   $0x10
45d7da:	68 ec 2b 49 00       	push   $0x492bec
45d7df:	ff 75 0c             	push   0xc(%ebp)
45d7e2:	e8 dd 3e fc ff       	call   0x4216c4
45d7e7:	8b 75 08             	mov    0x8(%ebp),%esi
45d7ea:	83 c4 0c             	add    $0xc,%esp
45d7ed:	85 c0                	test   %eax,%eax
45d7ef:	74 32                	je     0x45d823
45d7f1:	6a 10                	push   $0x10
45d7f3:	68 0c 2c 49 00       	push   $0x492c0c
45d7f8:	ff 75 0c             	push   0xc(%ebp)
45d7fb:	e8 c4 3e fc ff       	call   0x4216c4
45d800:	83 c4 0c             	add    $0xc,%esp
45d803:	85 c0                	test   %eax,%eax
45d805:	74 1c                	je     0x45d823
45d807:	6a 10                	push   $0x10
45d809:	8d 46 10             	lea    0x10(%esi),%eax
45d80c:	50                   	push   %eax
45d80d:	ff 75 0c             	push   0xc(%ebp)
45d810:	e8 af 3e fc ff       	call   0x4216c4
45d815:	83 c4 0c             	add    $0xc,%esp
45d818:	85 c0                	test   %eax,%eax
45d81a:	74 07                	je     0x45d823
45d81c:	b8 02 40 00 80       	mov    $0x80004002,%eax
45d821:	eb 0d                	jmp    0x45d830
45d823:	8b 06                	mov    (%esi),%eax
45d825:	56                   	push   %esi
45d826:	ff 50 04             	call   *0x4(%eax)
45d829:	8b 45 10             	mov    0x10(%ebp),%eax
45d82c:	89 30                	mov    %esi,(%eax)
45d82e:	33 c0                	xor    %eax,%eax
45d830:	5e                   	pop    %esi
45d831:	5d                   	pop    %ebp
45d832:	c2 0c 00             	ret    $0xc
45d835:	55                   	push   %ebp
45d836:	8b ec                	mov    %esp,%ebp
45d838:	56                   	push   %esi
45d839:	8b 75 08             	mov    0x8(%ebp),%esi
45d83c:	8d 46 24             	lea    0x24(%esi),%eax
45d83f:	50                   	push   %eax
45d840:	ff 15 50 f3 48 00    	call   *0x48f350
45d846:	85 c0                	test   %eax,%eax
45d848:	75 0e                	jne    0x45d858
45d84a:	85 f6                	test   %esi,%esi
45d84c:	74 08                	je     0x45d856
45d84e:	51                   	push   %ecx
45d84f:	8b ce                	mov    %esi,%ecx
45d851:	e8 01 f7 ff ff       	call   0x45cf57
45d856:	33 c0                	xor    %eax,%eax
45d858:	5e                   	pop    %esi
45d859:	5d                   	pop    %ebp
45d85a:	c2 04 00             	ret    $0x4
45d85d:	56                   	push   %esi
45d85e:	8b f1                	mov    %ecx,%esi
45d860:	8b 4e 20             	mov    0x20(%esi),%ecx
45d863:	85 c9                	test   %ecx,%ecx
45d865:	74 12                	je     0x45d879
45d867:	ff 76 08             	push   0x8(%esi)
45d86a:	8b 01                	mov    (%ecx),%eax
45d86c:	51                   	push   %ecx
45d86d:	ff 50 18             	call   *0x18(%eax)
45d870:	8b 46 20             	mov    0x20(%esi),%eax
45d873:	50                   	push   %eax
45d874:	8b 08                	mov    (%eax),%ecx
45d876:	ff 51 08             	call   *0x8(%ecx)
45d879:	83 66 20 00          	andl   $0x0,0x20(%esi)
45d87d:	5e                   	pop    %esi
45d87e:	c3                   	ret
45d87f:	55                   	push   %ebp
45d880:	8b ec                	mov    %esp,%ebp
45d882:	83 ec 1c             	sub    $0x1c,%esp
45d885:	f7 45 0c 00 40 00 00 	testl  $0x4000,0xc(%ebp)
45d88c:	56                   	push   %esi
45d88d:	57                   	push   %edi
45d88e:	0f 84 02 01 00 00    	je     0x45d996
45d894:	6a 01                	push   $0x1
45d896:	8d 45 f8             	lea    -0x8(%ebp),%eax
45d899:	33 ff                	xor    %edi,%edi
45d89b:	50                   	push   %eax
45d89c:	ff 75 08             	push   0x8(%ebp)