46a5ff:	33 c0                	xor    %eax,%eax
46a601:	8a c3                	mov    %bl,%al
46a603:	0f b7 04 45 e4 ae 68 	movzwl 0x68aee4(,%eax,2),%eax
46a60a:	00
46a60b:	50                   	push   %eax
46a60c:	6a 00                	push   $0x0
46a60e:	6a 00                	push   $0x0
46a610:	6a 00                	push   $0x0
46a612:	6a 00                	push   $0x0
46a614:	6a 00                	push   $0x0
46a616:	8b 45 08             	mov    0x8(%ebp),%eax
46a619:	8b 40 fc             	mov    -0x4(%eax),%eax
46a61c:	8b 40 30             	mov    0x30(%eax),%eax
46a61f:	50                   	push   %eax
46a620:	e8 b3 d7 f9 ff       	call   0x407dd8
46a625:	88 1d e0 ae 68 00    	mov    %bl,0x68aee0
46a62b:	5b                   	pop    %ebx
46a62c:	5d                   	pop    %ebp
46a62d:	c3                   	ret
46a62e:	8b c0                	mov    %eax,%eax
46a630:	55                   	push   %ebp
46a631:	8b ec                	mov    %esp,%ebp
46a633:	51                   	push   %ecx
46a634:	53                   	push   %ebx
46a635:	56                   	push   %esi
46a636:	57                   	push   %edi
46a637:	89 45 fc             	mov    %eax,-0x4(%ebp)
46a63a:	8b 45 fc             	mov    -0x4(%ebp),%eax
46a63d:	83 78 30 00          	cmpl   $0x0,0x30(%eax)
46a641:	74 6c                	je     0x46a6af
46a643:	a1 40 8c 6a 00       	mov    0x6a8c40,%eax
46a648:	e8 cb d0 ff ff       	call   0x467718
46a64d:	8b f0                	mov    %eax,%esi
46a64f:	4e                   	dec    %esi
46a650:	85 f6                	test   %esi,%esi
46a652:	7c 52                	jl     0x46a6a6
46a654:	46                   	inc    %esi
46a655:	33 ff                	xor    %edi,%edi
46a657:	8b d7                	mov    %edi,%edx
46a659:	a1 40 8c 6a 00       	mov    0x6a8c40,%eax
46a65e:	e8 a1 d0 ff ff       	call   0x467704
46a663:	8b d8                	mov    %eax,%ebx
46a665:	80 7b 57 00          	cmpb   $0x0,0x57(%ebx)
46a669:	74 37                	je     0x46a6a2
46a66b:	83 bb 90 01 00 00 00 	cmpl   $0x0,0x190(%ebx)
46a672:	74 23                	je     0x46a697
46a674:	8b c3                	mov    %ebx,%eax
46a676:	e8 dd 4b fe ff       	call   0x44f258
46a67b:	84 c0                	test   %al,%al
46a67d:	75 18                	jne    0x46a697
46a67f:	8b 83 90 01 00 00    	mov    0x190(%ebx),%eax
46a685:	50                   	push   %eax
46a686:	8b c3                	mov    %ebx,%eax
46a688:	e8 c7 48 fe ff       	call   0x44ef54
46a68d:	50                   	push   %eax
46a68e:	e8 2d d5 f9 ff       	call   0x407bc0
46a693:	85 c0                	test   %eax,%eax
46a695:	75 0b                	jne    0x46a6a2
46a697:	55                   	push   %ebp
46a698:	b0 01                	mov    $0x1,%al
46a69a:	e8 35 ff ff ff       	call   0x46a5d4
46a69f:	59                   	pop    %ecx
46a6a0:	eb 0d                	jmp    0x46a6af
46a6a2:	47                   	inc    %edi
46a6a3:	4e                   	dec    %esi
46a6a4:	75 b1                	jne    0x46a657
46a6a6:	55                   	push   %ebp
46a6a7:	33 c0                	xor    %eax,%eax
46a6a9:	e8 26 ff ff ff       	call   0x46a5d4
46a6ae:	59                   	pop    %ecx
46a6af:	5f                   	pop    %edi
46a6b0:	5e                   	pop    %esi
46a6b1:	5b                   	pop    %ebx
46a6b2:	59                   	pop    %ecx
46a6b3:	5d                   	pop    %ebp
46a6b4:	c3                   	ret
46a6b5:	8d 40 00             	lea    0x0(%eax),%eax
46a6b8:	53                   	push   %ebx
46a6b9:	56                   	push   %esi
46a6ba:	8b f0                	mov    %eax,%esi
46a6bc:	33 db                	xor    %ebx,%ebx
46a6be:	83 7e 4c 00          	cmpl   $0x0,0x4c(%esi)
46a6c2:	75 0d                	jne    0x46a6d1
46a6c4:	8d 46 4c             	lea    0x4c(%esi),%eax
46a6c7:	e8 68 c1 f9 ff       	call   0x406834
46a6cc:	e8 df 6b fc ff       	call   0x4312b0
46a6d1:	83 7e 4c 00          	cmpl   $0x0,0x4c(%esi)
46a6d5:	74 02                	je     0x46a6d9
46a6d7:	b3 01                	mov    $0x1,%bl
46a6d9:	8b c3                	mov    %ebx,%eax
46a6db:	5e                   	pop    %esi
46a6dc:	5b                   	pop    %ebx
46a6dd:	c3                   	ret
46a6de:	8b c0                	mov    %eax,%eax
46a6e0:	53                   	push   %ebx
46a6e1:	56                   	push   %esi
46a6e2:	57                   	push   %edi
46a6e3:	8b d9                	mov    %ecx,%ebx
46a6e5:	8b f2                	mov    %edx,%esi
46a6e7:	8b f8                	mov    %eax,%edi
46a6e9:	8b c7                	mov    %edi,%eax
46a6eb:	e8 34 00 00 00       	call   0x46a724
46a6f0:	68 cc 83 46 00       	push   $0x4683cc
46a6f5:	56                   	push   %esi
46a6f6:	6a 00                	push   $0x0
46a6f8:	6a 00                	push   $0x0
46a6fa:	e8 c1 d6 f9 ff       	call   0x407dc0
46a6ff:	66 89 87 8a 00 00 00 	mov    %ax,0x8a(%edi)
46a706:	88 9f 89 00 00 00    	mov    %bl,0x89(%edi)
46a70c:	66 83 bf 8a 00 00 00 	cmpw   $0x0,0x8a(%edi)
46a713:	00
46a714:	75 07                	jne    0x46a71d
46a716:	8b c7                	mov    %edi,%eax
46a718:	e8 bb 01 00 00       	call   0x46a8d8
46a71d:	5f                   	pop    %edi
46a71e:	5e                   	pop    %esi
46a71f:	5b                   	pop    %ebx
46a720:	c3                   	ret
46a721:	8d 40 00             	lea    0x0(%eax),%eax
46a724:	53                   	push   %ebx
46a725:	8b d8                	mov    %eax,%ebx
46a727:	66 8b 83 8a 00 00 00 	mov    0x8a(%ebx),%ax
46a72e:	66 85 c0             	test   %ax,%ax
46a731:	74 14                	je     0x46a747
46a733:	0f b7 c0             	movzwl %ax,%eax
46a736:	50                   	push   %eax
46a737:	6a 00                	push   $0x0
46a739:	e8 ca d4 f9 ff       	call   0x407c08
46a73e:	66 c7 83 8a 00 00 00 	movw   $0x0,0x8a(%ebx)
46a745:	00 00
46a747:	5b                   	pop    %ebx
46a748:	c3                   	ret
46a749:	8d 40 00             	lea    0x0(%eax),%eax
46a74c:	53                   	push   %ebx
46a74d:	56                   	push   %esi
46a74e:	57                   	push   %edi
46a74f:	55                   	push   %ebp
46a750:	83 c4 e0             	add    $0xffffffe0,%esp
46a753:	8b e9                	mov    %ecx,%ebp
46a755:	8b fa                	mov    %edx,%edi
46a757:	8b f0                	mov    %eax,%esi
46a759:	8d 54 24 18          	lea    0x18(%esp),%edx
46a75d:	8b 45 08             	mov    0x8(%ebp),%eax
46a760:	e8 0f d8 f9 ff       	call   0x407f74
46a765:	8d 54 24 18          	lea    0x18(%esp),%edx
46a769:	8d 4c 24 10          	lea    0x10(%esp),%ecx
46a76d:	8b c7                	mov    %edi,%eax
46a76f:	e8 70 db fd ff       	call   0x4482e4
46a774:	8d 44 24 10          	lea    0x10(%esp),%eax
46a778:	b2 01                	mov    $0x1,%dl
46a77a:	e8 d1 c8 fd ff       	call   0x447050
46a77f:	e8 28 dc ff ff       	call   0x4683ac
46a784:	8b d8                	mov    %eax,%ebx
46a786:	85 db                	test   %ebx,%ebx
46a788:	74 09                	je     0x46a793
46a78a:	80 bb 99 00 00 00 00 	cmpb   $0x0,0x99(%ebx)
46a791:	75 0c                	jne    0x46a79f
46a793:	8b c6                	mov    %esi,%eax
46a795:	e8 3e 01 00 00       	call   0x46a8d8
46a79a:	e9 b4 00 00 00       	jmp    0x46a853
46a79f:	3b 5e 60             	cmp    0x60(%esi),%ebx
46a7a2:	75 30                	jne    0x46a7d4
46a7a4:	8d 54 24 18          	lea    0x18(%esp),%edx
46a7a8:	8b 45 08             	mov    0x8(%ebp),%eax
46a7ab:	e8 c4 d7 f9 ff       	call   0x407f74
46a7b0:	8d 54 24 18          	lea    0x18(%esp),%edx
46a7b4:	8d 4c 24 10          	lea    0x10(%esp),%ecx
46a7b8:	8b c7                	mov    %edi,%eax
46a7ba:	e8 25 db fd ff       	call   0x4482e4
46a7bf:	ff 74 24 14          	push   0x14(%esp)
46a7c3:	ff 74 24 14          	push   0x14(%esp)
46a7c7:	8d 46 64             	lea    0x64(%esi),%eax
46a7ca:	50                   	push   %eax
46a7cb:	e8 d0 d4 f9 ff       	call   0x407ca0
46a7d0:	85 c0                	test   %eax,%eax
46a7d2:	75 7f                	jne    0x46a853
46a7d4:	8a 46 58             	mov    0x58(%esi),%al
46a7d7:	88 44 24 04          	mov    %al,0x4(%esp)
46a7db:	80 7c 24 04 00       	cmpb   $0x0,0x4(%esp)
46a7e0:	74 0b                	je     0x46a7ed
46a7e2:	8b 86 80 00 00 00    	mov    0x80(%esi),%eax
46a7e8:	89 04 24             	mov    %eax,(%esp)
46a7eb:	eb 06                	jmp    0x46a7f3
46a7ed:	8b 46 78             	mov    0x78(%esi),%eax
46a7f0:	89 04 24             	mov    %eax,(%esp)
46a7f3:	8b c4                	mov    %esp,%eax
46a7f5:	50                   	push   %eax
46a7f6:	33 c9                	xor    %ecx,%ecx
46a7f8:	8a 4c 24 08          	mov    0x8(%esp),%cl
46a7fc:	ba 41 b0 00 00       	mov    $0xb041,%edx
46a801:	8b c3                	mov    %ebx,%eax
46a803:	e8 b0 f1 fd ff       	call   0x4499b8
46a808:	80 7c 24 04 00       	cmpb   $0x0,0x4(%esp)
46a80d:	74 27                	je     0x46a836
46a80f:	83 3c 24 00          	cmpl   $0x0,(%esp)
46a813:	75 21                	jne    0x46a836
46a815:	8a 44 24 04          	mov    0x4(%esp),%al
46a819:	88 46 58             	mov    %al,0x58(%esi)
46a81c:	89 5e 60             	mov    %ebx,0x60(%esi)
46a81f:	8d 44 24 05          	lea    0x5(%esp),%eax
46a823:	50                   	push   %eax
46a824:	e8 df d1 f9 ff       	call   0x407a08
46a829:	8d 54 24 05          	lea    0x5(%esp),%edx
46a82d:	8b c6                	mov    %esi,%eax
46a82f:	e8 28 03 00 00       	call   0x46ab5c
46a834:	eb 1d                	jmp    0x46a853
46a836:	8b c6                	mov    %esi,%eax
46a838:	e8 9b 00 00 00       	call   0x46a8d8
46a83d:	8a 44 24 04          	mov    0x4(%esp),%al
46a841:	88 46 58             	mov    %al,0x58(%esi)
46a844:	89 5e 60             	mov    %ebx,0x60(%esi)
46a847:	33 c9                	xor    %ecx,%ecx
46a849:	8b 14 24             	mov    (%esp),%edx
46a84c:	8b c6                	mov    %esi,%eax
46a84e:	e8 8d fe ff ff       	call   0x46a6e0
46a853:	83 c4 20             	add    $0x20,%esp
46a856:	5d                   	pop    %ebp
46a857:	5f                   	pop    %edi
46a858:	5e                   	pop    %esi
46a859:	5b                   	pop    %ebx
46a85a:	c3                   	ret
46a85b:	90                   	nop
46a85c:	53                   	push   %ebx
46a85d:	83 c4 f8             	add    $0xfffffff8,%esp
46a860:	8b d8                	mov    %eax,%ebx
46a862:	8b c3                	mov    %ebx,%eax
46a864:	e8 bb fe ff ff       	call   0x46a724
46a869:	8a 83 89 00 00 00    	mov    0x89(%ebx),%al
46a86f:	2c 01                	sub    $0x1,%al
46a871:	72 0b                	jb     0x46a87e
46a873:	75 18                	jne    0x46a88d
46a875:	8b c3                	mov    %ebx,%eax
46a877:	e8 18 00 00 00       	call   0x46a894
46a87c:	eb 0f                	jmp    0x46a88d
46a87e:	54                   	push   %esp
46a87f:	e8 84 d1 f9 ff       	call   0x407a08
46a884:	8b d4                	mov    %esp,%edx
46a886:	8b c3                	mov    %ebx,%eax
46a888:	e8 cf 02 00 00       	call   0x46ab5c
46a88d:	59                   	pop    %ecx
46a88e:	5a                   	pop    %edx
46a88f:	5b                   	pop    %ebx
46a890:	c3                   	ret
46a891:	8d 40 00             	lea    0x0(%eax),%eax
46a894:	53                   	push   %ebx
46a895:	56                   	push   %esi
46a896:	8b d8                	mov    %eax,%ebx
46a898:	8b b3 84 00 00 00    	mov    0x84(%ebx),%esi
46a89e:	85 f6                	test   %esi,%esi
46a8a0:	74 33                	je     0x46a8d5
46a8a2:	8b c6                	mov    %esi,%eax
46a8a4:	e8 af 49 fe ff       	call   0x44f258
46a8a9:	84 c0                	test   %al,%al
46a8ab:	74 28                	je     0x46a8d5
46a8ad:	8b 83 84 00 00 00    	mov    0x84(%ebx),%eax
46a8b3:	e8 9c 46 fe ff       	call   0x44ef54
46a8b8:	50                   	push   %eax
46a8b9:	e8 3a d3 f9 ff       	call   0x407bf8
46a8be:	85 c0                	test   %eax,%eax
46a8c0:	74 13                	je     0x46a8d5
46a8c2:	6a 00                	push   $0x0
46a8c4:	8b 83 84 00 00 00    	mov    0x84(%ebx),%eax
46a8ca:	e8 85 46 fe ff       	call   0x44ef54
46a8cf:	50                   	push   %eax
46a8d0:	e8 4b d5 f9 ff       	call   0x407e20
46a8d5:	5e                   	pop    %esi
46a8d6:	5b                   	pop    %ebx
46a8d7:	c3                   	ret
46a8d8:	53                   	push   %ebx
46a8d9:	8b d8                	mov    %eax,%ebx
46a8db:	83 7b 60 00          	cmpl   $0x0,0x60(%ebx)
46a8df:	74 1c                	je     0x46a8fd
46a8e1:	8b c3                	mov    %ebx,%eax
46a8e3:	e8 ac ff ff ff       	call   0x46a894
46a8e8:	33 c0                	xor    %eax,%eax
46a8ea:	89 43 60             	mov    %eax,0x60(%ebx)
46a8ed:	c6 43 58 00          	movb   $0x0,0x58(%ebx)
46a8f1:	e8 3e dc ff ff       	call   0x468534
46a8f6:	8b c3                	mov    %ebx,%eax
46a8f8:	e8 27 fe ff ff       	call   0x46a724
46a8fd:	5b                   	pop    %ebx
46a8fe:	c3                   	ret
46a8ff:	90                   	nop
46a900:	51                   	push   %ecx
46a901:	89 d1                	mov    %edx,%ecx
46a903:	89 fa                	mov    %edi,%edx
46a905:	89 c7                	mov    %eax,%edi
46a907:	58                   	pop    %eax
46a908:	f3 ae                	repz scas %es:(%edi),%al
46a90a:	89 c8                	mov    %ecx,%eax
46a90c:	89 d7                	mov    %edx,%edi
46a90e:	c3                   	ret
46a90f:	90                   	nop
46a910:	55                   	push   %ebp
46a911:	8b ec                	mov    %esp,%ebp
46a913:	83 c4 d8             	add    $0xffffffd8,%esp
46a916:	53                   	push   %ebx
46a917:	56                   	push   %esi
46a918:	57                   	push   %edi
46a919:	6a 0e                	push   $0xe
46a91b:	a1 04 6e 6a 00       	mov    0x6a6e04,%eax
46a920:	8b 00                	mov    (%eax),%eax
46a922:	ff d0                	call   *%eax
46a924:	89 45 fc             	mov    %eax,-0x4(%ebp)
46a927:	8d 45 d8             	lea    -0x28(%ebp),%eax
46a92a:	50                   	push   %eax
46a92b:	e8 c8 d0 f9 ff       	call   0x4079f8
46a930:	50                   	push   %eax
46a931:	e8 12 d1 f9 ff       	call   0x407a48
46a936:	85 c0                	test   %eax,%eax
46a938:	0f 84 1b 01 00 00    	je     0x46aa59
46a93e:	33 d2                	xor    %edx,%edx
46a940:	55                   	push   %ebp
46a941:	68 52 aa 46 00       	push   $0x46aa52
46a946:	64 ff 32             	push   %fs:(%edx)
46a949:	64 89 22             	mov    %esp,%fs:(%edx)
46a94c:	8d 4d f4             	lea    -0xc(%ebp),%ecx
46a94f:	8d 55 f8             	lea    -0x8(%ebp),%edx
46a952:	8b 45 e4             	mov    -0x1c(%ebp),%eax
46a955:	e8 06 f6 fb ff       	call   0x429f60
46a95a:	8b 45 f8             	mov    -0x8(%ebp),%eax
46a95d:	03 45 f4             	add    -0xc(%ebp),%eax
46a960:	e8 4f e7 f9 ff       	call   0x4090b4
46a965:	89 45 f0             	mov    %eax,-0x10(%ebp)
46a968:	33 d2                	xor    %edx,%edx
46a96a:	55                   	push   %ebp
46a96b:	68 23 aa 46 00       	push   $0x46aa23
46a970:	64 ff 32             	push   %fs:(%edx)
46a973:	64 89 22             	mov    %esp,%fs:(%edx)
46a976:	8b 5d f0             	mov    -0x10(%ebp),%ebx
46a979:	03 5d f8             	add    -0x8(%ebp),%ebx
46a97c:	53                   	push   %ebx
46a97d:	8b 75 f0             	mov    -0x10(%ebp),%esi
46a980:	8b ce                	mov    %esi,%ecx
46a982:	33 d2                	xor    %edx,%edx
46a984:	8b 45 e4             	mov    -0x1c(%ebp),%eax
46a987:	e8 8c f6 fb ff       	call   0x42a018
46a98c:	84 c0                	test   %al,%al
46a98e:	74 77                	je     0x46aa07
46a990:	8b 45 f0             	mov    -0x10(%ebp),%eax
46a993:	66 83 78 0e 01       	cmpw   $0x1,0xe(%eax)
46a998:	75 6d                	jne    0x46aa07
46a99a:	8b 46 04             	mov    0x4(%esi),%eax
46a99d:	8b d0                	mov    %eax,%edx
46a99f:	0f b7 4e 0e          	movzwl 0xe(%esi),%ecx
46a9a3:	0f af d1             	imul   %ecx,%edx
46a9a6:	83 c2 1f             	add    $0x1f,%edx
46a9a9:	83 e2 e0             	and    $0xffffffe0,%edx
46a9ac:	85 d2                	test   %edx,%edx
46a9ae:	79 03                	jns    0x46a9b3