45a755:	8b 43 04             	mov    0x4(%ebx),%eax
45a758:	8b 48 24             	mov    0x24(%eax),%ecx
45a75b:	e8 26 2b fb ff       	call   0x40d286
45a760:	eb 05                	jmp    0x45a767
45a762:	b8 90 01 00 00       	mov    $0x190,%eax
45a767:	8d 8d 48 ff ff ff    	lea    -0xb8(%ebp),%ecx
45a76d:	51                   	push   %ecx
45a76e:	33 c9                	xor    %ecx,%ecx
45a770:	51                   	push   %ecx
45a771:	6a 02                	push   $0x2
45a773:	51                   	push   %ecx
45a774:	6a 04                	push   $0x4
45a776:	6a 01                	push   $0x1
45a778:	51                   	push   %ecx
45a779:	51                   	push   %ecx
45a77a:	51                   	push   %ecx
45a77b:	50                   	push   %eax
45a77c:	8b 45 f4             	mov    -0xc(%ebp),%eax
45a77f:	0f af c6             	imul   %esi,%eax
45a782:	51                   	push   %ecx
45a783:	51                   	push   %ecx
45a784:	51                   	push   %ecx
45a785:	6a b8                	push   $0xffffffb8
45a787:	99                   	cltd
45a788:	59                   	pop    %ecx
45a789:	f7 f9                	idiv   %ecx
45a78b:	50                   	push   %eax
45a78c:	ff 15 44 d1 48 00    	call   *0x48d144
45a792:	6a 01                	push   $0x1
45a794:	50                   	push   %eax
45a795:	6a 30                	push   $0x30
45a797:	57                   	push   %edi
45a798:	a3 e0 10 4c 00       	mov    %eax,0x4c10e0
45a79d:	ff 15 70 d6 48 00    	call   *0x48d670
45a7a3:	f6 45 d0 20          	testb  $0x20,-0x30(%ebp)
45a7a7:	74 6c                	je     0x45a815
45a7a9:	57                   	push   %edi
45a7aa:	ff 15 10 d6 48 00    	call   *0x48d610
45a7b0:	ff 35 e0 10 4c 00    	push   0x4c10e0
45a7b6:	8b d8                	mov    %eax,%ebx
45a7b8:	53                   	push   %ebx
45a7b9:	ff 15 04 d1 48 00    	call   *0x48d104
45a7bf:	8b 4d 08             	mov    0x8(%ebp),%ecx
45a7c2:	8b f8                	mov    %eax,%edi
45a7c4:	8b 49 04             	mov    0x4(%ecx),%ecx
45a7c7:	8b 71 04             	mov    0x4(%ecx),%esi
45a7ca:	8b ce                	mov    %esi,%ecx
45a7cc:	e8 9b eb fa ff       	call   0x40936c
45a7d1:	8b 56 08             	mov    0x8(%esi),%edx
45a7d4:	8d 45 cc             	lea    -0x34(%ebp),%eax
45a7d7:	8b 12                	mov    (%edx),%edx
45a7d9:	50                   	push   %eax
45a7da:	8b cb                	mov    %ebx,%ecx
45a7dc:	e8 a2 c8 fe ff       	call   0x447083
45a7e1:	59                   	pop    %ecx
45a7e2:	57                   	push   %edi
45a7e3:	53                   	push   %ebx
45a7e4:	ff 15 04 d1 48 00    	call   *0x48d104
45a7ea:	8b 75 f8             	mov    -0x8(%ebp),%esi
45a7ed:	53                   	push   %ebx
45a7ee:	56                   	push   %esi
45a7ef:	ff 15 0c d6 48 00    	call   *0x48d60c
45a7f5:	8b 45 fc             	mov    -0x4(%ebp),%eax
45a7f8:	2b 45 d0             	sub    -0x30(%ebp),%eax
45a7fb:	6a 01                	push   $0x1
45a7fd:	ff 75 d0             	push   -0x30(%ebp)
45a800:	99                   	cltd
45a801:	ff 75 10             	push   0x10(%ebp)
45a804:	2b c2                	sub    %edx,%eax
45a806:	d1 f8                	sar    $1,%eax
45a808:	83 c0 0b             	add    $0xb,%eax
45a80b:	50                   	push   %eax
45a80c:	6a 0b                	push   $0xb
45a80e:	56                   	push   %esi
45a80f:	ff 15 e8 d6 48 00    	call   *0x48d6e8
45a815:	6a 04                	push   $0x4
45a817:	ff 35 dc 10 4c 00    	push   0x4c10dc
45a81d:	ff 15 04 d7 48 00    	call   *0x48d704
45a823:	5f                   	pop    %edi
45a824:	5e                   	pop    %esi
45a825:	33 c0                	xor    %eax,%eax
45a827:	5b                   	pop    %ebx
45a828:	c9                   	leave
45a829:	c2 0c 00             	ret    $0xc
45a82c:	55                   	push   %ebp
45a82d:	8b ec                	mov    %esp,%ebp
45a82f:	83 ec 10             	sub    $0x10,%esp
45a832:	53                   	push   %ebx
45a833:	56                   	push   %esi
45a834:	57                   	push   %edi
45a835:	8b 7d 08             	mov    0x8(%ebp),%edi
45a838:	6a 02                	push   $0x2
45a83a:	58                   	pop    %eax
45a83b:	66 89 07             	mov    %ax,(%edi)
45a83e:	8d 45 f0             	lea    -0x10(%ebp),%eax
45a841:	8b f1                	mov    %ecx,%esi
45a843:	8b 4d 0c             	mov    0xc(%ebp),%ecx
45a846:	50                   	push   %eax
45a847:	e8 48 01 00 00       	call   0x45a994
45a84c:	ff 30                	push   (%eax)
45a84e:	ff 15 ec d7 48 00    	call   *0x48d7ec
45a854:	8d 4d f0             	lea    -0x10(%ebp),%ecx
45a857:	8b d8                	mov    %eax,%ebx
45a859:	e8 d9 22 fb ff       	call   0x40cb37
45a85e:	83 fb ff             	cmp    $0xffffffff,%ebx
45a861:	75 17                	jne    0x45a87a
45a863:	8b 4d 0c             	mov    0xc(%ebp),%ecx
45a866:	ba d8 3d 4b 00       	mov    $0x4b3dd8,%edx
45a86b:	e8 ae 1f fe ff       	call   0x43c81e
45a870:	84 c0                	test   %al,%al
45a872:	74 06                	je     0x45a87a
45a874:	6a 00                	push   $0x0
45a876:	6a 01                	push   $0x1
45a878:	eb 23                	jmp    0x45a89d
45a87a:	8b 4d 10             	mov    0x10(%ebp),%ecx
45a87d:	89 5f 04             	mov    %ebx,0x4(%edi)
45a880:	8d 41 ff             	lea    -0x1(%ecx),%eax
45a883:	3d fe ff 00 00       	cmp    $0xfffe,%eax
45a888:	77 0f                	ja     0x45a899
45a88a:	51                   	push   %ecx
45a88b:	ff 15 d0 d7 48 00    	call   *0x48d7d0
45a891:	66 89 47 02          	mov    %ax,0x2(%edi)
45a895:	b0 01                	mov    $0x1,%al
45a897:	eb 12                	jmp    0x45a8ab
45a899:	6a 00                	push   $0x0
45a89b:	6a 02                	push   $0x2
45a89d:	8b 06                	mov    (%esi),%eax
45a89f:	8b 48 04             	mov    0x4(%eax),%ecx
45a8a2:	03 ce                	add    %esi,%ecx
45a8a4:	e8 a3 26 ff ff       	call   0x44cf4c
45a8a9:	32 c0                	xor    %al,%al
45a8ab:	5f                   	pop    %edi
45a8ac:	5e                   	pop    %esi
45a8ad:	5b                   	pop    %ebx
45a8ae:	c9                   	leave
45a8af:	c2 0c 00             	ret    $0xc
45a8b2:	55                   	push   %ebp
45a8b3:	8b ec                	mov    %esp,%ebp
45a8b5:	53                   	push   %ebx
45a8b6:	8b 5d 08             	mov    0x8(%ebp),%ebx
45a8b9:	57                   	push   %edi
45a8ba:	8b 7b 04             	mov    0x4(%ebx),%edi
45a8bd:	33 c0                	xor    %eax,%eax
45a8bf:	50                   	push   %eax
45a8c0:	50                   	push   %eax
45a8c1:	47                   	inc    %edi
45a8c2:	57                   	push   %edi
45a8c3:	ff 33                	push   (%ebx)
45a8c5:	6a 01                	push   $0x1
45a8c7:	50                   	push   %eax
45a8c8:	ff 15 78 d1 48 00    	call   *0x48d178
45a8ce:	89 45 08             	mov    %eax,0x8(%ebp)
45a8d1:	85 c0                	test   %eax,%eax
45a8d3:	75 0a                	jne    0x45a8df
45a8d5:	8b 4d 0c             	mov    0xc(%ebp),%ecx
45a8d8:	e8 f1 13 fb ff       	call   0x40bcce
45a8dd:	eb 3e                	jmp    0x45a91d
45a8df:	56                   	push   %esi
45a8e0:	33 c9                	xor    %ecx,%ecx
45a8e2:	6a 02                	push   $0x2
45a8e4:	5a                   	pop    %edx
45a8e5:	f7 e2                	mul    %edx
45a8e7:	0f 90 c1             	seto   %cl
45a8ea:	f7 d9                	neg    %ecx
45a8ec:	0b c8                	or     %eax,%ecx
45a8ee:	51                   	push   %ecx
45a8ef:	e8 f6 4b fc ff       	call   0x41f4ea
45a8f4:	59                   	pop    %ecx
45a8f5:	ff 75 08             	push   0x8(%ebp)
45a8f8:	8b f0                	mov    %eax,%esi
45a8fa:	56                   	push   %esi
45a8fb:	57                   	push   %edi
45a8fc:	ff 33                	push   (%ebx)
45a8fe:	6a 01                	push   $0x1
45a900:	6a 00                	push   $0x0
45a902:	ff 15 78 d1 48 00    	call   *0x48d178
45a908:	8b 4d 0c             	mov    0xc(%ebp),%ecx
45a90b:	48                   	dec    %eax
45a90c:	50                   	push   %eax
45a90d:	6a 00                	push   $0x0
45a90f:	56                   	push   %esi
45a910:	e8 3a 19 fb ff       	call   0x40c24f
45a915:	56                   	push   %esi
45a916:	e8 43 4c fc ff       	call   0x41f55e
45a91b:	59                   	pop    %ecx
45a91c:	5e                   	pop    %esi
45a91d:	5f                   	pop    %edi
45a91e:	5b                   	pop    %ebx
45a91f:	5d                   	pop    %ebp
45a920:	c2 08 00             	ret    $0x8
45a923:	55                   	push   %ebp
45a924:	8b ec                	mov    %esp,%ebp
45a926:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
45a92a:	56                   	push   %esi
45a92b:	8b f1                	mov    %ecx,%esi
45a92d:	75 09                	jne    0x45a938
45a92f:	51                   	push   %ecx
45a930:	51                   	push   %ecx
45a931:	e8 c3 b0 fe ff       	call   0x4459f9
45a936:	eb 57                	jmp    0x45a98f
45a938:	53                   	push   %ebx
45a939:	ff 75 08             	push   0x8(%ebp)
45a93c:	e8 8f 6e fc ff       	call   0x4217d0
45a941:	59                   	pop    %ecx
45a942:	8b d8                	mov    %eax,%ebx
45a944:	8b ce                	mov    %esi,%ecx
45a946:	89 5e 04             	mov    %ebx,0x4(%esi)
45a949:	e8 9c c1 fa ff       	call   0x406aea
45a94e:	8b ce                	mov    %esi,%ecx
45a950:	84 c0                	test   %al,%al
45a952:	74 22                	je     0x45a976
45a954:	8b 46 0c             	mov    0xc(%esi),%eax
45a957:	ff 08                	decl   (%eax)
45a959:	e8 ec c1 fa ff       	call   0x406b4a
45a95e:	8b 46 04             	mov    0x4(%esi),%eax
45a961:	40                   	inc    %eax
45a962:	50                   	push   %eax
45a963:	e8 02 3e fc ff       	call   0x41e76a
45a968:	50                   	push   %eax
45a969:	89 46 08             	mov    %eax,0x8(%esi)
45a96c:	e8 79 4b fc ff       	call   0x41f4ea
45a971:	59                   	pop    %ecx
45a972:	89 06                	mov    %eax,(%esi)
45a974:	eb 06                	jmp    0x45a97c
45a976:	53                   	push   %ebx
45a977:	e8 9b 3d fc ff       	call   0x41e717
45a97c:	8b 46 04             	mov    0x4(%esi),%eax
45a97f:	40                   	inc    %eax
45a980:	50                   	push   %eax
45a981:	ff 75 08             	push   0x8(%ebp)
45a984:	ff 36                	push   (%esi)
45a986:	e8 f5 44 fc ff       	call   0x41ee80
45a98b:	83 c4 0c             	add    $0xc,%esp
45a98e:	5b                   	pop    %ebx
45a98f:	5e                   	pop    %esi
45a990:	5d                   	pop    %ebp
45a991:	c2 04 00             	ret    $0x4
45a994:	55                   	push   %ebp
45a995:	8b ec                	mov    %esp,%ebp
45a997:	56                   	push   %esi
45a998:	8b f1                	mov    %ecx,%esi
45a99a:	8b 4d 08             	mov    0x8(%ebp),%ecx
45a99d:	e8 98 3c fc ff       	call   0x41e63a
45a9a2:	ff 75 08             	push   0x8(%ebp)
45a9a5:	56                   	push   %esi
45a9a6:	e8 27 00 00 00       	call   0x45a9d2
45a9ab:	8b 45 08             	mov    0x8(%ebp),%eax
45a9ae:	5e                   	pop    %esi
45a9af:	5d                   	pop    %ebp
45a9b0:	c2 04 00             	ret    $0x4
45a9b3:	55                   	push   %ebp
45a9b4:	8b ec                	mov    %esp,%ebp
45a9b6:	56                   	push   %esi
45a9b7:	8b f1                	mov    %ecx,%esi
45a9b9:	8b 4d 08             	mov    0x8(%ebp),%ecx
45a9bc:	e8 36 2e fb ff       	call   0x40d7f7
45a9c1:	ff 75 08             	push   0x8(%ebp)
45a9c4:	56                   	push   %esi
45a9c5:	e8 e8 fe ff ff       	call   0x45a8b2
45a9ca:	8b 45 08             	mov    0x8(%ebp),%eax
45a9cd:	5e                   	pop    %esi
45a9ce:	5d                   	pop    %ebp
45a9cf:	c2 04 00             	ret    $0x4
45a9d2:	55                   	push   %ebp
45a9d3:	8b ec                	mov    %esp,%ebp
45a9d5:	53                   	push   %ebx
45a9d6:	8b 5d 08             	mov    0x8(%ebp),%ebx
45a9d9:	57                   	push   %edi
45a9da:	8b 7b 04             	mov    0x4(%ebx),%edi
45a9dd:	33 c0                	xor    %eax,%eax
45a9df:	50                   	push   %eax
45a9e0:	50                   	push   %eax
45a9e1:	50                   	push   %eax
45a9e2:	50                   	push   %eax
45a9e3:	47                   	inc    %edi
45a9e4:	57                   	push   %edi
45a9e5:	ff 33                	push   (%ebx)
45a9e7:	50                   	push   %eax
45a9e8:	50                   	push   %eax
45a9e9:	ff 15 9c d1 48 00    	call   *0x48d19c
45a9ef:	89 45 08             	mov    %eax,0x8(%ebp)
45a9f2:	85 c0                	test   %eax,%eax
45a9f4:	75 0a                	jne    0x45aa00
45a9f6:	8b 4d 0c             	mov    0xc(%ebp),%ecx
45a9f9:	e8 c4 17 fb ff       	call   0x40c1c2
45a9fe:	eb 31                	jmp    0x45aa31
45aa00:	56                   	push   %esi
45aa01:	50                   	push   %eax
45aa02:	e8 e3 4a fc ff       	call   0x41f4ea
45aa07:	59                   	pop    %ecx
45aa08:	8b f0                	mov    %eax,%esi
45aa0a:	33 c0                	xor    %eax,%eax
45aa0c:	50                   	push   %eax
45aa0d:	50                   	push   %eax
45aa0e:	ff 75 08             	push   0x8(%ebp)
45aa11:	56                   	push   %esi
45aa12:	57                   	push   %edi
45aa13:	ff 33                	push   (%ebx)
45aa15:	50                   	push   %eax
45aa16:	50                   	push   %eax
45aa17:	ff 15 9c d1 48 00    	call   *0x48d19c
45aa1d:	48                   	dec    %eax
45aa1e:	50                   	push   %eax
45aa1f:	51                   	push   %ecx
45aa20:	8b 4d 0c             	mov    0xc(%ebp),%ecx
45aa23:	56                   	push   %esi
45aa24:	e8 9a 3c fc ff       	call   0x41e6c3
45aa29:	56                   	push   %esi
45aa2a:	e8 2f 4b fc ff       	call   0x41f55e
45aa2f:	59                   	pop    %ecx
45aa30:	5e                   	pop    %esi
45aa31:	5f                   	pop    %edi
45aa32:	5b                   	pop    %ebx
45aa33:	5d                   	pop    %ebp
45aa34:	c2 08 00             	ret    $0x8
45aa37:	56                   	push   %esi
45aa38:	8b f1                	mov    %ecx,%esi
45aa3a:	e8 8c 10 00 00       	call   0x45bacb
45aa3f:	84 c0                	test   %al,%al
45aa41:	74 05                	je     0x45aa48
45aa43:	8b 46 08             	mov    0x8(%esi),%eax
45aa46:	5e                   	pop    %esi
45aa47:	c3                   	ret
45aa48:	b8 4f aa 45 00       	mov    $0x45aa4f,%eax
45aa4d:	5e                   	pop    %esi
45aa4e:	c3                   	ret
45aa4f:	33 c0                	xor    %eax,%eax
45aa51:	c2 0c 00             	ret    $0xc
45aa54:	55                   	push   %ebp
45aa55:	8b ec                	mov    %esp,%ebp
45aa57:	8b 45 08             	mov    0x8(%ebp),%eax
45aa5a:	8b 48 04             	mov    0x4(%eax),%ecx
45aa5d:	8b 09                	mov    (%ecx),%ecx
45aa5f:	e8 c4 0a ff ff       	call   0x44b528
45aa64:	84 c0                	test   %al,%al
45aa66:	75 16                	jne    0x45aa7e
45aa68:	56                   	push   %esi
45aa69:	8b 75 0c             	mov    0xc(%ebp),%esi
45aa6c:	8b ce                	mov    %esi,%ecx
45aa6e:	e8 ad 81 fb ff       	call   0x412c20
45aa73:	83 26 00             	andl   $0x0,(%esi)
45aa76:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
45aa7d:	5e                   	pop    %esi
45aa7e:	33 c0                	xor    %eax,%eax
45aa80:	5d                   	pop    %ebp
45aa81:	c2 08 00             	ret    $0x8
45aa84:	55                   	push   %ebp
45aa85:	8b ec                	mov    %esp,%ebp
45aa87:	83 e4 f8             	and    $0xfffffff8,%esp
45aa8a:	83 ec 44             	sub    $0x44,%esp