45c60c:	75 4b                	jne    0x45c659
45c60e:	56                   	push   %esi
45c60f:	ff 15 4c d4 48 00    	call   *0x48d44c
45c615:	8b 4d 10             	mov    0x10(%ebp),%ecx
45c618:	ba 08 40 00 00       	mov    $0x4008,%edx
45c61d:	0f b7 84 8d 0c ff ff 	movzwl -0xf4(%ebp,%ecx,4),%eax
45c624:	ff
45c625:	66 89 06             	mov    %ax,(%esi)
45c628:	66 3b c2             	cmp    %dx,%ax
45c62b:	75 17                	jne    0x45c644
45c62d:	68 00 dc 49 00       	push   $0x49dc00
45c632:	ff 15 2c d4 48 00    	call   *0x48d42c
45c638:	8b 4d 10             	mov    0x10(%ebp),%ecx
45c63b:	89 45 d0             	mov    %eax,-0x30(%ebp)
45c63e:	8d 45 d0             	lea    -0x30(%ebp),%eax
45c641:	89 46 08             	mov    %eax,0x8(%esi)
45c644:	8b 47 04             	mov    0x4(%edi),%eax
45c647:	6a 02                	push   $0x2
45c649:	8b 04 88             	mov    (%eax,%ecx,4),%eax
45c64c:	5a                   	pop    %edx
45c64d:	83 78 0c 06          	cmpl   $0x6,0xc(%eax)
45c651:	8b 45 f4             	mov    -0xc(%ebp),%eax
45c654:	74 03                	je     0x45c659
45c656:	89 76 08             	mov    %esi,0x8(%esi)
45c659:	41                   	inc    %ecx
45c65a:	83 ee 10             	sub    $0x10,%esi
45c65d:	89 4d 10             	mov    %ecx,0x10(%ebp)
45c660:	3b c8                	cmp    %eax,%ecx
45c662:	72 a0                	jb     0x45c604
45c664:	8b 7d e4             	mov    -0x1c(%ebp),%edi
45c667:	f6 45 08 0c          	testb  $0xc,0x8(%ebp)
45c66b:	89 45 dc             	mov    %eax,-0x24(%ebp)
45c66e:	8b 45 14             	mov    0x14(%ebp),%eax
45c671:	89 45 d4             	mov    %eax,-0x2c(%ebp)
45c674:	74 0d                	je     0x45c683
45c676:	8d 45 cc             	lea    -0x34(%ebp),%eax
45c679:	c7 45 e0 01 00 00 00 	movl   $0x1,-0x20(%ebp)
45c680:	89 45 d8             	mov    %eax,-0x28(%ebp)
45c683:	8d 45 bc             	lea    -0x44(%ebp),%eax
45c686:	50                   	push   %eax
45c687:	ff 15 64 d4 48 00    	call   *0x48d464
45c68d:	6a 20                	push   $0x20
45c68f:	8d 45 9c             	lea    -0x64(%ebp),%eax
45c692:	53                   	push   %ebx
45c693:	50                   	push   %eax
45c694:	e8 b7 46 fc ff       	call   0x420d50
45c699:	8b 4d ec             	mov    -0x14(%ebp),%ecx
45c69c:	8b 75 08             	mov    0x8(%ebp),%esi
45c69f:	8b 01                	mov    (%ecx),%eax
45c6a1:	83 c4 0c             	add    $0xc,%esp
45c6a4:	80 7d fb 00          	cmpb   $0x0,-0x5(%ebp)
45c6a8:	8d 55 e8             	lea    -0x18(%ebp),%edx
45c6ab:	52                   	push   %edx
45c6ac:	8d 55 9c             	lea    -0x64(%ebp),%edx
45c6af:	52                   	push   %edx
45c6b0:	74 03                	je     0x45c6b5
45c6b2:	53                   	push   %ebx
45c6b3:	eb 04                	jmp    0x45c6b9
45c6b5:	8d 55 bc             	lea    -0x44(%ebp),%edx
45c6b8:	52                   	push   %edx
45c6b9:	8d 55 d4             	lea    -0x2c(%ebp),%edx
45c6bc:	52                   	push   %edx
45c6bd:	56                   	push   %esi
45c6be:	68 00 08 00 00       	push   $0x800
45c6c3:	68 3c d9 48 00       	push   $0x48d93c
45c6c8:	ff 75 f0             	push   -0x10(%ebp)
45c6cb:	51                   	push   %ecx
45c6cc:	ff 50 18             	call   *0x18(%eax)
45c6cf:	3d 03 00 02 80       	cmp    $0x80020003,%eax
45c6d4:	75 3c                	jne    0x45c712
45c6d6:	83 7d e0 01          	cmpl   $0x1,-0x20(%ebp)
45c6da:	75 4d                	jne    0x45c729
45c6dc:	8b 55 ec             	mov    -0x14(%ebp),%edx
45c6df:	6a 04                	push   $0x4
45c6e1:	59                   	pop    %ecx
45c6e2:	33 c0                	xor    %eax,%eax
45c6e4:	66 3b f1             	cmp    %cx,%si
45c6e7:	8b 0a                	mov    (%edx),%ecx
45c6e9:	0f 94 c0             	sete   %al
45c6ec:	8d 75 e8             	lea    -0x18(%ebp),%esi
45c6ef:	56                   	push   %esi
45c6f0:	8d 75 9c             	lea    -0x64(%ebp),%esi
45c6f3:	56                   	push   %esi
45c6f4:	53                   	push   %ebx
45c6f5:	8d 75 d4             	lea    -0x2c(%ebp),%esi
45c6f8:	56                   	push   %esi
45c6f9:	8d 04 85 04 00 00 00 	lea    0x4(,%eax,4),%eax
45c700:	50                   	push   %eax
45c701:	68 00 08 00 00       	push   $0x800
45c706:	68 3c d9 48 00       	push   $0x48d93c
45c70b:	ff 75 f0             	push   -0x10(%ebp)
45c70e:	52                   	push   %edx
45c70f:	ff 51 18             	call   *0x18(%ecx)
45c712:	85 c0                	test   %eax,%eax
45c714:	79 26                	jns    0x45c73c
45c716:	b9 09 00 02 80       	mov    $0x80020009,%ecx
45c71b:	3b c1                	cmp    %ecx,%eax
45c71d:	75 0a                	jne    0x45c729
45c71f:	6a 01                	push   $0x1
45c721:	53                   	push   %ebx
45c722:	8d 45 9c             	lea    -0x64(%ebp),%eax
45c725:	50                   	push   %eax
45c726:	51                   	push   %ecx
45c727:	eb 05                	jmp    0x45c72e
45c729:	6a 01                	push   $0x1
45c72b:	53                   	push   %ebx
45c72c:	53                   	push   %ebx
45c72d:	50                   	push   %eax
45c72e:	8b cf                	mov    %edi,%ecx
45c730:	e8 88 f6 ff ff       	call   0x45bdbd
45c735:	8b d8                	mov    %eax,%ebx
45c737:	e9 8d 00 00 00       	jmp    0x45c7c9
45c73c:	8b 07                	mov    (%edi),%eax
45c73e:	53                   	push   %ebx
45c73f:	8b 48 04             	mov    0x4(%eax),%ecx
45c742:	53                   	push   %ebx
45c743:	03 cf                	add    %edi,%ecx
45c745:	e8 02 08 ff ff       	call   0x44cf4c
45c74a:	8b 4d 0c             	mov    0xc(%ebp),%ecx
45c74d:	8d 45 bc             	lea    -0x44(%ebp),%eax
45c750:	50                   	push   %eax
45c751:	e8 6f d6 fe ff       	call   0x449dc5
45c756:	8b 45 f4             	mov    -0xc(%ebp),%eax
45c759:	8b f3                	mov    %ebx,%esi
45c75b:	85 c0                	test   %eax,%eax
45c75d:	74 6a                	je     0x45c7c9
45c75f:	8b 7d 14             	mov    0x14(%ebp),%edi
45c762:	c1 e0 04             	shl    $0x4,%eax
45c765:	83 c7 f0             	add    $0xfffffff0,%edi
45c768:	03 f8                	add    %eax,%edi
45c76a:	8b 45 18             	mov    0x18(%ebp),%eax
45c76d:	8b 40 04             	mov    0x4(%eax),%eax
45c770:	8b 04 b0             	mov    (%eax,%esi,4),%eax
45c773:	83 78 0c 06          	cmpl   $0x6,0xc(%eax)
45c777:	75 47                	jne    0x45c7c0
45c779:	83 bd fc fe ff ff 00 	cmpl   $0x0,-0x104(%ebp)
45c780:	74 2c                	je     0x45c7ae
45c782:	0f b7 8c b5 0c ff ff 	movzwl -0xf4(%ebp,%esi,4),%ecx
45c789:	ff
45c78a:	ba 24 40 00 00       	mov    $0x4024,%edx
45c78f:	66 3b ca             	cmp    %dx,%cx
45c792:	74 2c                	je     0x45c7c0
45c794:	f6 84 b5 0e ff ff ff 	testb  $0x2,-0xf2(%ebp,%esi,4)
45c79b:	02
45c79c:	75 10                	jne    0x45c7ae
45c79e:	f7 c1 00 40 00 00    	test   $0x4000,%ecx
45c7a4:	75 08                	jne    0x45c7ae
45c7a6:	6a 08                	push   $0x8
45c7a8:	59                   	pop    %ecx
45c7a9:	66 39 0f             	cmp    %cx,(%edi)
45c7ac:	75 12                	jne    0x45c7c0
45c7ae:	83 78 0c 06          	cmpl   $0x6,0xc(%eax)
45c7b2:	75 04                	jne    0x45c7b8
45c7b4:	8b 08                	mov    (%eax),%ecx
45c7b6:	eb 02                	jmp    0x45c7ba
45c7b8:	8b cb                	mov    %ebx,%ecx
45c7ba:	57                   	push   %edi
45c7bb:	e8 05 d6 fe ff       	call   0x449dc5
45c7c0:	46                   	inc    %esi
45c7c1:	83 ef 10             	sub    $0x10,%edi
45c7c4:	3b 75 f4             	cmp    -0xc(%ebp),%esi
45c7c7:	72 a1                	jb     0x45c76a
45c7c9:	8d 45 bc             	lea    -0x44(%ebp),%eax
45c7cc:	50                   	push   %eax
45c7cd:	ff 15 4c d4 48 00    	call   *0x48d44c
45c7d3:	8b 45 14             	mov    0x14(%ebp),%eax
45c7d6:	85 c0                	test   %eax,%eax
45c7d8:	74 08                	je     0x45c7e2
45c7da:	51                   	push   %ecx
45c7db:	8b c8                	mov    %eax,%ecx
45c7dd:	e8 6f 40 fe ff       	call   0x440851
45c7e2:	8b c3                	mov    %ebx,%eax
45c7e4:	e9 aa 00 00 00       	jmp    0x45c893
45c7e9:	6a 0c                	push   $0xc
45c7eb:	8b ce                	mov    %esi,%ecx
45c7ed:	e8 f2 0d fb ff       	call   0x40d5e4
45c7f2:	84 c0                	test   %al,%al
45c7f4:	74 3b                	je     0x45c831
45c7f6:	83 7e 0c 0c          	cmpl   $0xc,0xc(%esi)
45c7fa:	75 04                	jne    0x45c800
45c7fc:	8b 36                	mov    (%esi),%esi
45c7fe:	eb 02                	jmp    0x45c802
45c800:	8b f3                	mov    %ebx,%esi
45c802:	83 ec 10             	sub    $0x10,%esp
45c805:	8b cc                	mov    %esp,%ecx
45c807:	ff 75 14             	push   0x14(%ebp)
45c80a:	e8 16 61 fa ff       	call   0x402925
45c80f:	ff 75 0c             	push   0xc(%ebp)
45c812:	8b ce                	mov    %esi,%ecx
45c814:	ff 75 18             	push   0x18(%ebp)
45c817:	ff 75 08             	push   0x8(%ebp)
45c81a:	e8 9a c6 fe ff       	call   0x448eb9
45c81f:	53                   	push   %ebx
45c820:	50                   	push   %eax
45c821:	8b 07                	mov    (%edi),%eax
45c823:	8b 48 04             	mov    0x4(%eax),%ecx
45c826:	03 cf                	add    %edi,%ecx
45c828:	e8 1f 07 ff ff       	call   0x44cf4c
45c82d:	33 c0                	xor    %eax,%eax
45c82f:	eb 62                	jmp    0x45c893
45c831:	6a 0f                	push   $0xf
45c833:	8b ce                	mov    %esi,%ecx
45c835:	e8 aa 0d fb ff       	call   0x40d5e4
45c83a:	84 c0                	test   %al,%al
45c83c:	74 36                	je     0x45c874
45c83e:	83 7e 0c 0f          	cmpl   $0xf,0xc(%esi)
45c842:	75 04                	jne    0x45c848
45c844:	8b 36                	mov    (%esi),%esi
45c846:	eb 02                	jmp    0x45c84a
45c848:	8b f3                	mov    %ebx,%esi
45c84a:	ff 75 0c             	push   0xc(%ebp)
45c84d:	8d 4d 8c             	lea    -0x74(%ebp),%ecx
45c850:	ff 75 18             	push   0x18(%ebp)
45c853:	ff 75 08             	push   0x8(%ebp)
45c856:	ff 75 14             	push   0x14(%ebp)
45c859:	e8 c7 60 fa ff       	call   0x402925
45c85e:	50                   	push   %eax
45c85f:	8b ce                	mov    %esi,%ecx
45c861:	e8 a0 7d fe ff       	call   0x444606
45c866:	8d 4d 8c             	lea    -0x74(%ebp),%ecx
45c869:	8b f0                	mov    %eax,%esi
45c86b:	e8 b0 63 fb ff       	call   0x412c20
45c870:	53                   	push   %ebx
45c871:	56                   	push   %esi
45c872:	eb ad                	jmp    0x45c821
45c874:	6a 01                	push   $0x1
45c876:	68 e4 3e 4b 00       	push   $0x4b3ee4
45c87b:	53                   	push   %ebx
45c87c:	6a 04                	push   $0x4
45c87e:	e9 23 fc ff ff       	jmp    0x45c4a6
45c883:	33 c0                	xor    %eax,%eax
45c885:	40                   	inc    %eax
45c886:	50                   	push   %eax
45c887:	68 e4 3e 4b 00       	push   $0x4b3ee4
45c88c:	53                   	push   %ebx
45c88d:	50                   	push   %eax
45c88e:	e8 2a f5 ff ff       	call   0x45bdbd
45c893:	5f                   	pop    %edi
45c894:	5e                   	pop    %esi
45c895:	5b                   	pop    %ebx
45c896:	c9                   	leave
45c897:	c2 14 00             	ret    $0x14
45c89a:	55                   	push   %ebp
45c89b:	8b ec                	mov    %esp,%ebp
45c89d:	51                   	push   %ecx
45c89e:	56                   	push   %esi
45c89f:	8b 75 18             	mov    0x18(%ebp),%esi
45c8a2:	57                   	push   %edi
45c8a3:	8b f9                	mov    %ecx,%edi
45c8a5:	85 f6                	test   %esi,%esi
45c8a7:	74 2b                	je     0x45c8d4
45c8a9:	68 00 dc 49 00       	push   $0x49dc00
45c8ae:	8b ce                	mov    %esi,%ecx
45c8b0:	e8 04 05 fb ff       	call   0x40cdb9
45c8b5:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
45c8b9:	ff 75 14             	push   0x14(%ebp)
45c8bc:	8b cf                	mov    %edi,%ecx
45c8be:	ff 75 10             	push   0x10(%ebp)
45c8c1:	ff 75 0c             	push   0xc(%ebp)
45c8c4:	56                   	push   %esi
45c8c5:	74 09                	je     0x45c8d0
45c8c7:	6a 01                	push   $0x1
45c8c9:	e8 71 fb ff ff       	call   0x45c43f
45c8ce:	eb 07                	jmp    0x45c8d7
45c8d0:	6a 03                	push   $0x3
45c8d2:	eb f5                	jmp    0x45c8c9
45c8d4:	83 c8 ff             	or     $0xffffffff,%eax
45c8d7:	5f                   	pop    %edi
45c8d8:	5e                   	pop    %esi
45c8d9:	59                   	pop    %ecx
45c8da:	5d                   	pop    %ebp
45c8db:	c2 14 00             	ret    $0x14
45c8de:	55                   	push   %ebp
45c8df:	8b ec                	mov    %esp,%ebp
45c8e1:	83 ec 18             	sub    $0x18,%esp
45c8e4:	8b 55 10             	mov    0x10(%ebp),%edx
45c8e7:	33 c0                	xor    %eax,%eax
45c8e9:	56                   	push   %esi
45c8ea:	89 45 ec             	mov    %eax,-0x14(%ebp)
45c8ed:	89 45 f4             	mov    %eax,-0xc(%ebp)
45c8f0:	c7 45 f8 01 00 00 00 	movl   $0x1,-0x8(%ebp)
45c8f7:	85 d2                	test   %edx,%edx
45c8f9:	74 1f                	je     0x45c91a
45c8fb:	39 42 08             	cmp    %eax,0x8(%edx)
45c8fe:	76 1a                	jbe    0x45c91a
45c900:	8b 42 04             	mov    0x4(%edx),%eax
45c903:	8b 00                	mov    (%eax),%eax
45c905:	83 78 0c 08          	cmpl   $0x8,0xc(%eax)
45c909:	75 0f                	jne    0x45c91a
45c90b:	52                   	push   %edx
45c90c:	ff 75 0c             	push   0xc(%ebp)
45c90f:	8d 45 ec             	lea    -0x14(%ebp),%eax
45c912:	ff 75 08             	push   0x8(%ebp)
45c915:	50                   	push   %eax
45c916:	6a 08                	push   $0x8
45c918:	eb 0d                	jmp    0x45c927
45c91a:	52                   	push   %edx
45c91b:	ff 75 0c             	push   0xc(%ebp)
45c91e:	8d 45 ec             	lea    -0x14(%ebp),%eax
45c921:	ff 75 08             	push   0x8(%ebp)
45c924:	50                   	push   %eax
45c925:	6a 04                	push   $0x4
45c927:	e8 13 fb ff ff       	call   0x45c43f
45c92c:	8d 4d ec             	lea    -0x14(%ebp),%ecx
45c92f:	8b f0                	mov    %eax,%esi
45c931:	e8 ea 62 fb ff       	call   0x412c20
45c936:	8b c6                	mov    %esi,%eax
45c938:	5e                   	pop    %esi
45c939:	c9                   	leave
45c93a:	c2 0c 00             	ret    $0xc
45c93d:	55                   	push   %ebp
45c93e:	8b ec                	mov    %esp,%ebp
45c940:	83 ec 40             	sub    $0x40,%esp
45c943:	8b 55 08             	mov    0x8(%ebp),%edx
45c946:	53                   	push   %ebx
45c947:	8b 52 04             	mov    0x4(%edx),%edx
45c94a:	56                   	push   %esi
45c94b:	8b 75 0c             	mov    0xc(%ebp),%esi
45c94e:	8b d9                	mov    %ecx,%ebx
45c950:	33 c9                	xor    %ecx,%ecx
45c952:	89 4d dc             	mov    %ecx,-0x24(%ebp)
45c955:	89 4d e0             	mov    %ecx,-0x20(%ebp)
45c958:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
45c95b:	89 4d c4             	mov    %ecx,-0x3c(%ebp)
45c95e:	89 4d cc             	mov    %ecx,-0x34(%ebp)
45c961:	33 c0                	xor    %eax,%eax
45c963:	89 4d f8             	mov    %ecx,-0x8(%ebp)
45c966:	8b 0e                	mov    (%esi),%ecx
45c968:	c7 45 d8 b4 dd 49 00 	movl   $0x49ddb4,-0x28(%ebp)
45c96f:	c7 45 d0 01 00 00 00 	movl   $0x1,-0x30(%ebp)
45c976:	66 89 45 f2          	mov    %ax,-0xe(%ebp)
45c97a:	8b 04 8a             	mov    (%edx,%ecx,4),%eax
45c97d:	57                   	push   %edi
45c97e:	0f bf 40 0a          	movswl 0xa(%eax),%eax
45c982:	83 cf ff             	or     $0xffffffff,%edi
45c985:	41                   	inc    %ecx
45c986:	89 45 f4             	mov    %eax,-0xc(%ebp)
45c989:	8b 04 8a             	mov    (%edx,%ecx,4),%eax
45c98c:	89 0e                	mov    %ecx,(%esi)
45c98e:	6a 47                	push   $0x47
45c990:	5e                   	pop    %esi
45c991:	66 39 70 08          	cmp    %si,0x8(%eax)
45c995:	8b 75 0c             	mov    0xc(%ebp),%esi
45c998:	66 89 7d f0          	mov    %di,-0x10(%ebp)
45c99c:	74 17                	je     0x45c9b5
45c99e:	8b 44 8a fc          	mov    -0x4(%edx,%ecx,4),%eax
45c9a2:	0f bf 40 0a          	movswl 0xa(%eax),%eax
45c9a6:	50                   	push   %eax
45c9a7:	6a 6f                	push   $0x6f
45c9a9:	8b cb                	mov    %ebx,%ecx