443bd1:	e9 d1 01 00 00       	jmp    0x443da7
443bd6:	8b 43 64             	mov    0x64(%ebx),%eax
443bd9:	83 78 08 00          	cmpl   $0x0,0x8(%eax)
443bdd:	0f 85 a3 00 00 00    	jne    0x443c86
443be3:	8d 55 e0             	lea    -0x20(%ebp),%edx
443be6:	8b 43 14             	mov    0x14(%ebx),%eax
443be9:	8b 08                	mov    (%eax),%ecx
443beb:	ff 51 44             	call   *0x44(%ecx)
443bee:	8d 55 e0             	lea    -0x20(%ebp),%edx
443bf1:	8b 43 14             	mov    0x14(%ebx),%eax
443bf4:	8b 08                	mov    (%eax),%ecx
443bf6:	ff 91 8c 00 00 00    	call   *0x8c(%ecx)
443bfc:	8b 7d e8             	mov    -0x18(%ebp),%edi
443bff:	2b 7d e0             	sub    -0x20(%ebp),%edi
443c02:	8b 45 ec             	mov    -0x14(%ebp),%eax
443c05:	2b 45 e4             	sub    -0x1c(%ebp),%eax
443c08:	89 45 f0             	mov    %eax,-0x10(%ebp)
443c0b:	8b 43 14             	mov    0x14(%ebx),%eax
443c0e:	80 78 5c 00          	cmpb   $0x0,0x5c(%eax)
443c12:	74 1d                	je     0x443c31
443c14:	85 ff                	test   %edi,%edi
443c16:	75 09                	jne    0x443c21
443c18:	8b c6                	mov    %esi,%eax
443c1a:	e8 05 70 ff ff       	call   0x43ac24
443c1f:	8b f8                	mov    %eax,%edi
443c21:	83 7d f0 00          	cmpl   $0x0,-0x10(%ebp)
443c25:	75 0a                	jne    0x443c31
443c27:	8b c6                	mov    %esi,%eax
443c29:	e8 e2 6f ff ff       	call   0x43ac10
443c2e:	89 45 f0             	mov    %eax,-0x10(%ebp)
443c31:	8b 45 f0             	mov    -0x10(%ebp),%eax
443c34:	50                   	push   %eax
443c35:	8d 45 d0             	lea    -0x30(%ebp),%eax
443c38:	50                   	push   %eax
443c39:	8b cf                	mov    %edi,%ecx
443c3b:	8b 55 e4             	mov    -0x1c(%ebp),%edx
443c3e:	8b 45 e0             	mov    -0x20(%ebp),%eax
443c41:	e8 3a ed fc ff       	call   0x412980
443c46:	56                   	push   %esi
443c47:	8d 75 d0             	lea    -0x30(%ebp),%esi
443c4a:	8d 7d e0             	lea    -0x20(%ebp),%edi
443c4d:	a5                   	movsl  %ds:(%esi),%es:(%edi)
443c4e:	a5                   	movsl  %ds:(%esi),%es:(%edi)
443c4f:	a5                   	movsl  %ds:(%esi),%es:(%edi)
443c50:	a5                   	movsl  %ds:(%esi),%es:(%edi)
443c51:	5e                   	pop    %esi
443c52:	8d 4d e0             	lea    -0x20(%ebp),%ecx
443c55:	8b d6                	mov    %esi,%edx
443c57:	8b c3                	mov    %ebx,%eax
443c59:	8b 38                	mov    (%eax),%edi
443c5b:	ff 17                	call   *(%edi)
443c5d:	8d 55 e0             	lea    -0x20(%ebp),%edx
443c60:	8b c6                	mov    %esi,%eax
443c62:	e8 d9 69 ff ff       	call   0x43a640
443c67:	8b cb                	mov    %ebx,%ecx
443c69:	b2 01                	mov    $0x1,%dl
443c6b:	a1 e8 77 43 00       	mov    0x4377e8,%eax
443c70:	e8 97 f5 ff ff       	call   0x44320c
443c75:	8b 53 64             	mov    0x64(%ebx),%edx
443c78:	89 42 08             	mov    %eax,0x8(%edx)
443c7b:	89 50 14             	mov    %edx,0x14(%eax)
443c7e:	89 70 04             	mov    %esi,0x4(%eax)
443c81:	e9 21 01 00 00       	jmp    0x443da7
443c86:	8a 45 ff             	mov    -0x1(%ebp),%al
443c89:	84 c0                	test   %al,%al
443c8b:	74 04                	je     0x443c91
443c8d:	2c 05                	sub    $0x5,%al
443c8f:	75 04                	jne    0x443c95
443c91:	c6 45 ff 04          	movb   $0x4,-0x1(%ebp)
443c95:	8b d6                	mov    %esi,%edx
443c97:	8b c3                	mov    %ebx,%eax
443c99:	e8 06 fe ff ff       	call   0x443aa4
443c9e:	85 c0                	test   %eax,%eax
443ca0:	74 09                	je     0x443cab
443ca2:	8b d0                	mov    %eax,%edx
443ca4:	8b c3                	mov    %ebx,%eax
443ca6:	e8 25 0e 00 00       	call   0x444ad0
443cab:	8b 55 08             	mov    0x8(%ebp),%edx
443cae:	8b c3                	mov    %ebx,%eax
443cb0:	e8 ef fd ff ff       	call   0x443aa4
443cb5:	89 45 f8             	mov    %eax,-0x8(%ebp)
443cb8:	33 c0                	xor    %eax,%eax
443cba:	8a 45 ff             	mov    -0x1(%ebp),%al
443cbd:	8a 80 cc db 45 00    	mov    0x45dbcc(%eax),%al
443cc3:	88 45 f7             	mov    %al,-0x9(%ebp)
443cc6:	8b 43 64             	mov    0x64(%ebx),%eax
443cc9:	e8 62 f5 ff ff       	call   0x443230
443cce:	48                   	dec    %eax
443ccf:	75 6a                	jne    0x443d3b
443cd1:	8b 7b 64             	mov    0x64(%ebx),%edi
443cd4:	8a 45 f7             	mov    -0x9(%ebp),%al
443cd7:	88 47 10             	mov    %al,0x10(%edi)
443cda:	8a 45 f7             	mov    -0x9(%ebp),%al
443cdd:	fe c8                	dec    %al
443cdf:	74 06                	je     0x443ce7
443ce1:	fe c8                	dec    %al
443ce3:	74 2d                	je     0x443d12
443ce5:	eb 54                	jmp    0x443d3b
443ce7:	8b 47 08             	mov    0x8(%edi),%eax
443cea:	ba 02 00 00 00       	mov    $0x2,%edx
443cef:	e8 9c f6 ff ff       	call   0x443390
443cf4:	8b d0                	mov    %eax,%edx
443cf6:	8b c7                	mov    %edi,%eax
443cf8:	e8 83 fa ff ff       	call   0x443780
443cfd:	8b 43 64             	mov    0x64(%ebx),%eax
443d00:	8b 40 08             	mov    0x8(%eax),%eax
443d03:	ba 01 00 00 00       	mov    $0x1,%edx
443d08:	e8 83 f6 ff ff       	call   0x443390
443d0d:	89 43 68             	mov    %eax,0x68(%ebx)
443d10:	eb 29                	jmp    0x443d3b
443d12:	8b 47 08             	mov    0x8(%edi),%eax
443d15:	ba 01 00 00 00       	mov    $0x1,%edx
443d1a:	e8 71 f6 ff ff       	call   0x443390
443d1f:	8b d0                	mov    %eax,%edx
443d21:	8b c7                	mov    %edi,%eax
443d23:	e8 58 fa ff ff       	call   0x443780
443d28:	8b 43 64             	mov    0x64(%ebx),%eax
443d2b:	8b 40 08             	mov    0x8(%eax),%eax
443d2e:	ba 02 00 00 00       	mov    $0x2,%edx
443d33:	e8 58 f6 ff ff       	call   0x443390
443d38:	89 43 68             	mov    %eax,0x68(%ebx)
443d3b:	8b cb                	mov    %ebx,%ecx
443d3d:	b2 01                	mov    $0x1,%dl
443d3f:	a1 e8 77 43 00       	mov    0x4377e8,%eax
443d44:	e8 c3 f4 ff ff       	call   0x44320c
443d49:	89 70 04             	mov    %esi,0x4(%eax)
443d4c:	83 7d f8 00          	cmpl   $0x0,-0x8(%ebp)
443d50:	74 0b                	je     0x443d5d
443d52:	8b 55 f8             	mov    -0x8(%ebp),%edx
443d55:	8b 52 14             	mov    0x14(%edx),%edx
443d58:	8a 52 10             	mov    0x10(%edx),%dl
443d5b:	eb 06                	jmp    0x443d63
443d5d:	8b 53 64             	mov    0x64(%ebx),%edx
443d60:	8a 52 10             	mov    0x10(%edx),%dl
443d63:	80 7d f7 00          	cmpb   $0x0,-0x9(%ebp)
443d67:	75 03                	jne    0x443d6c
443d69:	88 55 f7             	mov    %dl,-0x9(%ebp)
443d6c:	3a 55 f7             	cmp    -0x9(%ebp),%dl
443d6f:	75 1a                	jne    0x443d8b
443d71:	33 d2                	xor    %edx,%edx
443d73:	8a 55 ff             	mov    -0x1(%ebp),%dl
443d76:	8a 92 d4 db 45 00    	mov    0x45dbd4(%edx),%dl
443d7c:	52                   	push   %edx
443d7d:	8b 4d f8             	mov    -0x8(%ebp),%ecx
443d80:	8b d0                	mov    %eax,%edx
443d82:	8b c3                	mov    %ebx,%eax
443d84:	e8 d7 01 00 00       	call   0x443f60
443d89:	eb 1c                	jmp    0x443da7
443d8b:	8a 55 f7             	mov    -0x9(%ebp),%dl
443d8e:	52                   	push   %edx
443d8f:	33 d2                	xor    %edx,%edx
443d91:	8a 55 ff             	mov    -0x1(%ebp),%dl
443d94:	8a 92 d4 db 45 00    	mov    0x45dbd4(%edx),%dl
443d9a:	52                   	push   %edx
443d9b:	8b 4d f8             	mov    -0x8(%ebp),%ecx
443d9e:	8b d0                	mov    %eax,%edx
443da0:	8b c3                	mov    %ebx,%eax
443da2:	e8 11 00 00 00       	call   0x443db8
443da7:	8b 43 14             	mov    0x14(%ebx),%eax
443daa:	8b 10                	mov    (%eax),%edx
443dac:	ff 52 7c             	call   *0x7c(%edx)
443daf:	5f                   	pop    %edi
443db0:	5e                   	pop    %esi
443db1:	5b                   	pop    %ebx
443db2:	8b e5                	mov    %ebp,%esp
443db4:	5d                   	pop    %ebp
443db5:	c2 04 00             	ret    $0x4
443db8:	55                   	push   %ebp
443db9:	8b ec                	mov    %esp,%ebp
443dbb:	51                   	push   %ecx
443dbc:	53                   	push   %ebx
443dbd:	56                   	push   %esi
443dbe:	57                   	push   %edi
443dbf:	8b f9                	mov    %ecx,%edi
443dc1:	89 55 fc             	mov    %edx,-0x4(%ebp)
443dc4:	8b f0                	mov    %eax,%esi
443dc6:	8b ce                	mov    %esi,%ecx
443dc8:	b2 01                	mov    $0x1,%dl
443dca:	a1 e8 77 43 00       	mov    0x4377e8,%eax
443dcf:	e8 38 f4 ff ff       	call   0x44320c
443dd4:	8b d8                	mov    %eax,%ebx
443dd6:	8a 45 0c             	mov    0xc(%ebp),%al
443dd9:	88 43 10             	mov    %al,0x10(%ebx)
443ddc:	85 ff                	test   %edi,%edi
443dde:	0f 85 dd 00 00 00    	jne    0x443ec1
443de4:	8b 56 68             	mov    0x68(%esi),%edx
443de7:	8b c3                	mov    %ebx,%eax
443de9:	e8 92 f9 ff ff       	call   0x443780
443dee:	8b 46 64             	mov    0x64(%esi),%eax
443df1:	e8 62 f9 ff ff       	call   0x443758
443df6:	89 46 68             	mov    %eax,0x68(%esi)
443df9:	8a 45 0c             	mov    0xc(%ebp),%al
443dfc:	88 46 48             	mov    %al,0x48(%esi)
443dff:	33 c0                	xor    %eax,%eax
443e01:	89 46 40             	mov    %eax,0x40(%esi)
443e04:	c7 46 44 00 00 e0 3f 	movl   $0x3fe00000,0x44(%esi)
443e0b:	80 7d 08 00          	cmpb   $0x0,0x8(%ebp)
443e0f:	74 33                	je     0x443e44
443e11:	8b 46 64             	mov    0x64(%esi),%eax
443e14:	89 43 08             	mov    %eax,0x8(%ebx)
443e17:	8b 46 64             	mov    0x64(%esi),%eax
443e1a:	89 58 14             	mov    %ebx,0x14(%eax)
443e1d:	8b 55 fc             	mov    -0x4(%ebp),%edx
443e20:	89 50 0c             	mov    %edx,0xc(%eax)
443e23:	8b 55 fc             	mov    -0x4(%ebp),%edx
443e26:	89 42 18             	mov    %eax,0x18(%edx)
443e29:	8b 45 fc             	mov    -0x4(%ebp),%eax
443e2c:	89 58 14             	mov    %ebx,0x14(%eax)
443e2f:	89 5e 64             	mov    %ebx,0x64(%esi)
443e32:	56                   	push   %esi
443e33:	68 28 4e 44 00       	push   $0x444e28
443e38:	8b 53 08             	mov    0x8(%ebx),%edx
443e3b:	8b c6                	mov    %esi,%eax
443e3d:	e8 ca fc ff ff       	call   0x443b0c
443e42:	eb 6c                	jmp    0x443eb0
443e44:	8b 45 fc             	mov    -0x4(%ebp),%eax
443e47:	89 43 08             	mov    %eax,0x8(%ebx)
443e4a:	8b 46 64             	mov    0x64(%esi),%eax
443e4d:	89 58 14             	mov    %ebx,0x14(%eax)
443e50:	8b 55 fc             	mov    -0x4(%ebp),%edx
443e53:	89 50 18             	mov    %edx,0x18(%eax)
443e56:	8b 55 fc             	mov    -0x4(%ebp),%edx
443e59:	89 42 0c             	mov    %eax,0xc(%edx)
443e5c:	8b 45 fc             	mov    -0x4(%ebp),%eax
443e5f:	89 58 14             	mov    %ebx,0x14(%eax)
443e62:	89 5e 64             	mov    %ebx,0x64(%esi)
443e65:	56                   	push   %esi
443e66:	68 28 4e 44 00       	push   $0x444e28
443e6b:	8b 53 08             	mov    0x8(%ebx),%edx
443e6e:	8b c6                	mov    %esi,%eax
443e70:	e8 97 fc ff ff       	call   0x443b0c
443e75:	8b 46 64             	mov    0x64(%esi),%eax
443e78:	e8 db f8 ff ff       	call   0x443758
443e7d:	d1 f8                	sar    $1,%eax
443e7f:	79 03                	jns    0x443e84
443e81:	83 d0 00             	adc    $0x0,%eax
443e84:	89 46 4c             	mov    %eax,0x4c(%esi)
443e87:	56                   	push   %esi
443e88:	68 ac 51 44 00       	push   $0x4451ac
443e8d:	8b 53 08             	mov    0x8(%ebx),%edx
443e90:	8b c6                	mov    %esi,%eax
443e92:	e8 75 fc ff ff       	call   0x443b0c
443e97:	8b 46 64             	mov    0x64(%esi),%eax
443e9a:	e8 b9 f8 ff ff       	call   0x443758
443e9f:	8b d0                	mov    %eax,%edx
443ea1:	d1 fa                	sar    $1,%edx
443ea3:	79 03                	jns    0x443ea8
443ea5:	83 d2 00             	adc    $0x0,%edx
443ea8:	8b 45 fc             	mov    -0x4(%ebp),%eax
443eab:	e8 d0 f8 ff ff       	call   0x443780
443eb0:	56                   	push   %esi
443eb1:	68 e0 52 44 00       	push   $0x4452e0
443eb6:	33 d2                	xor    %edx,%edx
443eb8:	8b c6                	mov    %esi,%eax
443eba:	e8 4d fc ff ff       	call   0x443b0c
443ebf:	eb 77                	jmp    0x443f38
443ec1:	8b c7                	mov    %edi,%eax
443ec3:	e8 90 f8 ff ff       	call   0x443758
443ec8:	8b d0                	mov    %eax,%edx
443eca:	8b c3                	mov    %ebx,%eax
443ecc:	e8 af f8 ff ff       	call   0x443780
443ed1:	8b 47 14             	mov    0x14(%edi),%eax
443ed4:	89 43 14             	mov    %eax,0x14(%ebx)
443ed7:	8b 47 18             	mov    0x18(%edi),%eax
443eda:	89 43 18             	mov    %eax,0x18(%ebx)
443edd:	85 c0                	test   %eax,%eax
443edf:	74 03                	je     0x443ee4
443ee1:	89 58 0c             	mov    %ebx,0xc(%eax)
443ee4:	8b 47 0c             	mov    0xc(%edi),%eax
443ee7:	89 43 0c             	mov    %eax,0xc(%ebx)
443eea:	85 c0                	test   %eax,%eax
443eec:	74 03                	je     0x443ef1
443eee:	89 58 18             	mov    %ebx,0x18(%eax)
443ef1:	8b 43 14             	mov    0x14(%ebx),%eax
443ef4:	3b 78 08             	cmp    0x8(%eax),%edi
443ef7:	75 03                	jne    0x443efc
443ef9:	89 58 08             	mov    %ebx,0x8(%eax)
443efc:	8b 45 fc             	mov    -0x4(%ebp),%eax
443eff:	89 58 14             	mov    %ebx,0x14(%eax)
443f02:	89 5f 14             	mov    %ebx,0x14(%edi)
443f05:	80 7d 08 00          	cmpb   $0x0,0x8(%ebp)
443f09:	74 16                	je     0x443f21
443f0b:	89 7b 08             	mov    %edi,0x8(%ebx)
443f0e:	33 c0                	xor    %eax,%eax
443f10:	89 47 18             	mov    %eax,0x18(%edi)
443f13:	8b 45 fc             	mov    -0x4(%ebp),%eax
443f16:	89 47 0c             	mov    %eax,0xc(%edi)
443f19:	8b 45 fc             	mov    -0x4(%ebp),%eax
443f1c:	89 78 18             	mov    %edi,0x18(%eax)
443f1f:	eb 17                	jmp    0x443f38
443f21:	8b 45 fc             	mov    -0x4(%ebp),%eax
443f24:	89 43 08             	mov    %eax,0x8(%ebx)
443f27:	8b 45 fc             	mov    -0x4(%ebp),%eax
443f2a:	89 47 18             	mov    %eax,0x18(%edi)
443f2d:	33 c0                	xor    %eax,%eax
443f2f:	89 47 0c             	mov    %eax,0xc(%edi)
443f32:	8b 45 fc             	mov    -0x4(%ebp),%eax
443f35:	89 78 0c             	mov    %edi,0xc(%eax)
443f38:	8b c3                	mov    %ebx,%eax
443f3a:	e8 01 f5 ff ff       	call   0x443440
443f3f:	8b c3                	mov    %ebx,%eax
443f41:	e8 8a f8 ff ff       	call   0x4437d0
443f46:	56                   	push   %esi
443f47:	68 e0 52 44 00       	push   $0x4452e0
443f4c:	33 d2                	xor    %edx,%edx
443f4e:	8b c6                	mov    %esi,%eax
443f50:	e8 b7 fb ff ff       	call   0x443b0c
443f55:	5f                   	pop    %edi
443f56:	5e                   	pop    %esi
443f57:	5b                   	pop    %ebx
443f58:	59                   	pop    %ecx
443f59:	5d                   	pop    %ebp
443f5a:	c2 08 00             	ret    $0x8
443f5d:	8d 40 00             	lea    0x0(%eax),%eax
443f60:	55                   	push   %ebp
443f61:	8b ec                	mov    %esp,%ebp
443f63:	53                   	push   %ebx
443f64:	8b d9                	mov    %ecx,%ebx
443f66:	8b 4d 08             	mov    0x8(%ebp),%ecx
443f69:	85 db                	test   %ebx,%ebx
443f6b:	75 15                	jne    0x443f82
443f6d:	8b 40 64             	mov    0x64(%eax),%eax
443f70:	8b 58 08             	mov    0x8(%eax),%ebx
443f73:	84 c9                	test   %cl,%cl
443f75:	74 0b                	je     0x443f82
443f77:	eb 02                	jmp    0x443f7b
443f79:	8b d8                	mov    %eax,%ebx
443f7b:	8b 43 0c             	mov    0xc(%ebx),%eax
443f7e:	85 c0                	test   %eax,%eax
443f80:	75 f7                	jne    0x443f79
443f82:	84 c9                	test   %cl,%cl
443f84:	74 1b                	je     0x443fa1
443f86:	8b 43 14             	mov    0x14(%ebx),%eax
443f89:	89 42 14             	mov    %eax,0x14(%edx)
443f8c:	89 5a 18             	mov    %ebx,0x18(%edx)
443f8f:	8b 43 0c             	mov    0xc(%ebx),%eax
443f92:	89 42 0c             	mov    %eax,0xc(%edx)
443f95:	85 c0                	test   %eax,%eax
443f97:	74 03                	je     0x443f9c
443f99:	89 50 18             	mov    %edx,0x18(%eax)
443f9c:	89 53 0c             	mov    %edx,0xc(%ebx)
443f9f:	eb 21                	jmp    0x443fc2
443fa1:	89 5a 0c             	mov    %ebx,0xc(%edx)
443fa4:	8b 43 18             	mov    0x18(%ebx),%eax
443fa7:	89 42 18             	mov    %eax,0x18(%edx)
443faa:	85 c0                	test   %eax,%eax
443fac:	74 03                	je     0x443fb1
443fae:	89 50 0c             	mov    %edx,0xc(%eax)
443fb1:	89 53 18             	mov    %edx,0x18(%ebx)
443fb4:	8b 43 14             	mov    0x14(%ebx),%eax