45b5de:	74 0a                	je     0x45b5ea
45b5e0:	39 93 c0 00 00 00    	cmp    %edx,0xc0(%ebx)
45b5e6:	75 01                	jne    0x45b5e9
45b5e8:	47                   	inc    %edi
45b5e9:	46                   	inc    %esi
45b5ea:	f7 c1 00 02 00 00    	test   $0x200,%ecx
45b5f0:	74 12                	je     0x45b604
45b5f2:	8b 44 24 18          	mov    0x18(%esp),%eax
45b5f6:	2b 44 24 10          	sub    0x10(%esp),%eax
45b5fa:	39 83 c4 00 00 00    	cmp    %eax,0xc4(%ebx)
45b600:	75 01                	jne    0x45b603
45b602:	47                   	inc    %edi
45b603:	46                   	inc    %esi
45b604:	f7 c1 00 04 00 00    	test   $0x400,%ecx
45b60a:	74 10                	je     0x45b61c
45b60c:	8b 44 24 1c          	mov    0x1c(%esp),%eax
45b610:	2b c2                	sub    %edx,%eax
45b612:	39 83 c8 00 00 00    	cmp    %eax,0xc8(%ebx)
45b618:	75 01                	jne    0x45b61b
45b61a:	47                   	inc    %edi
45b61b:	46                   	inc    %esi
45b61c:	f6 c1 20             	test   $0x20,%cl
45b61f:	74 1a                	je     0x45b63b
45b621:	3b fe                	cmp    %esi,%edi
45b623:	75 15                	jne    0x45b63a
45b625:	ff 83 b8 00 00 00    	incl   0xb8(%ebx)
45b62b:	8b 83 b8 00 00 00    	mov    0xb8(%ebx),%eax
45b631:	3b 83 b4 00 00 00    	cmp    0xb4(%ebx),%eax
45b637:	75 01                	jne    0x45b63a
45b639:	47                   	inc    %edi
45b63a:	46                   	inc    %esi
45b63b:	3b fe                	cmp    %esi,%edi
45b63d:	75 1f                	jne    0x45b65e
45b63f:	8d 45 08             	lea    0x8(%ebp),%eax
45b642:	50                   	push   %eax
45b643:	8d 8b d4 00 00 00    	lea    0xd4(%ebx),%ecx
45b649:	e8 74 7e fa ff       	call   0x4034c2
45b64e:	ff 83 cc 00 00 00    	incl   0xcc(%ebx)
45b654:	33 c0                	xor    %eax,%eax
45b656:	38 43 04             	cmp    %al,0x4(%ebx)
45b659:	0f 94 c0             	sete   %al
45b65c:	eb 03                	jmp    0x45b661
45b65e:	33 c0                	xor    %eax,%eax
45b660:	40                   	inc    %eax
45b661:	5f                   	pop    %edi
45b662:	5e                   	pop    %esi
45b663:	5b                   	pop    %ebx
45b664:	8b e5                	mov    %ebp,%esp
45b666:	5d                   	pop    %ebp
45b667:	c2 08 00             	ret    $0x8
45b66a:	55                   	push   %ebp
45b66b:	8b ec                	mov    %esp,%ebp
45b66d:	56                   	push   %esi
45b66e:	8b f1                	mov    %ecx,%esi
45b670:	83 7e 28 00          	cmpl   $0x0,0x28(%esi)
45b674:	75 04                	jne    0x45b67a
45b676:	b0 01                	mov    $0x1,%al
45b678:	eb 30                	jmp    0x45b6aa
45b67a:	ff 75 08             	push   0x8(%ebp)
45b67d:	e8 18 ab fb ff       	call   0x41619a
45b682:	84 c0                	test   %al,%al
45b684:	74 04                	je     0x45b68a
45b686:	32 c0                	xor    %al,%al
45b688:	eb 20                	jmp    0x45b6aa
45b68a:	56                   	push   %esi
45b68b:	68 af b6 45 00       	push   $0x45b6af
45b690:	ff 75 08             	push   0x8(%ebp)
45b693:	c6 86 d0 00 00 00 00 	movb   $0x0,0xd0(%esi)
45b69a:	ff 15 78 f6 48 00    	call   *0x48f678
45b6a0:	80 be d0 00 00 00 00 	cmpb   $0x0,0xd0(%esi)
45b6a7:	0f 95 c0             	setne  %al
45b6aa:	5e                   	pop    %esi
45b6ab:	5d                   	pop    %ebp
45b6ac:	c2 04 00             	ret    $0x4
45b6af:	55                   	push   %ebp
45b6b0:	8b ec                	mov    %esp,%ebp
45b6b2:	8b 4d 0c             	mov    0xc(%ebp),%ecx
45b6b5:	5d                   	pop    %ebp
45b6b6:	e9 00 00 00 00       	jmp    0x45b6bb
45b6bb:	55                   	push   %ebp
45b6bc:	8b ec                	mov    %esp,%ebp
45b6be:	51                   	push   %ecx
45b6bf:	53                   	push   %ebx
45b6c0:	56                   	push   %esi
45b6c1:	57                   	push   %edi
45b6c2:	ff 75 08             	push   0x8(%ebp)
45b6c5:	8b d9                	mov    %ecx,%ebx
45b6c7:	ff 15 50 f6 48 00    	call   *0x48f650
45b6cd:	85 c0                	test   %eax,%eax
45b6cf:	75 0a                	jne    0x45b6db
45b6d1:	80 7b 05 01          	cmpb   $0x1,0x5(%ebx)
45b6d5:	0f 85 97 00 00 00    	jne    0x45b772
45b6db:	33 c0                	xor    %eax,%eax
45b6dd:	50                   	push   %eax
45b6de:	50                   	push   %eax
45b6df:	6a 0e                	push   $0xe
45b6e1:	ff 75 08             	push   0x8(%ebp)
45b6e4:	ff 15 88 f6 48 00    	call   *0x48f688
45b6ea:	89 45 fc             	mov    %eax,-0x4(%ebp)
45b6ed:	85 c0                	test   %eax,%eax
45b6ef:	75 08                	jne    0x45b6f9
45b6f1:	b8 ff 7f 00 00       	mov    $0x7fff,%eax
45b6f6:	89 45 fc             	mov    %eax,-0x4(%ebp)
45b6f9:	8d 70 01             	lea    0x1(%eax),%esi
45b6fc:	33 c9                	xor    %ecx,%ecx
45b6fe:	6a 02                	push   $0x2
45b700:	5a                   	pop    %edx
45b701:	8b c6                	mov    %esi,%eax
45b703:	f7 e2                	mul    %edx
45b705:	0f 90 c1             	seto   %cl
45b708:	f7 d9                	neg    %ecx
45b70a:	0b c8                	or     %eax,%ecx
45b70c:	51                   	push   %ecx
45b70d:	e8 e4 58 fc ff       	call   0x420ff6
45b712:	59                   	pop    %ecx
45b713:	8b f8                	mov    %eax,%edi
45b715:	57                   	push   %edi
45b716:	56                   	push   %esi
45b717:	6a 0d                	push   $0xd
45b719:	ff 75 08             	push   0x8(%ebp)
45b71c:	ff 15 88 f6 48 00    	call   *0x48f688
45b722:	8b 4d fc             	mov    -0x4(%ebp),%ecx
45b725:	33 d2                	xor    %edx,%edx
45b727:	66 89 14 4f          	mov    %dx,(%edi,%ecx,2)
45b72b:	85 c0                	test   %eax,%eax
45b72d:	7f 05                	jg     0x45b734
45b72f:	33 f6                	xor    %esi,%esi
45b731:	46                   	inc    %esi
45b732:	eb 2c                	jmp    0x45b760
45b734:	38 53 0c             	cmp    %dl,0xc(%ebx)
45b737:	75 0f                	jne    0x45b748
45b739:	57                   	push   %edi
45b73a:	e8 fd 76 fc ff       	call   0x422e3c
45b73f:	59                   	pop    %ecx
45b740:	50                   	push   %eax
45b741:	57                   	push   %edi
45b742:	ff 15 7c f6 48 00    	call   *0x48f67c
45b748:	ff 73 24             	push   0x24(%ebx)
45b74b:	57                   	push   %edi
45b74c:	e8 69 84 fc ff       	call   0x423bba
45b751:	59                   	pop    %ecx
45b752:	59                   	pop    %ecx
45b753:	85 c0                	test   %eax,%eax
45b755:	74 14                	je     0x45b76b
45b757:	c6 83 d0 00 00 00 01 	movb   $0x1,0xd0(%ebx)
45b75e:	33 f6                	xor    %esi,%esi
45b760:	57                   	push   %edi
45b761:	e8 06 59 fc ff       	call   0x42106c
45b766:	59                   	pop    %ecx
45b767:	8b c6                	mov    %esi,%eax
45b769:	eb 0a                	jmp    0x45b775
45b76b:	57                   	push   %edi
45b76c:	e8 fb 58 fc ff       	call   0x42106c
45b771:	59                   	pop    %ecx
45b772:	33 c0                	xor    %eax,%eax
45b774:	40                   	inc    %eax
45b775:	5f                   	pop    %edi
45b776:	5e                   	pop    %esi
45b777:	5b                   	pop    %ebx
45b778:	8b e5                	mov    %ebp,%esp
45b77a:	5d                   	pop    %ebp
45b77b:	c2 08 00             	ret    $0x8
45b77e:	55                   	push   %ebp
45b77f:	8b ec                	mov    %esp,%ebp
45b781:	57                   	push   %edi
45b782:	8b f9                	mov    %ecx,%edi
45b784:	8b 4f 08             	mov    0x8(%edi),%ecx
45b787:	c7 07 c4 1c 49 00    	movl   $0x491cc4,(%edi)
45b78d:	85 c9                	test   %ecx,%ecx
45b78f:	74 11                	je     0x45b7a2
45b791:	56                   	push   %esi
45b792:	8b 71 38             	mov    0x38(%ecx),%esi
45b795:	51                   	push   %ecx
45b796:	e8 81 48 fc ff       	call   0x42001c
45b79b:	8b ce                	mov    %esi,%ecx
45b79d:	85 f6                	test   %esi,%esi
45b79f:	75 f1                	jne    0x45b792
45b7a1:	5e                   	pop    %esi
45b7a2:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
45b7a6:	74 07                	je     0x45b7af
45b7a8:	57                   	push   %edi
45b7a9:	e8 be 58 fc ff       	call   0x42106c
45b7ae:	59                   	pop    %ecx
45b7af:	8b c7                	mov    %edi,%eax
45b7b1:	5f                   	pop    %edi
45b7b2:	5d                   	pop    %ebp
45b7b3:	c2 04 00             	ret    $0x4
45b7b6:	55                   	push   %ebp
45b7b7:	8b ec                	mov    %esp,%ebp
45b7b9:	83 ec 14             	sub    $0x14,%esp
45b7bc:	8b 55 0c             	mov    0xc(%ebp),%edx
45b7bf:	53                   	push   %ebx
45b7c0:	56                   	push   %esi
45b7c1:	8b f1                	mov    %ecx,%esi
45b7c3:	33 c9                	xor    %ecx,%ecx
45b7c5:	89 75 fc             	mov    %esi,-0x4(%ebp)
45b7c8:	57                   	push   %edi
45b7c9:	89 0e                	mov    %ecx,(%esi)
45b7cb:	8d 7e 0c             	lea    0xc(%esi),%edi
45b7ce:	89 0f                	mov    %ecx,(%edi)
45b7d0:	89 4e 28             	mov    %ecx,0x28(%esi)
45b7d3:	89 4e 30             	mov    %ecx,0x30(%esi)
45b7d6:	89 4e 34             	mov    %ecx,0x34(%esi)
45b7d9:	66 89 4e 3c          	mov    %cx,0x3c(%esi)
45b7dd:	89 4e 08             	mov    %ecx,0x8(%esi)
45b7e0:	85 d2                	test   %edx,%edx
45b7e2:	0f 84 46 02 00 00    	je     0x45ba2e
45b7e8:	8b 5d 10             	mov    0x10(%ebp),%ebx
45b7eb:	85 db                	test   %ebx,%ebx
45b7ed:	0f 84 3b 02 00 00    	je     0x45ba2e
45b7f3:	8b 45 14             	mov    0x14(%ebp),%eax
45b7f6:	85 c0                	test   %eax,%eax
45b7f8:	0f 84 30 02 00 00    	je     0x45ba2e
45b7fe:	39 4d 08             	cmp    %ecx,0x8(%ebp)
45b801:	0f 84 27 02 00 00    	je     0x45ba2e
45b807:	89 08                	mov    %ecx,(%eax)
45b809:	0f bf 83 88 00 00 00 	movswl 0x88(%ebx),%eax
45b810:	89 46 10             	mov    %eax,0x10(%esi)
45b813:	0f bf 83 88 00 00 00 	movswl 0x88(%ebx),%eax
45b81a:	0f bf 8b 8c 00 00 00 	movswl 0x8c(%ebx),%ecx
45b821:	03 c8                	add    %eax,%ecx
45b823:	89 4e 18             	mov    %ecx,0x18(%esi)
45b826:	0f bf 83 8a 00 00 00 	movswl 0x8a(%ebx),%eax
45b82d:	89 46 14             	mov    %eax,0x14(%esi)
45b830:	0f bf 83 8a 00 00 00 	movswl 0x8a(%ebx),%eax
45b837:	0f bf 8b 8e 00 00 00 	movswl 0x8e(%ebx),%ecx
45b83e:	03 c8                	add    %eax,%ecx
45b840:	89 5e 04             	mov    %ebx,0x4(%esi)
45b843:	8b 45 08             	mov    0x8(%ebp),%eax
45b846:	89 4e 1c             	mov    %ecx,0x1c(%esi)
45b849:	8b ca                	mov    %edx,%ecx
45b84b:	89 06                	mov    %eax,(%esi)
45b84d:	e8 8b db fa ff       	call   0x4093dd
45b852:	84 c0                	test   %al,%al
45b854:	0f 84 bf 01 00 00    	je     0x45ba19
45b85a:	83 7a 0c 08          	cmpl   $0x8,0xc(%edx)
45b85e:	75 04                	jne    0x45b864
45b860:	8b 02                	mov    (%edx),%eax
45b862:	eb 02                	jmp    0x45b866
45b864:	33 c0                	xor    %eax,%eax
45b866:	8b 40 08             	mov    0x8(%eax),%eax
45b869:	57                   	push   %edi
45b86a:	68 dc 2c 49 00       	push   $0x492cdc
45b86f:	50                   	push   %eax
45b870:	8b 08                	mov    (%eax),%ecx
45b872:	ff 11                	call   *(%ecx)
45b874:	85 c0                	test   %eax,%eax
45b876:	0f 88 a2 01 00 00    	js     0x45ba1e
45b87c:	6a 0c                	push   $0xc
45b87e:	e8 73 57 fc ff       	call   0x420ff6
45b883:	59                   	pop    %ecx
45b884:	85 c0                	test   %eax,%eax
45b886:	74 12                	je     0x45b89a
45b888:	c7 00 e4 98 4b 00    	movl   $0x4b98e4,(%eax)
45b88e:	89 70 08             	mov    %esi,0x8(%eax)
45b891:	c7 40 04 01 00 00 00 	movl   $0x1,0x4(%eax)
45b898:	eb 02                	jmp    0x45b89c
45b89a:	33 c0                	xor    %eax,%eax
45b89c:	6a 08                	push   $0x8
45b89e:	89 46 28             	mov    %eax,0x28(%esi)
45b8a1:	e8 50 57 fc ff       	call   0x420ff6
45b8a6:	59                   	pop    %ecx
45b8a7:	85 c0                	test   %eax,%eax
45b8a9:	74 0b                	je     0x45b8b6
45b8ab:	c7 00 a8 98 4b 00    	movl   $0x4b98a8,(%eax)
45b8b1:	89 70 04             	mov    %esi,0x4(%eax)
45b8b4:	eb 02                	jmp    0x45b8b8
45b8b6:	33 c0                	xor    %eax,%eax
45b8b8:	6a 0c                	push   $0xc
45b8ba:	89 46 30             	mov    %eax,0x30(%esi)
45b8bd:	e8 34 57 fc ff       	call   0x420ff6
45b8c2:	59                   	pop    %ecx
45b8c3:	85 c0                	test   %eax,%eax
45b8c5:	74 0f                	je     0x45b8d6
45b8c7:	83 60 08 00          	andl   $0x0,0x8(%eax)
45b8cb:	c7 00 40 98 4b 00    	movl   $0x4b9840,(%eax)
45b8d1:	89 70 04             	mov    %esi,0x4(%eax)
45b8d4:	eb 02                	jmp    0x45b8d8
45b8d6:	33 c0                	xor    %eax,%eax
45b8d8:	6a 08                	push   $0x8
45b8da:	89 46 2c             	mov    %eax,0x2c(%esi)
45b8dd:	e8 14 57 fc ff       	call   0x420ff6
45b8e2:	59                   	pop    %ecx
45b8e3:	85 c0                	test   %eax,%eax
45b8e5:	74 0b                	je     0x45b8f2
45b8e7:	c7 00 e0 97 4b 00    	movl   $0x4b97e0,(%eax)
45b8ed:	89 70 04             	mov    %esi,0x4(%eax)
45b8f0:	eb 02                	jmp    0x45b8f4
45b8f2:	33 c0                	xor    %eax,%eax
45b8f4:	89 46 34             	mov    %eax,0x34(%esi)
45b8f7:	8b 07                	mov    (%edi),%eax
45b8f9:	68 b4 97 4b 00       	push   $0x4b97b4
45b8fe:	68 cc 97 4b 00       	push   $0x4b97cc
45b903:	50                   	push   %eax
45b904:	8b 08                	mov    (%eax),%ecx
45b906:	ff 51 14             	call   *0x14(%ecx)
45b909:	0f bf 83 8c 00 00 00 	movswl 0x8c(%ebx),%eax
45b910:	8d 55 ec             	lea    -0x14(%ebp),%edx
45b913:	89 45 f4             	mov    %eax,-0xc(%ebp)
45b916:	8d 4d f4             	lea    -0xc(%ebp),%ecx
45b919:	0f bf 83 8e 00 00 00 	movswl 0x8e(%ebx),%eax
45b920:	89 45 f8             	mov    %eax,-0x8(%ebp)
45b923:	e8 2b 03 00 00       	call   0x45bc53
45b928:	8b 07                	mov    (%edi),%eax
45b92a:	8d 55 ec             	lea    -0x14(%ebp),%edx
45b92d:	52                   	push   %edx
45b92e:	6a 01                	push   $0x1
45b930:	50                   	push   %eax
45b931:	8b 08                	mov    (%eax),%ecx
45b933:	ff 51 44             	call   *0x44(%ecx)
45b936:	8b 07                	mov    (%edi),%eax
45b938:	ff 76 28             	push   0x28(%esi)
45b93b:	50                   	push   %eax
45b93c:	8b 08                	mov    (%eax),%ecx
45b93e:	ff 51 0c             	call   *0xc(%ecx)
45b941:	8b 0f                	mov    (%edi),%ecx
45b943:	8d 46 38             	lea    0x38(%esi),%eax
45b946:	50                   	push   %eax
45b947:	ff 76 34             	push   0x34(%esi)
45b94a:	8b 11                	mov    (%ecx),%edx
45b94c:	51                   	push   %ecx
45b94d:	ff 52 4c             	call   *0x4c(%edx)
45b950:	8b 07                	mov    (%edi),%eax
45b952:	8d 55 08             	lea    0x8(%ebp),%edx
45b955:	52                   	push   %edx
45b956:	68 3c 2d 49 00       	push   $0x492d3c
45b95b:	50                   	push   %eax
45b95c:	8b 08                	mov    (%eax),%ecx
45b95e:	ff 11                	call   *(%ecx)
45b960:	85 c0                	test   %eax,%eax
45b962:	78 19                	js     0x45b97d
45b964:	8b 45 08             	mov    0x8(%ebp),%eax
45b967:	ff 76 34             	push   0x34(%esi)
45b96a:	6a 02                	push   $0x2
45b96c:	8b 08                	mov    (%eax),%ecx
45b96e:	6a 01                	push   $0x1
45b970:	50                   	push   %eax
45b971:	ff 51 1c             	call   *0x1c(%ecx)
45b974:	8b 45 08             	mov    0x8(%ebp),%eax
45b977:	50                   	push   %eax
45b978:	8b 08                	mov    (%eax),%ecx
45b97a:	ff 51 08             	call   *0x8(%ecx)
45b97d:	6a 01                	push   $0x1
45b97f:	ff 37                	push   (%edi)
45b981:	ff 15 44 f8 48 00    	call   *0x48f844
45b987:	8b 0f                	mov    (%edi),%ecx
45b989:	8d 46 10             	lea    0x10(%esi),%eax
45b98c:	50                   	push   %eax
45b98d:	8b 06                	mov    (%esi),%eax
45b98f:	8b 11                	mov    (%ecx),%edx