46a7bf:	e8 34 4b fb ff       	call   0x41f2f8
46a7c4:	b8 22 00 00 00       	mov    $0x22,%eax
46a7c9:	c3                   	ret
46a7ca:	50                   	push   %eax
46a7cb:	52                   	push   %edx
46a7cc:	51                   	push   %ecx
46a7cd:	e8 b0 43 fb ff       	call   0x41eb82
46a7d2:	83 c4 0c             	add    $0xc,%esp
46a7d5:	33 c0                	xor    %eax,%eax
46a7d7:	c3                   	ret
46a7d8:	cc                   	int3
46a7d9:	cc                   	int3
46a7da:	cc                   	int3
46a7db:	cc                   	int3
46a7dc:	cc                   	int3
46a7dd:	cc                   	int3
46a7de:	cc                   	int3
46a7df:	cc                   	int3
46a7e0:	cc                   	int3
46a7e1:	cc                   	int3
46a7e2:	cc                   	int3
46a7e3:	cc                   	int3
46a7e4:	cc                   	int3
46a7e5:	cc                   	int3
46a7e6:	cc                   	int3
46a7e7:	cc                   	int3
46a7e8:	cc                   	int3
46a7e9:	cc                   	int3
46a7ea:	cc                   	int3
46a7eb:	cc                   	int3
46a7ec:	cc                   	int3
46a7ed:	cc                   	int3
46a7ee:	cc                   	int3
46a7ef:	cc                   	int3
46a7f0:	c7 01 00 00 00 00    	movl   $0x0,(%ecx)
46a7f6:	8b c1                	mov    %ecx,%eax
46a7f8:	c7 41 04 00 00 00 00 	movl   $0x0,0x4(%ecx)
46a7ff:	c7 41 08 00 00 00 00 	movl   $0x0,0x8(%ecx)
46a806:	c2 04 00             	ret    $0x4
46a809:	cc                   	int3
46a80a:	cc                   	int3
46a80b:	cc                   	int3
46a80c:	cc                   	int3
46a80d:	cc                   	int3
46a80e:	cc                   	int3
46a80f:	cc                   	int3
46a810:	8b 44 24 04          	mov    0x4(%esp),%eax
46a814:	8b 00                	mov    (%eax),%eax
46a816:	89 01                	mov    %eax,(%ecx)
46a818:	8b 44 24 08          	mov    0x8(%esp),%eax
46a81c:	8b 00                	mov    (%eax),%eax
46a81e:	89 41 04             	mov    %eax,0x4(%ecx)
46a821:	8b c1                	mov    %ecx,%eax
46a823:	c2 08 00             	ret    $0x8
46a826:	cc                   	int3
46a827:	cc                   	int3
46a828:	cc                   	int3
46a829:	cc                   	int3
46a82a:	cc                   	int3
46a82b:	cc                   	int3
46a82c:	cc                   	int3
46a82d:	cc                   	int3
46a82e:	cc                   	int3
46a82f:	cc                   	int3
46a830:	8b 4c 24 08          	mov    0x8(%esp),%ecx
46a834:	56                   	push   %esi
46a835:	57                   	push   %edi
46a836:	83 79 14 10          	cmpl   $0x10,0x14(%ecx)
46a83a:	8d 71 10             	lea    0x10(%ecx),%esi
46a83d:	72 02                	jb     0x46a841
46a83f:	8b 09                	mov    (%ecx),%ecx
46a841:	8b 54 24 0c          	mov    0xc(%esp),%edx
46a845:	83 7a 14 10          	cmpl   $0x10,0x14(%edx)
46a849:	8d 7a 10             	lea    0x10(%edx),%edi
46a84c:	72 02                	jb     0x46a850
46a84e:	8b 12                	mov    (%edx),%edx
46a850:	8b 36                	mov    (%esi),%esi
46a852:	8b c6                	mov    %esi,%eax
46a854:	8b 3f                	mov    (%edi),%edi
46a856:	3b fe                	cmp    %esi,%edi
46a858:	0f 42 c7             	cmovb  %edi,%eax
46a85b:	50                   	push   %eax
46a85c:	51                   	push   %ecx
46a85d:	52                   	push   %edx
46a85e:	e8 9a 7b fc ff       	call   0x4323fd
46a863:	83 c4 0c             	add    $0xc,%esp
46a866:	85 c0                	test   %eax,%eax
46a868:	75 15                	jne    0x46a87f
46a86a:	3b f7                	cmp    %edi,%esi
46a86c:	76 0b                	jbe    0x46a879
46a86e:	83 c8 ff             	or     $0xffffffff,%eax
46a871:	85 c0                	test   %eax,%eax
46a873:	5f                   	pop    %edi
46a874:	0f 94 c0             	sete   %al
46a877:	5e                   	pop    %esi
46a878:	c3                   	ret
46a879:	1b c0                	sbb    %eax,%eax
46a87b:	f7 d8                	neg    %eax
46a87d:	85 c0                	test   %eax,%eax
46a87f:	5f                   	pop    %edi
46a880:	0f 94 c0             	sete   %al
46a883:	5e                   	pop    %esi
46a884:	c3                   	ret
46a885:	cc                   	int3
46a886:	cc                   	int3
46a887:	cc                   	int3
46a888:	cc                   	int3
46a889:	cc                   	int3
46a88a:	cc                   	int3
46a88b:	cc                   	int3
46a88c:	cc                   	int3
46a88d:	cc                   	int3
46a88e:	cc                   	int3
46a88f:	cc                   	int3
46a890:	cc                   	int3
46a891:	cc                   	int3
46a892:	cc                   	int3
46a893:	cc                   	int3
46a894:	cc                   	int3
46a895:	cc                   	int3
46a896:	cc                   	int3
46a897:	cc                   	int3
46a898:	cc                   	int3
46a899:	cc                   	int3
46a89a:	cc                   	int3
46a89b:	cc                   	int3
46a89c:	cc                   	int3
46a89d:	cc                   	int3
46a89e:	cc                   	int3
46a89f:	cc                   	int3
46a8a0:	b0 01                	mov    $0x1,%al
46a8a2:	c3                   	ret
46a8a3:	cc                   	int3
46a8a4:	cc                   	int3
46a8a5:	cc                   	int3
46a8a6:	cc                   	int3
46a8a7:	cc                   	int3
46a8a8:	cc                   	int3
46a8a9:	cc                   	int3
46a8aa:	cc                   	int3
46a8ab:	cc                   	int3
46a8ac:	cc                   	int3
46a8ad:	cc                   	int3
46a8ae:	cc                   	int3
46a8af:	cc                   	int3
46a8b0:	b0 01                	mov    $0x1,%al
46a8b2:	c3                   	ret
46a8b3:	cc                   	int3
46a8b4:	cc                   	int3
46a8b5:	cc                   	int3
46a8b6:	cc                   	int3
46a8b7:	cc                   	int3
46a8b8:	cc                   	int3
46a8b9:	cc                   	int3
46a8ba:	cc                   	int3
46a8bb:	cc                   	int3
46a8bc:	cc                   	int3
46a8bd:	cc                   	int3
46a8be:	cc                   	int3
46a8bf:	cc                   	int3
46a8c0:	b0 01                	mov    $0x1,%al
46a8c2:	c3                   	ret
46a8c3:	cc                   	int3
46a8c4:	cc                   	int3
46a8c5:	cc                   	int3
46a8c6:	cc                   	int3
46a8c7:	cc                   	int3
46a8c8:	cc                   	int3
46a8c9:	cc                   	int3
46a8ca:	cc                   	int3
46a8cb:	cc                   	int3
46a8cc:	cc                   	int3
46a8cd:	cc                   	int3
46a8ce:	cc                   	int3
46a8cf:	cc                   	int3
46a8d0:	b0 01                	mov    $0x1,%al
46a8d2:	c3                   	ret
46a8d3:	cc                   	int3
46a8d4:	cc                   	int3
46a8d5:	cc                   	int3
46a8d6:	cc                   	int3
46a8d7:	cc                   	int3
46a8d8:	cc                   	int3
46a8d9:	cc                   	int3
46a8da:	cc                   	int3
46a8db:	cc                   	int3
46a8dc:	cc                   	int3
46a8dd:	cc                   	int3
46a8de:	cc                   	int3
46a8df:	cc                   	int3
46a8e0:	8b 4c 24 08          	mov    0x8(%esp),%ecx
46a8e4:	56                   	push   %esi
46a8e5:	57                   	push   %edi
46a8e6:	83 79 14 10          	cmpl   $0x10,0x14(%ecx)
46a8ea:	8d 71 10             	lea    0x10(%ecx),%esi
46a8ed:	72 02                	jb     0x46a8f1
46a8ef:	8b 09                	mov    (%ecx),%ecx
46a8f1:	8b 54 24 0c          	mov    0xc(%esp),%edx
46a8f5:	83 7a 14 10          	cmpl   $0x10,0x14(%edx)
46a8f9:	8d 7a 10             	lea    0x10(%edx),%edi
46a8fc:	72 02                	jb     0x46a900
46a8fe:	8b 12                	mov    (%edx),%edx
46a900:	8b 36                	mov    (%esi),%esi
46a902:	8b c6                	mov    %esi,%eax
46a904:	8b 3f                	mov    (%edi),%edi
46a906:	3b fe                	cmp    %esi,%edi
46a908:	0f 42 c7             	cmovb  %edi,%eax
46a90b:	50                   	push   %eax
46a90c:	51                   	push   %ecx
46a90d:	52                   	push   %edx
46a90e:	e8 ea 7a fc ff       	call   0x4323fd
46a913:	83 c4 0c             	add    $0xc,%esp
46a916:	85 c0                	test   %eax,%eax
46a918:	75 15                	jne    0x46a92f
46a91a:	3b f7                	cmp    %edi,%esi
46a91c:	76 0b                	jbe    0x46a929
46a91e:	83 c8 ff             	or     $0xffffffff,%eax
46a921:	85 c0                	test   %eax,%eax
46a923:	5f                   	pop    %edi
46a924:	0f 95 c0             	setne  %al
46a927:	5e                   	pop    %esi
46a928:	c3                   	ret
46a929:	1b c0                	sbb    %eax,%eax
46a92b:	f7 d8                	neg    %eax
46a92d:	85 c0                	test   %eax,%eax
46a92f:	5f                   	pop    %edi
46a930:	0f 95 c0             	setne  %al
46a933:	5e                   	pop    %esi
46a934:	c3                   	ret
46a935:	cc                   	int3
46a936:	cc                   	int3
46a937:	cc                   	int3
46a938:	cc                   	int3
46a939:	cc                   	int3
46a93a:	cc                   	int3
46a93b:	cc                   	int3
46a93c:	cc                   	int3
46a93d:	cc                   	int3
46a93e:	cc                   	int3
46a93f:	cc                   	int3
46a940:	cc                   	int3
46a941:	cc                   	int3
46a942:	cc                   	int3
46a943:	cc                   	int3
46a944:	cc                   	int3
46a945:	cc                   	int3
46a946:	cc                   	int3
46a947:	cc                   	int3
46a948:	cc                   	int3
46a949:	cc                   	int3
46a94a:	cc                   	int3
46a94b:	cc                   	int3
46a94c:	cc                   	int3
46a94d:	cc                   	int3
46a94e:	cc                   	int3
46a94f:	cc                   	int3
46a950:	32 c0                	xor    %al,%al
46a952:	c3                   	ret
46a953:	cc                   	int3
46a954:	cc                   	int3
46a955:	cc                   	int3
46a956:	cc                   	int3
46a957:	cc                   	int3
46a958:	cc                   	int3
46a959:	cc                   	int3
46a95a:	cc                   	int3
46a95b:	cc                   	int3
46a95c:	cc                   	int3
46a95d:	cc                   	int3
46a95e:	cc                   	int3
46a95f:	cc                   	int3
46a960:	32 c0                	xor    %al,%al
46a962:	c3                   	ret
46a963:	cc                   	int3
46a964:	cc                   	int3
46a965:	cc                   	int3
46a966:	cc                   	int3
46a967:	cc                   	int3
46a968:	cc                   	int3
46a969:	cc                   	int3
46a96a:	cc                   	int3
46a96b:	cc                   	int3
46a96c:	cc                   	int3
46a96d:	cc                   	int3
46a96e:	cc                   	int3
46a96f:	cc                   	int3
46a970:	53                   	push   %ebx
46a971:	8b 5c 24 0c          	mov    0xc(%esp),%ebx
46a975:	56                   	push   %esi
46a976:	8b 74 24 0c          	mov    0xc(%esp),%esi
46a97a:	3b f3                	cmp    %ebx,%esi
46a97c:	74 25                	je     0x46a9a3
46a97e:	57                   	push   %edi
46a97f:	8b 7c 24 18          	mov    0x18(%esp),%edi
46a983:	3b fe                	cmp    %esi,%edi
46a985:	74 0c                	je     0x46a993
46a987:	6a ff                	push   $0xffffffff
46a989:	6a 00                	push   $0x0
46a98b:	56                   	push   %esi
46a98c:	8b cf                	mov    %edi,%ecx
46a98e:	e8 6c 36 fd ff       	call   0x43dfff
46a993:	83 c6 18             	add    $0x18,%esi
46a996:	83 c7 18             	add    $0x18,%edi
46a999:	3b f3                	cmp    %ebx,%esi
46a99b:	75 e6                	jne    0x46a983
46a99d:	8b c7                	mov    %edi,%eax
46a99f:	5f                   	pop    %edi
46a9a0:	5e                   	pop    %esi
46a9a1:	5b                   	pop    %ebx
46a9a2:	c3                   	ret
46a9a3:	8b 44 24 14          	mov    0x14(%esp),%eax
46a9a7:	5e                   	pop    %esi
46a9a8:	5b                   	pop    %ebx
46a9a9:	c3                   	ret
46a9aa:	cc                   	int3
46a9ab:	cc                   	int3
46a9ac:	cc                   	int3
46a9ad:	cc                   	int3
46a9ae:	cc                   	int3
46a9af:	cc                   	int3
46a9b0:	cc                   	int3
46a9b1:	cc                   	int3
46a9b2:	cc                   	int3
46a9b3:	cc                   	int3
46a9b4:	cc                   	int3
46a9b5:	cc                   	int3
46a9b6:	cc                   	int3
46a9b7:	cc                   	int3
46a9b8:	cc                   	int3
46a9b9:	cc                   	int3
46a9ba:	cc                   	int3
46a9bb:	cc                   	int3
46a9bc:	cc                   	int3
46a9bd:	cc                   	int3
46a9be:	cc                   	int3
46a9bf:	cc                   	int3
46a9c0:	51                   	push   %ecx
46a9c1:	c6 04 24 00          	movb   $0x0,(%esp)
46a9c5:	ff 34 24             	push   (%esp)
46a9c8:	ff 74 24 14          	push   0x14(%esp)
46a9cc:	ff 74 24 14          	push   0x14(%esp)
46a9d0:	ff 74 24 14          	push   0x14(%esp)
46a9d4:	e8 88 fe fa ff       	call   0x41a861
46a9d9:	83 c4 14             	add    $0x14,%esp
46a9dc:	c3                   	ret
46a9dd:	cc                   	int3
46a9de:	cc                   	int3
46a9df:	cc                   	int3
46a9e0:	cc                   	int3
46a9e1:	cc                   	int3