45c780:	8b da                	mov    %edx,%ebx
45c782:	8b d0                	mov    %eax,%edx
45c784:	89 5d f4             	mov    %ebx,-0xc(%ebp)
45c787:	89 55 fc             	mov    %edx,-0x4(%ebp)
45c78a:	2b cf                	sub    %edi,%ecx
45c78c:	2b d3                	sub    %ebx,%edx
45c78e:	8b 7d 10             	mov    0x10(%ebp),%edi
45c791:	6a 00                	push   $0x0
45c793:	52                   	push   %edx
45c794:	51                   	push   %ecx
45c795:	2b fa                	sub    %edx,%edi
45c797:	83 ef 0a             	sub    $0xa,%edi
45c79a:	57                   	push   %edi
45c79b:	6a 0a                	push   $0xa
45c79d:	58                   	pop    %eax
45c79e:	2b c1                	sub    %ecx,%eax
45c7a0:	99                   	cltd
45c7a1:	2b c2                	sub    %edx,%eax
45c7a3:	8b c8                	mov    %eax,%ecx
45c7a5:	8b 45 0c             	mov    0xc(%ebp),%eax
45c7a8:	6a 04                	push   $0x4
45c7aa:	5b                   	pop    %ebx
45c7ab:	99                   	cltd
45c7ac:	f7 fb                	idiv   %ebx
45c7ae:	d1 f9                	sar    $1,%ecx
45c7b0:	03 c8                	add    %eax,%ecx
45c7b2:	51                   	push   %ecx
45c7b3:	ff 75 08             	push   0x8(%ebp)
45c7b6:	ff 15 00 f7 48 00    	call   *0x48f700
45c7bc:	6a 02                	push   $0x2
45c7be:	ff 76 54             	push   0x54(%esi)
45c7c1:	ff 15 18 f6 48 00    	call   *0x48f618
45c7c7:	89 45 08             	mov    %eax,0x8(%ebp)
45c7ca:	85 c0                	test   %eax,%eax
45c7cc:	74 5f                	je     0x45c82d
45c7ce:	8d 4d f0             	lea    -0x10(%ebp),%ecx
45c7d1:	51                   	push   %ecx
45c7d2:	50                   	push   %eax
45c7d3:	ff 15 94 f6 48 00    	call   *0x48f694
45c7d9:	8b 5d f0             	mov    -0x10(%ebp),%ebx
45c7dc:	8b 4d f8             	mov    -0x8(%ebp),%ecx
45c7df:	3b d9                	cmp    %ecx,%ebx
45c7e1:	7e 0c                	jle    0x45c7ef
45c7e3:	8b c3                	mov    %ebx,%eax
45c7e5:	8b d9                	mov    %ecx,%ebx
45c7e7:	8b c8                	mov    %eax,%ecx
45c7e9:	89 5d f0             	mov    %ebx,-0x10(%ebp)
45c7ec:	89 4d f8             	mov    %ecx,-0x8(%ebp)
45c7ef:	8b 55 fc             	mov    -0x4(%ebp),%edx
45c7f2:	8b 45 f4             	mov    -0xc(%ebp),%eax
45c7f5:	3b c2                	cmp    %edx,%eax
45c7f7:	7e 0b                	jle    0x45c804
45c7f9:	89 55 f4             	mov    %edx,-0xc(%ebp)
45c7fc:	8b d0                	mov    %eax,%edx
45c7fe:	8b 45 f4             	mov    -0xc(%ebp),%eax
45c801:	89 55 fc             	mov    %edx,-0x4(%ebp)
45c804:	2b cb                	sub    %ebx,%ecx
45c806:	2b d0                	sub    %eax,%edx
45c808:	6a 00                	push   $0x0
45c80a:	52                   	push   %edx
45c80b:	51                   	push   %ecx
45c80c:	8d 41 0a             	lea    0xa(%ecx),%eax
45c80f:	99                   	cltd
45c810:	2b c2                	sub    %edx,%eax
45c812:	8b c8                	mov    %eax,%ecx
45c814:	6b 45 0c 03          	imul   $0x3,0xc(%ebp),%eax
45c818:	57                   	push   %edi
45c819:	6a 04                	push   $0x4
45c81b:	5b                   	pop    %ebx
45c81c:	d1 f9                	sar    $1,%ecx
45c81e:	99                   	cltd
45c81f:	f7 fb                	idiv   %ebx
45c821:	2b c1                	sub    %ecx,%eax
45c823:	50                   	push   %eax
45c824:	ff 75 08             	push   0x8(%ebp)
45c827:	ff 15 00 f7 48 00    	call   *0x48f700
45c82d:	68 e9 03 00 00       	push   $0x3e9
45c832:	ff 76 54             	push   0x54(%esi)
45c835:	ff 15 18 f6 48 00    	call   *0x48f618
45c83b:	8b d8                	mov    %eax,%ebx
45c83d:	85 db                	test   %ebx,%ebx
45c83f:	74 4e                	je     0x45c88f
45c841:	8d 45 f0             	lea    -0x10(%ebp),%eax
45c844:	50                   	push   %eax
45c845:	53                   	push   %ebx
45c846:	ff 15 94 f6 48 00    	call   *0x48f694
45c84c:	8b 4d f0             	mov    -0x10(%ebp),%ecx
45c84f:	8b 45 f8             	mov    -0x8(%ebp),%eax
45c852:	3b c8                	cmp    %eax,%ecx
45c854:	7e 06                	jle    0x45c85c
45c856:	89 45 f0             	mov    %eax,-0x10(%ebp)
45c859:	89 4d f8             	mov    %ecx,-0x8(%ebp)
45c85c:	8b 55 f4             	mov    -0xc(%ebp),%edx
45c85f:	8b 4d fc             	mov    -0x4(%ebp),%ecx
45c862:	3b d1                	cmp    %ecx,%edx
45c864:	7e 0c                	jle    0x45c872
45c866:	8b c2                	mov    %edx,%eax
45c868:	8b d1                	mov    %ecx,%edx
45c86a:	8b c8                	mov    %eax,%ecx
45c86c:	89 55 f4             	mov    %edx,-0xc(%ebp)
45c86f:	89 4d fc             	mov    %ecx,-0x4(%ebp)
45c872:	6a fb                	push   $0xfffffffb
45c874:	58                   	pop    %eax
45c875:	2b ca                	sub    %edx,%ecx
45c877:	2b c1                	sub    %ecx,%eax
45c879:	6a 00                	push   $0x0
45c87b:	03 f8                	add    %eax,%edi
45c87d:	8b 45 0c             	mov    0xc(%ebp),%eax
45c880:	51                   	push   %ecx
45c881:	83 c0 ec             	add    $0xffffffec,%eax
45c884:	50                   	push   %eax
45c885:	57                   	push   %edi
45c886:	6a 0a                	push   $0xa
45c888:	53                   	push   %ebx
45c889:	ff 15 00 f7 48 00    	call   *0x48f700
45c88f:	68 ea 03 00 00       	push   $0x3ea
45c894:	ff 76 54             	push   0x54(%esi)
45c897:	ff 15 18 f6 48 00    	call   *0x48f618
45c89d:	5b                   	pop    %ebx
45c89e:	85 c0                	test   %eax,%eax
45c8a0:	74 18                	je     0x45c8ba
45c8a2:	6a 00                	push   $0x0
45c8a4:	8d 4f fb             	lea    -0x5(%edi),%ecx
45c8a7:	51                   	push   %ecx
45c8a8:	8b 4d 0c             	mov    0xc(%ebp),%ecx
45c8ab:	83 c1 ec             	add    $0xffffffec,%ecx
45c8ae:	51                   	push   %ecx
45c8af:	6a 0a                	push   $0xa
45c8b1:	6a 0a                	push   $0xa
45c8b3:	50                   	push   %eax
45c8b4:	ff 15 00 f7 48 00    	call   *0x48f700
45c8ba:	6a 01                	push   $0x1
45c8bc:	6a 00                	push   $0x0
45c8be:	ff 76 54             	push   0x54(%esi)
45c8c1:	ff 15 58 f6 48 00    	call   *0x48f658
45c8c7:	5f                   	pop    %edi
45c8c8:	5e                   	pop    %esi
45c8c9:	8b e5                	mov    %ebp,%esp
45c8cb:	5d                   	pop    %ebp
45c8cc:	c2 0c 00             	ret    $0xc
45c8cf:	55                   	push   %ebp
45c8d0:	8b ec                	mov    %esp,%ebp
45c8d2:	81 7d 08 0a 04 00 00 	cmpl   $0x40a,0x8(%ebp)
45c8d9:	56                   	push   %esi
45c8da:	8b f1                	mov    %ecx,%esi
45c8dc:	75 18                	jne    0x45c8f6
45c8de:	68 10 f9 48 00       	push   $0x48f910
45c8e3:	8d 4e 34             	lea    0x34(%esi),%ecx
45c8e6:	e8 41 b4 fa ff       	call   0x407d2c
45c8eb:	6a 03                	push   $0x3
45c8ed:	ff 76 54             	push   0x54(%esi)
45c8f0:	ff 15 10 f6 48 00    	call   *0x48f610
45c8f6:	5e                   	pop    %esi
45c8f7:	5d                   	pop    %ebp
45c8f8:	c2 04 00             	ret    $0x4
45c8fb:	55                   	push   %ebp
45c8fc:	8b ec                	mov    %esp,%ebp
45c8fe:	83 3d 00 75 4c 00 00 	cmpl   $0x0,0x4c7500
45c905:	75 06                	jne    0x45c90d
45c907:	33 c0                	xor    %eax,%eax
45c909:	5d                   	pop    %ebp
45c90a:	c2 10 00             	ret    $0x10
45c90d:	5d                   	pop    %ebp
45c90e:	e9 00 00 00 00       	jmp    0x45c913
45c913:	55                   	push   %ebp
45c914:	8b ec                	mov    %esp,%ebp
45c916:	51                   	push   %ecx
45c917:	8b 45 0c             	mov    0xc(%ebp),%eax
45c91a:	8b 15 00 75 4c 00    	mov    0x4c7500,%edx
45c920:	83 e8 05             	sub    $0x5,%eax
45c923:	74 69                	je     0x45c98e
45c925:	83 e8 1f             	sub    $0x1f,%eax
45c928:	74 51                	je     0x45c97b
45c92a:	2d ec 00 00 00       	sub    $0xec,%eax
45c92f:	74 35                	je     0x45c966
45c931:	48                   	dec    %eax
45c932:	74 10                	je     0x45c944
45c934:	48                   	dec    %eax
45c935:	48                   	dec    %eax
45c936:	75 18                	jne    0x45c950
45c938:	ff 75 10             	push   0x10(%ebp)
45c93b:	8b ca                	mov    %edx,%ecx
45c93d:	e8 8d ff ff ff       	call   0x45c8cf
45c942:	eb 61                	jmp    0x45c9a5
45c944:	8b 45 10             	mov    0x10(%ebp),%eax
45c947:	0f b7 c0             	movzwl %ax,%eax
45c94a:	48                   	dec    %eax
45c94b:	74 10                	je     0x45c95d
45c94d:	48                   	dec    %eax
45c94e:	74 04                	je     0x45c954
45c950:	33 c0                	xor    %eax,%eax
45c952:	eb 54                	jmp    0x45c9a8
45c954:	8b ca                	mov    %edx,%ecx
45c956:	e8 49 fb ff ff       	call   0x45c4a4
45c95b:	eb 48                	jmp    0x45c9a5
45c95d:	8b ca                	mov    %edx,%ecx
45c95f:	e8 42 fd ff ff       	call   0x45c6a6
45c964:	eb 3f                	jmp    0x45c9a5
45c966:	83 7a 54 00          	cmpl   $0x0,0x54(%edx)
45c96a:	75 06                	jne    0x45c972
45c96c:	8b 45 08             	mov    0x8(%ebp),%eax
45c96f:	89 42 54             	mov    %eax,0x54(%edx)
45c972:	8b ca                	mov    %edx,%ecx
45c974:	e8 48 fb ff ff       	call   0x45c4c1
45c979:	eb 2d                	jmp    0x45c9a8
45c97b:	8b 45 14             	mov    0x14(%ebp),%eax
45c97e:	c7 40 18 be 00 00 00 	movl   $0xbe,0x18(%eax)
45c985:	c7 40 1c 72 00 00 00 	movl   $0x72,0x1c(%eax)
45c98c:	eb 17                	jmp    0x45c9a5
45c98e:	8b 4d 14             	mov    0x14(%ebp),%ecx
45c991:	8b c1                	mov    %ecx,%eax
45c993:	c1 e8 10             	shr    $0x10,%eax
45c996:	50                   	push   %eax
45c997:	0f b7 c1             	movzwl %cx,%eax
45c99a:	8b ca                	mov    %edx,%ecx
45c99c:	50                   	push   %eax
45c99d:	ff 75 10             	push   0x10(%ebp)
45c9a0:	e8 85 fd ff ff       	call   0x45c72a
45c9a5:	33 c0                	xor    %eax,%eax
45c9a7:	40                   	inc    %eax
45c9a8:	8b e5                	mov    %ebp,%esp
45c9aa:	5d                   	pop    %ebp
45c9ab:	c2 10 00             	ret    $0x10
45c9ae:	55                   	push   %ebp
45c9af:	8b ec                	mov    %esp,%ebp
45c9b1:	83 ec 18             	sub    $0x18,%esp
45c9b4:	53                   	push   %ebx
45c9b5:	56                   	push   %esi
45c9b6:	8b f1                	mov    %ecx,%esi
45c9b8:	8d 45 0c             	lea    0xc(%ebp),%eax
45c9bb:	57                   	push   %edi
45c9bc:	33 db                	xor    %ebx,%ebx
45c9be:	50                   	push   %eax
45c9bf:	c7 06 20 9a 4b 00    	movl   $0x4b9a20,(%esi)
45c9c5:	8d 4e 08             	lea    0x8(%esi),%ecx
45c9c8:	c7 46 04 01 00 00 00 	movl   $0x1,0x4(%esi)
45c9cf:	89 59 08             	mov    %ebx,0x8(%ecx)
45c9d2:	e8 e9 d0 fa ff       	call   0x409ac0
45c9d7:	8b 45 08             	mov    0x8(%ebp),%eax
45c9da:	c7 46 18 e4 99 4b 00 	movl   $0x4b99e4,0x18(%esi)
45c9e1:	89 5e 1c             	mov    %ebx,0x1c(%esi)
45c9e4:	89 5e 20             	mov    %ebx,0x20(%esi)
45c9e7:	89 5e 24             	mov    %ebx,0x24(%esi)
45c9ea:	89 46 28             	mov    %eax,0x28(%esi)
45c9ed:	8b 40 08             	mov    0x8(%eax),%eax
45c9f0:	89 46 2c             	mov    %eax,0x2c(%esi)
45c9f3:	8d 45 ec             	lea    -0x14(%ebp),%eax
45c9f6:	50                   	push   %eax
45c9f7:	ff 15 7c f4 48 00    	call   *0x48f47c
45c9fd:	6a 09                	push   $0x9
45c9ff:	89 5d f4             	mov    %ebx,-0xc(%ebp)
45ca02:	89 5d f8             	mov    %ebx,-0x8(%ebp)
45ca05:	5b                   	pop    %ebx
45ca06:	8d 45 ec             	lea    -0x14(%ebp),%eax
45ca09:	50                   	push   %eax
45ca0a:	8d 4e 18             	lea    0x18(%esi),%ecx
45ca0d:	e8 f5 02 00 00       	call   0x45cd07
45ca12:	4b                   	dec    %ebx
45ca13:	75 f1                	jne    0x45ca06
45ca15:	8d 45 ec             	lea    -0x14(%ebp),%eax
45ca18:	50                   	push   %eax
45ca19:	ff 15 5c f4 48 00    	call   *0x48f45c
45ca1f:	8d 4d 0c             	lea    0xc(%ebp),%ecx
45ca22:	e8 f9 cf fa ff       	call   0x409a20
45ca27:	5f                   	pop    %edi
45ca28:	8b c6                	mov    %esi,%eax
45ca2a:	5e                   	pop    %esi
45ca2b:	5b                   	pop    %ebx
45ca2c:	8b e5                	mov    %ebp,%esp
45ca2e:	5d                   	pop    %ebp
45ca2f:	c2 14 00             	ret    $0x14
45ca32:	56                   	push   %esi
45ca33:	8b f1                	mov    %ecx,%esi
45ca35:	c7 06 e4 99 4b 00    	movl   $0x4b99e4,(%esi)
45ca3b:	e8 86 02 00 00       	call   0x45ccc6
45ca40:	ff 76 04             	push   0x4(%esi)
45ca43:	e8 24 46 fc ff       	call   0x42106c
45ca48:	59                   	pop    %ecx
45ca49:	5e                   	pop    %esi
45ca4a:	c3                   	ret
45ca4b:	56                   	push   %esi
45ca4c:	57                   	push   %edi
45ca4d:	8b f9                	mov    %ecx,%edi
45ca4f:	8b 57 2c             	mov    0x2c(%edi),%edx
45ca52:	c7 07 20 9a 4b 00    	movl   $0x4b9a20,(%edi)
45ca58:	eb 12                	jmp    0x45ca6c
45ca5a:	8b 47 28             	mov    0x28(%edi),%eax
45ca5d:	8b 48 04             	mov    0x4(%eax),%ecx
45ca60:	8b 44 91 04          	mov    0x4(%ecx,%edx,4),%eax
45ca64:	8b 0c 91             	mov    (%ecx,%edx,4),%ecx
45ca67:	42                   	inc    %edx
45ca68:	8b 00                	mov    (%eax),%eax
45ca6a:	89 01                	mov    %eax,(%ecx)
45ca6c:	8b 47 28             	mov    0x28(%edi),%eax
45ca6f:	8b 40 08             	mov    0x8(%eax),%eax
45ca72:	48                   	dec    %eax
45ca73:	3b d0                	cmp    %eax,%edx
45ca75:	72 e3                	jb     0x45ca5a
45ca77:	8b 77 28             	mov    0x28(%edi),%esi
45ca7a:	ff 4e 08             	decl   0x8(%esi)
45ca7d:	8b 4e 08             	mov    0x8(%esi),%ecx
45ca80:	8b 46 04             	mov    0x4(%esi),%eax
45ca83:	ff 34 88             	push   (%eax,%ecx,4)
45ca86:	e8 e1 45 fc ff       	call   0x42106c
45ca8b:	8b 46 04             	mov    0x4(%esi),%eax
45ca8e:	59                   	pop    %ecx
45ca8f:	8b 4e 08             	mov    0x8(%esi),%ecx
45ca92:	83 24 88 00          	andl   $0x0,(%eax,%ecx,4)
45ca96:	8d 4f 18             	lea    0x18(%edi),%ecx
45ca99:	e8 28 02 00 00       	call   0x45ccc6
45ca9e:	8d 4f 18             	lea    0x18(%edi),%ecx
45caa1:	e8 8c ff ff ff       	call   0x45ca32
45caa6:	8d 4f 08             	lea    0x8(%edi),%ecx
45caa9:	5f                   	pop    %edi
45caaa:	5e                   	pop    %esi
45caab:	e9 70 cf fa ff       	jmp    0x409a20
45cab0:	55                   	push   %ebp
45cab1:	8b ec                	mov    %esp,%ebp
45cab3:	56                   	push   %esi
45cab4:	8b f1                	mov    %ecx,%esi
45cab6:	e8 77 ff ff ff       	call   0x45ca32
45cabb:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
45cabf:	74 07                	je     0x45cac8
45cac1:	56                   	push   %esi
45cac2:	e8 a5 45 fc ff       	call   0x42106c
45cac7:	59                   	pop    %ecx
45cac8:	8b c6                	mov    %esi,%eax
45caca:	5e                   	pop    %esi
45cacb:	5d                   	pop    %ebp
45cacc:	c2 04 00             	ret    $0x4
45cacf:	55                   	push   %ebp
45cad0:	8b ec                	mov    %esp,%ebp
45cad2:	8b 45 08             	mov    0x8(%ebp),%eax
45cad5:	83 c0 04             	add    $0x4,%eax
45cad8:	50                   	push   %eax
45cad9:	ff 15 54 f3 48 00    	call   *0x48f354
45cadf:	5d                   	pop    %ebp
45cae0:	c2 04 00             	ret    $0x4
45cae3:	56                   	push   %esi
45cae4:	57                   	push   %edi
45cae5:	8b f9                	mov    %ecx,%edi
45cae7:	33 f6                	xor    %esi,%esi
45cae9:	8b 47 1c             	mov    0x1c(%edi),%eax
45caec:	ff 34 30             	push   (%eax,%esi,1)
45caef:	ff 15 5c f4 48 00    	call   *0x48f45c
45caf5:	83 c6 04             	add    $0x4,%esi
45caf8:	83 fe 24             	cmp    $0x24,%esi
45cafb:	7c ec                	jl     0x45cae9
45cafd:	5f                   	pop    %edi
45cafe:	5e                   	pop    %esi