4508fa:	8d 45 e4             	lea    -0x1c(%ebp),%eax
4508fd:	50                   	push   %eax
4508fe:	8b 46 14             	mov    0x14(%esi),%eax
450901:	e8 0e 5d ff ff       	call   0x446614
450906:	8b c8                	mov    %eax,%ecx
450908:	33 d2                	xor    %edx,%edx
45090a:	33 c0                	xor    %eax,%eax
45090c:	e8 03 68 fc ff       	call   0x417114
450911:	8b 45 08             	mov    0x8(%ebp),%eax
450914:	56                   	push   %esi
450915:	57                   	push   %edi
450916:	8d 75 e4             	lea    -0x1c(%ebp),%esi
450919:	8b f8                	mov    %eax,%edi
45091b:	a5                   	movsl  %ds:(%esi),%es:(%edi)
45091c:	a5                   	movsl  %ds:(%esi),%es:(%edi)
45091d:	a5                   	movsl  %ds:(%esi),%es:(%edi)
45091e:	a5                   	movsl  %ds:(%esi),%es:(%edi)
45091f:	5f                   	pop    %edi
450920:	5e                   	pop    %esi
450921:	85 ff                	test   %edi,%edi
450923:	0f 8e ef 00 00 00    	jle    0x450a18
450929:	8a 45 0c             	mov    0xc(%ebp),%al
45092c:	fe c8                	dec    %al
45092e:	74 40                	je     0x450970
450930:	fe c8                	dec    %al
450932:	74 54                	je     0x450988
450934:	fe c8                	dec    %al
450936:	74 09                	je     0x450941
450938:	fe c8                	dec    %al
45093a:	74 1d                	je     0x450959
45093c:	e9 d7 00 00 00       	jmp    0x450a18
450941:	8b 45 08             	mov    0x8(%ebp),%eax
450944:	8b 40 08             	mov    0x8(%eax),%eax
450947:	d1 f8                	sar    $1,%eax
450949:	79 03                	jns    0x45094e
45094b:	83 d0 00             	adc    $0x0,%eax
45094e:	8b 55 08             	mov    0x8(%ebp),%edx
450951:	89 42 08             	mov    %eax,0x8(%edx)
450954:	e9 bf 00 00 00       	jmp    0x450a18
450959:	8b 45 08             	mov    0x8(%ebp),%eax
45095c:	8b 40 08             	mov    0x8(%eax),%eax
45095f:	d1 f8                	sar    $1,%eax
450961:	79 03                	jns    0x450966
450963:	83 d0 00             	adc    $0x0,%eax
450966:	8b 55 08             	mov    0x8(%ebp),%edx
450969:	89 02                	mov    %eax,(%edx)
45096b:	e9 a8 00 00 00       	jmp    0x450a18
450970:	8b 45 08             	mov    0x8(%ebp),%eax
450973:	8b 40 0c             	mov    0xc(%eax),%eax
450976:	d1 f8                	sar    $1,%eax
450978:	79 03                	jns    0x45097d
45097a:	83 d0 00             	adc    $0x0,%eax
45097d:	8b 55 08             	mov    0x8(%ebp),%edx
450980:	89 42 0c             	mov    %eax,0xc(%edx)
450983:	e9 90 00 00 00       	jmp    0x450a18
450988:	8b 45 08             	mov    0x8(%ebp),%eax
45098b:	8b 40 0c             	mov    0xc(%eax),%eax
45098e:	d1 f8                	sar    $1,%eax
450990:	79 03                	jns    0x450995
450992:	83 d0 00             	adc    $0x0,%eax
450995:	8b 55 08             	mov    0x8(%ebp),%edx
450998:	89 42 04             	mov    %eax,0x4(%edx)
45099b:	eb 7b                	jmp    0x450a18
45099d:	8b 43 40             	mov    0x40(%ebx),%eax
4509a0:	89 45 fc             	mov    %eax,-0x4(%ebp)
4509a3:	8b 43 44             	mov    0x44(%ebx),%eax
4509a6:	89 45 f8             	mov    %eax,-0x8(%ebp)
4509a9:	8b 43 48             	mov    0x48(%ebx),%eax
4509ac:	8b f8                	mov    %eax,%edi
4509ae:	8b 53 4c             	mov    0x4c(%ebx),%edx
4509b1:	89 55 f4             	mov    %edx,-0xc(%ebp)
4509b4:	8a 55 0c             	mov    0xc(%ebp),%dl
4509b7:	80 c2 fd             	add    $0xfd,%dl
4509ba:	80 ea 02             	sub    $0x2,%dl
4509bd:	73 0b                	jae    0x4509ca
4509bf:	8b f8                	mov    %eax,%edi
4509c1:	d1 ff                	sar    $1,%edi
4509c3:	79 1a                	jns    0x4509df
4509c5:	83 d7 00             	adc    $0x0,%edi
4509c8:	eb 15                	jmp    0x4509df
4509ca:	8a 45 0c             	mov    0xc(%ebp),%al
4509cd:	48                   	dec    %eax
4509ce:	2c 02                	sub    $0x2,%al
4509d0:	73 0d                	jae    0x4509df
4509d2:	8b 43 4c             	mov    0x4c(%ebx),%eax
4509d5:	d1 f8                	sar    $1,%eax
4509d7:	79 03                	jns    0x4509dc
4509d9:	83 d0 00             	adc    $0x0,%eax
4509dc:	89 45 f4             	mov    %eax,-0xc(%ebp)
4509df:	8a 45 0c             	mov    0xc(%ebp),%al
4509e2:	2c 02                	sub    $0x2,%al
4509e4:	74 09                	je     0x4509ef
4509e6:	2c 02                	sub    $0x2,%al
4509e8:	75 0b                	jne    0x4509f5
4509ea:	01 7d fc             	add    %edi,-0x4(%ebp)
4509ed:	eb 06                	jmp    0x4509f5
4509ef:	8b 45 f4             	mov    -0xc(%ebp),%eax
4509f2:	01 45 f8             	add    %eax,-0x8(%ebp)
4509f5:	8b 45 f4             	mov    -0xc(%ebp),%eax
4509f8:	50                   	push   %eax
4509f9:	8d 45 e4             	lea    -0x1c(%ebp),%eax
4509fc:	50                   	push   %eax
4509fd:	8b cf                	mov    %edi,%ecx
4509ff:	8b 55 f8             	mov    -0x8(%ebp),%edx
450a02:	8b 45 fc             	mov    -0x4(%ebp),%eax
450a05:	e8 32 67 fc ff       	call   0x41713c
450a0a:	8b 45 08             	mov    0x8(%ebp),%eax
450a0d:	56                   	push   %esi
450a0e:	8d 75 e4             	lea    -0x1c(%ebp),%esi
450a11:	8b f8                	mov    %eax,%edi
450a13:	a5                   	movsl  %ds:(%esi),%es:(%edi)
450a14:	a5                   	movsl  %ds:(%esi),%es:(%edi)
450a15:	a5                   	movsl  %ds:(%esi),%es:(%edi)
450a16:	a5                   	movsl  %ds:(%esi),%es:(%edi)
450a17:	5e                   	pop    %esi
450a18:	6a 02                	push   $0x2
450a1a:	8b 45 08             	mov    0x8(%ebp),%eax
450a1d:	50                   	push   %eax
450a1e:	6a 00                	push   $0x0
450a20:	8b 46 14             	mov    0x14(%esi),%eax
450a23:	e8 b4 c9 ff ff       	call   0x44d3dc
450a28:	50                   	push   %eax
450a29:	e8 fe 5f fb ff       	call   0x406a2c
450a2e:	5f                   	pop    %edi
450a2f:	5e                   	pop    %esi
450a30:	5b                   	pop    %ebx
450a31:	8b e5                	mov    %ebp,%esp
450a33:	5d                   	pop    %ebp
450a34:	c2 08 00             	ret    $0x8
450a37:	90                   	nop
450a38:	55                   	push   %ebp
450a39:	8b ec                	mov    %esp,%ebp
450a3b:	53                   	push   %ebx
450a3c:	8b d8                	mov    %eax,%ebx
450a3e:	8b 43 0c             	mov    0xc(%ebx),%eax
450a41:	85 c0                	test   %eax,%eax
450a43:	74 0a                	je     0x450a4f
450a45:	8b 55 08             	mov    0x8(%ebp),%edx
450a48:	52                   	push   %edx
450a49:	e8 ea ff ff ff       	call   0x450a38
450a4e:	59                   	pop    %ecx
450a4f:	8b 43 08             	mov    0x8(%ebx),%eax
450a52:	85 c0                	test   %eax,%eax
450a54:	74 0a                	je     0x450a60
450a56:	8b 55 08             	mov    0x8(%ebp),%edx
450a59:	52                   	push   %edx
450a5a:	e8 d9 ff ff ff       	call   0x450a38
450a5f:	59                   	pop    %ecx
450a60:	8b c3                	mov    %ebx,%eax
450a62:	e8 59 28 fb ff       	call   0x4032c0
450a67:	5b                   	pop    %ebx
450a68:	5d                   	pop    %ebp
450a69:	c3                   	ret
450a6a:	8b c0                	mov    %eax,%eax
450a6c:	55                   	push   %ebp
450a6d:	8b ec                	mov    %esp,%ebp
450a6f:	53                   	push   %ebx
450a70:	56                   	push   %esi
450a71:	8b da                	mov    %edx,%ebx
450a73:	8b f0                	mov    %eax,%esi
450a75:	85 db                	test   %ebx,%ebx
450a77:	74 48                	je     0x450ac1
450a79:	8b 43 08             	mov    0x8(%ebx),%eax
450a7c:	85 c0                	test   %eax,%eax
450a7e:	74 07                	je     0x450a87
450a80:	55                   	push   %ebp
450a81:	e8 b2 ff ff ff       	call   0x450a38
450a86:	59                   	pop    %ecx
450a87:	8b 43 18             	mov    0x18(%ebx),%eax
450a8a:	85 c0                	test   %eax,%eax
450a8c:	74 08                	je     0x450a96
450a8e:	8b 53 0c             	mov    0xc(%ebx),%edx
450a91:	89 50 0c             	mov    %edx,0xc(%eax)
450a94:	eb 0d                	jmp    0x450aa3
450a96:	8b 43 14             	mov    0x14(%ebx),%eax
450a99:	85 c0                	test   %eax,%eax
450a9b:	74 06                	je     0x450aa3
450a9d:	8b 53 0c             	mov    0xc(%ebx),%edx
450aa0:	89 50 08             	mov    %edx,0x8(%eax)
450aa3:	8b 43 0c             	mov    0xc(%ebx),%eax
450aa6:	85 c0                	test   %eax,%eax
450aa8:	74 06                	je     0x450ab0
450aaa:	8b 53 18             	mov    0x18(%ebx),%edx
450aad:	89 50 18             	mov    %edx,0x18(%eax)
450ab0:	3b 5e 64             	cmp    0x64(%esi),%ebx
450ab3:	75 05                	jne    0x450aba
450ab5:	33 c0                	xor    %eax,%eax
450ab7:	89 46 64             	mov    %eax,0x64(%esi)
450aba:	8b c3                	mov    %ebx,%eax
450abc:	e8 ff 27 fb ff       	call   0x4032c0
450ac1:	5e                   	pop    %esi
450ac2:	5b                   	pop    %ebx
450ac3:	5d                   	pop    %ebp
450ac4:	c3                   	ret
450ac5:	8d 40 00             	lea    0x0(%eax),%eax
450ac8:	53                   	push   %ebx
450ac9:	56                   	push   %esi
450aca:	8b f2                	mov    %edx,%esi
450acc:	8b d8                	mov    %eax,%ebx
450ace:	8b d6                	mov    %esi,%edx
450ad0:	8b c3                	mov    %ebx,%eax
450ad2:	e8 01 f0 ff ff       	call   0x44fad8
450ad7:	85 c0                	test   %eax,%eax
450ad9:	74 24                	je     0x450aff
450adb:	3b 43 38             	cmp    0x38(%ebx),%eax
450ade:	75 07                	jne    0x450ae7
450ae0:	33 d2                	xor    %edx,%edx
450ae2:	89 50 04             	mov    %edx,0x4(%eax)
450ae5:	eb 09                	jmp    0x450af0
450ae7:	8b d0                	mov    %eax,%edx
450ae9:	8b c3                	mov    %ebx,%eax
450aeb:	e8 14 00 00 00       	call   0x450b04
450af0:	c6 86 9c 00 00 00 00 	movb   $0x0,0x9c(%esi)
450af7:	8b 43 14             	mov    0x14(%ebx),%eax
450afa:	8b 10                	mov    (%eax),%edx
450afc:	ff 52 7c             	call   *0x7c(%edx)
450aff:	5e                   	pop    %esi
450b00:	5b                   	pop    %ebx
450b01:	c3                   	ret
450b02:	8b c0                	mov    %eax,%eax
450b04:	55                   	push   %ebp
450b05:	8b ec                	mov    %esp,%ebp
450b07:	33 c9                	xor    %ecx,%ecx
450b09:	51                   	push   %ecx
450b0a:	51                   	push   %ecx
450b0b:	51                   	push   %ecx
450b0c:	51                   	push   %ecx
450b0d:	53                   	push   %ebx
450b0e:	56                   	push   %esi
450b0f:	57                   	push   %edi
450b10:	8b da                	mov    %edx,%ebx
450b12:	8b f0                	mov    %eax,%esi
450b14:	33 c0                	xor    %eax,%eax
450b16:	55                   	push   %ebp
450b17:	68 71 0d 45 00       	push   $0x450d71
450b1c:	64 ff 30             	push   %fs:(%eax)
450b1f:	64 89 20             	mov    %esp,%fs:(%eax)
450b22:	85 db                	test   %ebx,%ebx
450b24:	75 3b                	jne    0x450b61
450b26:	8d 55 fc             	lea    -0x4(%ebp),%edx
450b29:	a1 1c 46 47 00       	mov    0x47461c,%eax
450b2e:	e8 b1 52 fb ff       	call   0x405de4
450b33:	8d 45 fc             	lea    -0x4(%ebp),%eax
450b36:	50                   	push   %eax
450b37:	8d 55 f8             	lea    -0x8(%ebp),%edx
450b3a:	a1 28 45 47 00       	mov    0x474528,%eax
450b3f:	e8 a0 52 fb ff       	call   0x405de4
450b44:	8b 55 f8             	mov    -0x8(%ebp),%edx
450b47:	58                   	pop    %eax
450b48:	e8 cb 37 fb ff       	call   0x404318
450b4d:	8b 4d fc             	mov    -0x4(%ebp),%ecx
450b50:	b2 01                	mov    $0x1,%dl
450b52:	a1 e0 71 40 00       	mov    0x4071e0,%eax
450b57:	e8 98 af fb ff       	call   0x40baf4
450b5c:	e8 2b 2f fb ff       	call   0x403a8c
450b61:	83 7b 04 00          	cmpl   $0x0,0x4(%ebx)
450b65:	75 3b                	jne    0x450ba2
450b67:	8d 55 f4             	lea    -0xc(%ebp),%edx
450b6a:	a1 1c 46 47 00       	mov    0x47461c,%eax
450b6f:	e8 70 52 fb ff       	call   0x405de4
450b74:	8d 45 f4             	lea    -0xc(%ebp),%eax
450b77:	50                   	push   %eax
450b78:	8d 55 f0             	lea    -0x10(%ebp),%edx
450b7b:	a1 d8 47 47 00       	mov    0x4747d8,%eax
450b80:	e8 5f 52 fb ff       	call   0x405de4
450b85:	8b 55 f0             	mov    -0x10(%ebp),%edx
450b88:	58                   	pop    %eax
450b89:	e8 8a 37 fb ff       	call   0x404318
450b8e:	8b 4d f4             	mov    -0xc(%ebp),%ecx
450b91:	b2 01                	mov    $0x1,%dl
450b93:	a1 e0 71 40 00       	mov    0x4071e0,%eax
450b98:	e8 57 af fb ff       	call   0x40baf4
450b9d:	e8 ea 2e fb ff       	call   0x403a8c
450ba2:	8b 43 14             	mov    0x14(%ebx),%eax
450ba5:	e8 ba e6 ff ff       	call   0x44f264
450baa:	83 f8 01             	cmp    $0x1,%eax
450bad:	75 11                	jne    0x450bc0
450baf:	8b 46 64             	mov    0x64(%esi),%eax
450bb2:	33 d2                	xor    %edx,%edx
450bb4:	89 50 08             	mov    %edx,0x8(%eax)
450bb7:	c6 40 10 00          	movb   $0x0,0x10(%eax)
450bbb:	e9 8f 01 00 00       	jmp    0x450d4f
450bc0:	83 f8 02             	cmp    $0x2,%eax
450bc3:	0f 85 2e 01 00 00    	jne    0x450cf7
450bc9:	8b 43 18             	mov    0x18(%ebx),%eax
450bcc:	85 c0                	test   %eax,%eax
450bce:	75 05                	jne    0x450bd5
450bd0:	8b 7b 0c             	mov    0xc(%ebx),%edi
450bd3:	eb 02                	jmp    0x450bd7
450bd5:	8b f8                	mov    %eax,%edi
450bd7:	83 7f 04 00          	cmpl   $0x0,0x4(%edi)
450bdb:	74 5f                	je     0x450c3c
450bdd:	8b 56 64             	mov    0x64(%esi),%edx
450be0:	8b 43 14             	mov    0x14(%ebx),%eax
450be3:	3b d0                	cmp    %eax,%edx
450be5:	75 2a                	jne    0x450c11
450be7:	8b 46 64             	mov    0x64(%esi),%eax
450bea:	89 78 08             	mov    %edi,0x8(%eax)
450bed:	33 c0                	xor    %eax,%eax
450bef:	89 47 18             	mov    %eax,0x18(%edi)
450bf2:	33 c0                	xor    %eax,%eax
450bf4:	89 47 0c             	mov    %eax,0xc(%edi)
450bf7:	8b 46 64             	mov    0x64(%esi),%eax
450bfa:	e8 11 e7 ff ff       	call   0x44f310
450bff:	8b d0                	mov    %eax,%edx
450c01:	8b c7                	mov    %edi,%eax
450c03:	e8 ac eb ff ff       	call   0x44f7b4
450c08:	8b c7                	mov    %edi,%eax
450c0a:	e8 05 ea ff ff       	call   0x44f614
450c0f:	eb 16                	jmp    0x450c27
450c11:	c6 40 10 00          	movb   $0x0,0x10(%eax)
450c15:	8b 57 04             	mov    0x4(%edi),%edx
450c18:	89 50 04             	mov    %edx,0x4(%eax)
450c1b:	33 d2                	xor    %edx,%edx
450c1d:	89 50 08             	mov    %edx,0x8(%eax)
450c20:	8b c7                	mov    %edi,%eax
450c22:	e8 99 26 fb ff       	call   0x4032c0
450c27:	56                   	push   %esi
450c28:	68 14 13 45 00       	push   $0x451314
450c2d:	8b 53 14             	mov    0x14(%ebx),%edx
450c30:	8b c6                	mov    %esi,%eax
450c32:	e8 09 ef ff ff       	call   0x44fb40
450c37:	e9 13 01 00 00       	jmp    0x450d4f
450c3c:	8b 43 14             	mov    0x14(%ebx),%eax
450c3f:	3b 46 64             	cmp    0x64(%esi),%eax
450c42:	75 3b                	jne    0x450c7f
450c44:	8b 56 68             	mov    0x68(%esi),%edx
450c47:	8b c7                	mov    %edi,%eax
450c49:	e8 7a eb ff ff       	call   0x44f7c8
450c4e:	8b 46 64             	mov    0x64(%esi),%eax
450c51:	e8 36 eb ff ff       	call   0x44f78c
450c56:	89 46 68             	mov    %eax,0x68(%esi)
450c59:	8b 46 64             	mov    0x64(%esi),%eax
450c5c:	e8 5f 26 fb ff       	call   0x4032c0
450c61:	89 7e 64             	mov    %edi,0x64(%esi)
450c64:	33 c0                	xor    %eax,%eax
450c66:	89 47 0c             	mov    %eax,0xc(%edi)
450c69:	33 c0                	xor    %eax,%eax
450c6b:	89 47 18             	mov    %eax,0x18(%edi)
450c6e:	33 c0                	xor    %eax,%eax
450c70:	89 47 14             	mov    %eax,0x14(%edi)
450c73:	8b c6                	mov    %esi,%eax
450c75:	e8 72 06 00 00       	call   0x4512ec
450c7a:	e9 d0 00 00 00       	jmp    0x450d4f
450c7f:	8b 43 14             	mov    0x14(%ebx),%eax
450c82:	8b 40 18             	mov    0x18(%eax),%eax
450c85:	8b 57 08             	mov    0x8(%edi),%edx
450c88:	89 42 18             	mov    %eax,0x18(%edx)
450c8b:	85 c0                	test   %eax,%eax
450c8d:	75 0e                	jne    0x450c9d