46d595:	89 4d f0             	mov    %ecx,-0x10(%ebp)
46d598:	89 75 ec             	mov    %esi,-0x14(%ebp)
46d59b:	74 04                	je     0x46d5a1
46d59d:	6a 0e                	push   $0xe
46d59f:	eb 0d                	jmp    0x46d5ae
46d5a1:	8b 45 0c             	mov    0xc(%ebp),%eax
46d5a4:	8b 40 4c             	mov    0x4c(%eax),%eax
46d5a7:	83 f8 ff             	cmp    $0xffffffff,%eax
46d5aa:	75 04                	jne    0x46d5b0
46d5ac:	6a 12                	push   $0x12
46d5ae:	ff d7                	call   *%edi
46d5b0:	50                   	push   %eax
46d5b1:	53                   	push   %ebx
46d5b2:	ff 15 40 d1 48 00    	call   *0x48d140
46d5b8:	89 45 f8             	mov    %eax,-0x8(%ebp)
46d5bb:	8b 45 0c             	mov    0xc(%ebp),%eax
46d5be:	8b 40 48             	mov    0x48(%eax),%eax
46d5c1:	83 f8 ff             	cmp    $0xffffffff,%eax
46d5c4:	75 11                	jne    0x46d5d7
46d5c6:	6a 0f                	push   $0xf
46d5c8:	ff 15 18 d7 48 00    	call   *0x48d718
46d5ce:	6a 0f                	push   $0xf
46d5d0:	89 45 fc             	mov    %eax,-0x4(%ebp)
46d5d3:	ff d7                	call   *%edi
46d5d5:	eb 10                	jmp    0x46d5e7
46d5d7:	50                   	push   %eax
46d5d8:	ff 15 3c d1 48 00    	call   *0x48d13c
46d5de:	89 45 fc             	mov    %eax,-0x4(%ebp)
46d5e1:	8b 45 0c             	mov    0xc(%ebp),%eax
46d5e4:	8b 40 48             	mov    0x48(%eax),%eax
46d5e7:	89 45 f4             	mov    %eax,-0xc(%ebp)
46d5ea:	85 f6                	test   %esi,%esi
46d5ec:	74 06                	je     0x46d5f4
46d5ee:	6a 11                	push   $0x11
46d5f0:	ff d7                	call   *%edi
46d5f2:	eb 05                	jmp    0x46d5f9
46d5f4:	b8 00 3c 74 00       	mov    $0x743c00,%eax
46d5f9:	50                   	push   %eax
46d5fa:	6a 01                	push   $0x1
46d5fc:	6a 00                	push   $0x0
46d5fe:	ff 15 38 d1 48 00    	call   *0x48d138
46d604:	8b 35 04 d1 48 00    	mov    0x48d104,%esi
46d60a:	50                   	push   %eax
46d60b:	53                   	push   %ebx
46d60c:	89 45 e0             	mov    %eax,-0x20(%ebp)
46d60f:	ff d6                	call   *%esi
46d611:	ff 75 f4             	push   -0xc(%ebp)
46d614:	89 45 e4             	mov    %eax,-0x1c(%ebp)
46d617:	53                   	push   %ebx
46d618:	ff 15 34 d1 48 00    	call   *0x48d134
46d61e:	ff 75 fc             	push   -0x4(%ebp)
46d621:	89 45 dc             	mov    %eax,-0x24(%ebp)
46d624:	53                   	push   %ebx
46d625:	ff d6                	call   *%esi
46d627:	89 45 e8             	mov    %eax,-0x18(%ebp)
46d62a:	8b 45 08             	mov    0x8(%ebp),%eax
46d62d:	83 c0 1c             	add    $0x1c,%eax
46d630:	8b f0                	mov    %eax,%esi
46d632:	8d 7d cc             	lea    -0x34(%ebp),%edi
46d635:	a5                   	movsl  %ds:(%esi),%es:(%edi)
46d636:	a5                   	movsl  %ds:(%esi),%es:(%edi)
46d637:	6a ff                	push   $0xffffffff
46d639:	a5                   	movsl  %ds:(%esi),%es:(%edi)
46d63a:	89 45 f4             	mov    %eax,-0xc(%ebp)
46d63d:	6a ff                	push   $0xffffffff
46d63f:	8d 45 cc             	lea    -0x34(%ebp),%eax
46d642:	50                   	push   %eax
46d643:	a5                   	movsl  %ds:(%esi),%es:(%edi)
46d644:	ff 15 0c d5 48 00    	call   *0x48d50c
46d64a:	6a 05                	push   $0x5
46d64c:	6a 05                	push   $0x5
46d64e:	ff 75 d8             	push   -0x28(%ebp)
46d651:	ff 75 d4             	push   -0x2c(%ebp)
46d654:	ff 75 d0             	push   -0x30(%ebp)
46d657:	ff 75 cc             	push   -0x34(%ebp)
46d65a:	53                   	push   %ebx
46d65b:	ff 15 30 d1 48 00    	call   *0x48d130
46d661:	8b 75 0c             	mov    0xc(%ebp),%esi
46d664:	6a f0                	push   $0xfffffff0
46d666:	ff 36                	push   (%esi)
46d668:	bf 04 01 00 00       	mov    $0x104,%edi
46d66d:	89 7d 08             	mov    %edi,0x8(%ebp)
46d670:	ff 15 44 d6 48 00    	call   *0x48d644
46d676:	a9 00 20 00 00       	test   $0x2000,%eax
46d67b:	75 06                	jne    0x46d683
46d67d:	83 c7 20             	add    $0x20,%edi
46d680:	89 7d 08             	mov    %edi,0x8(%ebp)
46d683:	a9 00 01 00 00       	test   $0x100,%eax
46d688:	75 06                	jne    0x46d690
46d68a:	83 cf 01             	or     $0x1,%edi
46d68d:	89 7d 08             	mov    %edi,0x8(%ebp)
46d690:	6a 00                	push   $0x0
46d692:	6a 00                	push   $0x0
46d694:	6a 0e                	push   $0xe
46d696:	ff 36                	push   (%esi)
46d698:	ff 15 70 d6 48 00    	call   *0x48d670
46d69e:	8d 78 01             	lea    0x1(%eax),%edi
46d6a1:	33 c9                	xor    %ecx,%ecx
46d6a3:	6a 02                	push   $0x2
46d6a5:	5a                   	pop    %edx
46d6a6:	8b c7                	mov    %edi,%eax
46d6a8:	f7 e2                	mul    %edx
46d6aa:	0f 90 c1             	seto   %cl
46d6ad:	f7 d9                	neg    %ecx
46d6af:	0b c8                	or     %eax,%ecx
46d6b1:	51                   	push   %ecx
46d6b2:	e8 33 1e fb ff       	call   0x41f4ea
46d6b7:	59                   	pop    %ecx
46d6b8:	57                   	push   %edi
46d6b9:	50                   	push   %eax
46d6ba:	ff 36                	push   (%esi)
46d6bc:	89 45 0c             	mov    %eax,0xc(%ebp)
46d6bf:	ff 15 30 d7 48 00    	call   *0x48d730
46d6c5:	83 7d f0 00          	cmpl   $0x0,-0x10(%ebp)
46d6c9:	74 23                	je     0x46d6ee
46d6cb:	8b 75 f4             	mov    -0xc(%ebp),%esi
46d6ce:	8d 7d cc             	lea    -0x34(%ebp),%edi
46d6d1:	a5                   	movsl  %ds:(%esi),%es:(%edi)
46d6d2:	a5                   	movsl  %ds:(%esi),%es:(%edi)
46d6d3:	6a fd                	push   $0xfffffffd
46d6d5:	a5                   	movsl  %ds:(%esi),%es:(%edi)
46d6d6:	6a fd                	push   $0xfffffffd
46d6d8:	8d 45 cc             	lea    -0x34(%ebp),%eax
46d6db:	50                   	push   %eax
46d6dc:	a5                   	movsl  %ds:(%esi),%es:(%edi)
46d6dd:	ff 15 0c d5 48 00    	call   *0x48d50c
46d6e3:	8d 45 cc             	lea    -0x34(%ebp),%eax
46d6e6:	50                   	push   %eax
46d6e7:	53                   	push   %ebx
46d6e8:	ff 15 10 d5 48 00    	call   *0x48d510
46d6ee:	83 7d ec 00          	cmpl   $0x0,-0x14(%ebp)
46d6f2:	74 10                	je     0x46d704
46d6f4:	6a 11                	push   $0x11
46d6f6:	ff 15 08 d5 48 00    	call   *0x48d508
46d6fc:	50                   	push   %eax
46d6fd:	53                   	push   %ebx
46d6fe:	ff 15 40 d1 48 00    	call   *0x48d140
46d704:	ff 75 08             	push   0x8(%ebp)
46d707:	8b 75 0c             	mov    0xc(%ebp),%esi
46d70a:	8d 45 cc             	lea    -0x34(%ebp),%eax
46d70d:	50                   	push   %eax
46d70e:	6a ff                	push   $0xffffffff
46d710:	56                   	push   %esi
46d711:	53                   	push   %ebx
46d712:	ff 15 14 d5 48 00    	call   *0x48d514
46d718:	56                   	push   %esi
46d719:	e8 40 1e fb ff       	call   0x41f55e
46d71e:	8b 3d 04 d1 48 00    	mov    0x48d104,%edi
46d724:	59                   	pop    %ecx
46d725:	ff 75 e8             	push   -0x18(%ebp)
46d728:	53                   	push   %ebx
46d729:	ff d7                	call   *%edi
46d72b:	ff 75 fc             	push   -0x4(%ebp)
46d72e:	8b 35 c8 d0 48 00    	mov    0x48d0c8,%esi
46d734:	ff d6                	call   *%esi
46d736:	ff 75 e4             	push   -0x1c(%ebp)
46d739:	53                   	push   %ebx
46d73a:	ff d7                	call   *%edi
46d73c:	ff 75 e0             	push   -0x20(%ebp)
46d73f:	ff d6                	call   *%esi
46d741:	ff 75 f8             	push   -0x8(%ebp)
46d744:	53                   	push   %ebx
46d745:	ff 15 40 d1 48 00    	call   *0x48d140
46d74b:	ff 75 dc             	push   -0x24(%ebp)
46d74e:	53                   	push   %ebx
46d74f:	ff 15 34 d1 48 00    	call   *0x48d134
46d755:	5f                   	pop    %edi
46d756:	33 c0                	xor    %eax,%eax
46d758:	5e                   	pop    %esi
46d759:	40                   	inc    %eax
46d75a:	5b                   	pop    %ebx
46d75b:	c9                   	leave
46d75c:	c2 08 00             	ret    $0x8
46d75f:	55                   	push   %ebp
46d760:	8b ec                	mov    %esp,%ebp
46d762:	5d                   	pop    %ebp
46d763:	e9 00 00 00 00       	jmp    0x46d768
46d768:	55                   	push   %ebp
46d769:	8b ec                	mov    %esp,%ebp
46d76b:	83 ec 10             	sub    $0x10,%esp
46d76e:	56                   	push   %esi
46d76f:	57                   	push   %edi
46d770:	8b 7d 08             	mov    0x8(%ebp),%edi
46d773:	8d 45 f0             	lea    -0x10(%ebp),%eax
46d776:	50                   	push   %eax
46d777:	57                   	push   %edi
46d778:	ff 15 7c d6 48 00    	call   *0x48d67c
46d77e:	8b 75 fc             	mov    -0x4(%ebp),%esi
46d781:	8b 45 f8             	mov    -0x8(%ebp),%eax
46d784:	2b 45 f0             	sub    -0x10(%ebp),%eax
46d787:	2b 75 f4             	sub    -0xc(%ebp),%esi
46d78a:	0f af f0             	imul   %eax,%esi
46d78d:	a1 cc 16 4c 00       	mov    0x4c16cc,%eax
46d792:	3b 45 f0             	cmp    -0x10(%ebp),%eax
46d795:	7c 3e                	jl     0x46d7d5
46d797:	3b 45 f8             	cmp    -0x8(%ebp),%eax
46d79a:	7f 39                	jg     0x46d7d5
46d79c:	a1 d0 16 4c 00       	mov    0x4c16d0,%eax
46d7a1:	3b 45 f4             	cmp    -0xc(%ebp),%eax
46d7a4:	7c 2f                	jl     0x46d7d5
46d7a6:	3b 45 fc             	cmp    -0x4(%ebp),%eax
46d7a9:	7f 2a                	jg     0x46d7d5
46d7ab:	3b 35 c8 16 4c 00    	cmp    0x4c16c8,%esi
46d7b1:	7f 22                	jg     0x46d7d5
46d7b3:	57                   	push   %edi
46d7b4:	ff 15 38 d6 48 00    	call   *0x48d638
46d7ba:	85 c0                	test   %eax,%eax
46d7bc:	74 17                	je     0x46d7d5
46d7be:	57                   	push   %edi
46d7bf:	ff 15 6c d6 48 00    	call   *0x48d66c
46d7c5:	85 c0                	test   %eax,%eax
46d7c7:	74 0c                	je     0x46d7d5
46d7c9:	89 3d c4 16 4c 00    	mov    %edi,0x4c16c4
46d7cf:	89 35 c8 16 4c 00    	mov    %esi,0x4c16c8
46d7d5:	33 c0                	xor    %eax,%eax
46d7d7:	5f                   	pop    %edi
46d7d8:	40                   	inc    %eax
46d7d9:	5e                   	pop    %esi
46d7da:	c9                   	leave
46d7db:	c2 08 00             	ret    $0x8
46d7de:	55                   	push   %ebp
46d7df:	8b ec                	mov    %esp,%ebp
46d7e1:	83 ec 20             	sub    $0x20,%esp
46d7e4:	53                   	push   %ebx
46d7e5:	8b 5d 08             	mov    0x8(%ebp),%ebx
46d7e8:	83 c8 ff             	or     $0xffffffff,%eax
46d7eb:	8b 0b                	mov    (%ebx),%ecx
46d7ed:	56                   	push   %esi
46d7ee:	57                   	push   %edi
46d7ef:	0b f8                	or     %eax,%edi
46d7f1:	89 45 f8             	mov    %eax,-0x8(%ebp)
46d7f4:	8d 45 0c             	lea    0xc(%ebp),%eax
46d7f7:	50                   	push   %eax
46d7f8:	a1 88 16 4c 00       	mov    0x4c1688,%eax
46d7fd:	89 7d f4             	mov    %edi,-0xc(%ebp)
46d800:	8b 04 88             	mov    (%eax,%ecx,4),%eax
46d803:	8b 00                	mov    (%eax),%eax
46d805:	ff 30                	push   (%eax)
46d807:	ff 15 c0 d4 48 00    	call   *0x48d4c0
46d80d:	a1 8c 16 4c 00       	mov    0x4c168c,%eax
46d812:	33 f6                	xor    %esi,%esi
46d814:	89 45 f0             	mov    %eax,-0x10(%ebp)
46d817:	85 c0                	test   %eax,%eax
46d819:	0f 8e dd 00 00 00    	jle    0x46d8fc
46d81f:	a1 88 16 4c 00       	mov    0x4c1688,%eax
46d824:	8b 04 b0             	mov    (%eax,%esi,4),%eax
46d827:	8b 10                	mov    (%eax),%edx
46d829:	89 55 08             	mov    %edx,0x8(%ebp)
46d82c:	85 d2                	test   %edx,%edx
46d82e:	0f 84 a2 00 00 00    	je     0x46d8d6
46d834:	6a 03                	push   $0x3
46d836:	5f                   	pop    %edi
46d837:	39 3d ac 16 4c 00    	cmp    %edi,0x4c16ac
46d83d:	0f 8c 93 00 00 00    	jl     0x46d8d6
46d843:	a1 9c 16 4c 00       	mov    0x4c169c,%eax
46d848:	8b 04 b8             	mov    (%eax,%edi,4),%eax
46d84b:	8b 08                	mov    (%eax),%ecx
46d84d:	85 c9                	test   %ecx,%ecx
46d84f:	74 78                	je     0x46d8c9
46d851:	8b 41 04             	mov    0x4(%ecx),%eax
46d854:	3b 42 04             	cmp    0x4(%edx),%eax
46d857:	75 70                	jne    0x46d8c9
46d859:	f6 81 92 00 00 00 20 	testb  $0x20,0x92(%ecx)
46d860:	75 67                	jne    0x46d8c9
46d862:	8a 81 93 00 00 00    	mov    0x93(%ecx),%al
46d868:	3c ff                	cmp    $0xff,%al
46d86a:	74 0b                	je     0x46d877
46d86c:	0f b6 c0             	movzbl %al,%eax
46d86f:	3b 82 90 01 00 00    	cmp    0x190(%edx),%eax
46d875:	75 52                	jne    0x46d8c9
46d877:	8d 45 e0             	lea    -0x20(%ebp),%eax
46d87a:	50                   	push   %eax
46d87b:	ff 31                	push   (%ecx)
46d87d:	ff 15 7c d6 48 00    	call   *0x48d67c
46d883:	ff 75 10             	push   0x10(%ebp)
46d886:	8d 45 e0             	lea    -0x20(%ebp),%eax
46d889:	ff 75 0c             	push   0xc(%ebp)
46d88c:	50                   	push   %eax
46d88d:	ff 15 24 d5 48 00    	call   *0x48d524
46d893:	85 c0                	test   %eax,%eax
46d895:	74 2f                	je     0x46d8c6
46d897:	39 33                	cmp    %esi,(%ebx)
46d899:	74 07                	je     0x46d8a2
46d89b:	8b ce                	mov    %esi,%ecx
46d89d:	89 4d f4             	mov    %ecx,-0xc(%ebp)
46d8a0:	eb 03                	jmp    0x46d8a5
46d8a2:	8b 4d f4             	mov    -0xc(%ebp),%ecx
46d8a5:	a1 9c 16 4c 00       	mov    0x4c169c,%eax
46d8aa:	8b 04 b8             	mov    (%eax,%edi,4),%eax
46d8ad:	8b 00                	mov    (%eax),%eax
46d8af:	f6 80 92 00 00 00 08 	testb  $0x8,0x92(%eax)
46d8b6:	75 3a                	jne    0x46d8f2
46d8b8:	83 7d f8 00          	cmpl   $0x0,-0x8(%ebp)
46d8bc:	8b 55 08             	mov    0x8(%ebp),%edx
46d8bf:	7d 08                	jge    0x46d8c9
46d8c1:	89 7d f8             	mov    %edi,-0x8(%ebp)
46d8c4:	eb 03                	jmp    0x46d8c9
46d8c6:	8b 55 08             	mov    0x8(%ebp),%edx
46d8c9:	47                   	inc    %edi
46d8ca:	3b 3d ac 16 4c 00    	cmp    0x4c16ac,%edi
46d8d0:	0f 8e 6d ff ff ff    	jle    0x46d843
46d8d6:	46                   	inc    %esi
46d8d7:	3b 75 f0             	cmp    -0x10(%ebp),%esi
46d8da:	0f 8c 3f ff ff ff    	jl     0x46d81f
46d8e0:	8b 45 f8             	mov    -0x8(%ebp),%eax
46d8e3:	85 c0                	test   %eax,%eax
46d8e5:	78 15                	js     0x46d8fc
46d8e7:	8b 7d f4             	mov    -0xc(%ebp),%edi
46d8ea:	85 ff                	test   %edi,%edi
46d8ec:	78 19                	js     0x46d907
46d8ee:	89 3b                	mov    %edi,(%ebx)
46d8f0:	eb 15                	jmp    0x46d907
46d8f2:	39 33                	cmp    %esi,(%ebx)
46d8f4:	74 02                	je     0x46d8f8
46d8f6:	89 0b                	mov    %ecx,(%ebx)
46d8f8:	8b c7                	mov    %edi,%eax
46d8fa:	eb 0b                	jmp    0x46d907
46d8fc:	6a 00                	push   $0x0
46d8fe:	ff 15 f4 d5 48 00    	call   *0x48d5f4
46d904:	83 c8 ff             	or     $0xffffffff,%eax
46d907:	5f                   	pop    %edi
46d908:	5e                   	pop    %esi
46d909:	5b                   	pop    %ebx
46d90a:	c9                   	leave
46d90b:	c2 0c 00             	ret    $0xc
46d90e:	55                   	push   %ebp
46d90f:	8b ec                	mov    %esp,%ebp
46d911:	53                   	push   %ebx
46d912:	8b 5d 0c             	mov    0xc(%ebp),%ebx
46d915:	57                   	push   %edi
46d916:	ff 75 10             	push   0x10(%ebp)
46d919:	ff 33                	push   (%ebx)
46d91b:	e8 84 4b fb ff       	call   0x4224a4
46d920:	59                   	pop    %ecx
46d921:	59                   	pop    %ecx
46d922:	89 45 0c             	mov    %eax,0xc(%ebp)
46d925:	85 c0                	test   %eax,%eax
46d927:	74 08                	je     0x46d931
46d929:	8b f8                	mov    %eax,%edi
46d92b:	2b 3b                	sub    (%ebx),%edi
46d92d:	d1 ff                	sar    $1,%edi
46d92f:	eb 0a                	jmp    0x46d93b
46d931:	ff 33                	push   (%ebx)
46d933:	e8 a3 33 fb ff       	call   0x420cdb
46d938:	59                   	pop    %ecx
46d939:	8b f8                	mov    %eax,%edi
46d93b:	81 ff fe 0f 00 00    	cmp    $0xffe,%edi
46d941:	7e 04                	jle    0x46d947
46d943:	32 c0                	xor    %al,%al
46d945:	eb 27                	jmp    0x46d96e