444d4a:	57                   	push   %edi
444d4b:	83 c4 f0             	add    $0xfffffff0,%esp
444d4e:	8b f1                	mov    %ecx,%esi
444d50:	e8 73 ff ff ff       	call   0x444cc8
444d55:	8b d8                	mov    %eax,%ebx
444d57:	85 db                	test   %ebx,%ebx
444d59:	75 10                	jne    0x444d6b
444d5b:	8b c6                	mov    %esi,%eax
444d5d:	33 c9                	xor    %ecx,%ecx
444d5f:	ba 10 00 00 00       	mov    $0x10,%edx
444d64:	e8 03 e0 fb ff       	call   0x402d6c
444d69:	eb 47                	jmp    0x444db2
444d6b:	ba 01 00 00 00       	mov    $0x1,%edx
444d70:	8b c3                	mov    %ebx,%eax
444d72:	e8 3d f8 ff ff       	call   0x4445b4
444d77:	50                   	push   %eax
444d78:	8d 44 24 04          	lea    0x4(%esp),%eax
444d7c:	50                   	push   %eax
444d7d:	ba 02 00 00 00       	mov    $0x2,%edx
444d82:	8b c3                	mov    %ebx,%eax
444d84:	e8 2b f8 ff ff       	call   0x4445b4
444d89:	50                   	push   %eax
444d8a:	ba 01 00 00 00       	mov    $0x1,%edx
444d8f:	8b c3                	mov    %ebx,%eax
444d91:	e8 b2 f7 ff ff       	call   0x444548
444d96:	50                   	push   %eax
444d97:	ba 02 00 00 00       	mov    $0x2,%edx
444d9c:	8b c3                	mov    %ebx,%eax
444d9e:	e8 a5 f7 ff ff       	call   0x444548
444da3:	5a                   	pop    %edx
444da4:	59                   	pop    %ecx
444da5:	e8 32 5a fd ff       	call   0x41a7dc
444daa:	8b fe                	mov    %esi,%edi
444dac:	8b f4                	mov    %esp,%esi
444dae:	a5                   	movsl  %ds:(%esi),%es:(%edi)
444daf:	a5                   	movsl  %ds:(%esi),%es:(%edi)
444db0:	a5                   	movsl  %ds:(%esi),%es:(%edi)
444db1:	a5                   	movsl  %ds:(%esi),%es:(%edi)
444db2:	83 c4 10             	add    $0x10,%esp
444db5:	5f                   	pop    %edi
444db6:	5e                   	pop    %esi
444db7:	5b                   	pop    %ebx
444db8:	c3                   	ret
444db9:	8d 40 00             	lea    0x0(%eax),%eax
444dbc:	e8 fb 06 00 00       	call   0x4454bc
444dc1:	85 c0                	test   %eax,%eax
444dc3:	74 04                	je     0x444dc9
444dc5:	8b 40 04             	mov    0x4(%eax),%eax
444dc8:	c3                   	ret
444dc9:	33 c0                	xor    %eax,%eax
444dcb:	c3                   	ret
444dcc:	55                   	push   %ebp
444dcd:	8b ec                	mov    %esp,%ebp
444dcf:	83 c4 d0             	add    $0xffffffd0,%esp
444dd2:	53                   	push   %ebx
444dd3:	56                   	push   %esi
444dd4:	57                   	push   %edi
444dd5:	88 4d ff             	mov    %cl,-0x1(%ebp)
444dd8:	8b f2                	mov    %edx,%esi
444dda:	8b d8                	mov    %eax,%ebx
444ddc:	80 7e 57 00          	cmpb   $0x0,0x57(%esi)
444de0:	0f 84 ed 01 00 00    	je     0x444fd3
444de6:	8b 43 38             	mov    0x38(%ebx),%eax
444de9:	85 c0                	test   %eax,%eax
444deb:	74 0d                	je     0x444dfa
444ded:	89 70 04             	mov    %esi,0x4(%eax)
444df0:	e8 0f fa ff ff       	call   0x444804
444df5:	e9 d1 01 00 00       	jmp    0x444fcb
444dfa:	8b 43 64             	mov    0x64(%ebx),%eax
444dfd:	83 78 08 00          	cmpl   $0x0,0x8(%eax)
444e01:	0f 85 a3 00 00 00    	jne    0x444eaa
444e07:	8d 55 e0             	lea    -0x20(%ebp),%edx
444e0a:	8b 43 14             	mov    0x14(%ebx),%eax
444e0d:	8b 08                	mov    (%eax),%ecx
444e0f:	ff 51 44             	call   *0x44(%ecx)
444e12:	8d 55 e0             	lea    -0x20(%ebp),%edx
444e15:	8b 43 14             	mov    0x14(%ebx),%eax
444e18:	8b 08                	mov    (%eax),%ecx
444e1a:	ff 91 8c 00 00 00    	call   *0x8c(%ecx)
444e20:	8b 7d e8             	mov    -0x18(%ebp),%edi
444e23:	2b 7d e0             	sub    -0x20(%ebp),%edi
444e26:	8b 45 ec             	mov    -0x14(%ebp),%eax
444e29:	2b 45 e4             	sub    -0x1c(%ebp),%eax
444e2c:	89 45 f0             	mov    %eax,-0x10(%ebp)
444e2f:	8b 43 14             	mov    0x14(%ebx),%eax
444e32:	80 78 5c 00          	cmpb   $0x0,0x5c(%eax)
444e36:	74 1d                	je     0x444e55
444e38:	85 ff                	test   %edi,%edi
444e3a:	75 09                	jne    0x444e45
444e3c:	8b c6                	mov    %esi,%eax
444e3e:	e8 59 71 ff ff       	call   0x43bf9c
444e43:	8b f8                	mov    %eax,%edi
444e45:	83 7d f0 00          	cmpl   $0x0,-0x10(%ebp)
444e49:	75 0a                	jne    0x444e55
444e4b:	8b c6                	mov    %esi,%eax
444e4d:	e8 36 71 ff ff       	call   0x43bf88
444e52:	89 45 f0             	mov    %eax,-0x10(%ebp)
444e55:	8b 45 f0             	mov    -0x10(%ebp),%eax
444e58:	50                   	push   %eax
444e59:	8d 45 d0             	lea    -0x30(%ebp),%eax
444e5c:	50                   	push   %eax
444e5d:	8b cf                	mov    %edi,%ecx
444e5f:	8b 55 e4             	mov    -0x1c(%ebp),%edx
444e62:	8b 45 e0             	mov    -0x20(%ebp),%eax
444e65:	e8 72 59 fd ff       	call   0x41a7dc
444e6a:	56                   	push   %esi
444e6b:	8d 75 d0             	lea    -0x30(%ebp),%esi
444e6e:	8d 7d e0             	lea    -0x20(%ebp),%edi
444e71:	a5                   	movsl  %ds:(%esi),%es:(%edi)
444e72:	a5                   	movsl  %ds:(%esi),%es:(%edi)
444e73:	a5                   	movsl  %ds:(%esi),%es:(%edi)
444e74:	a5                   	movsl  %ds:(%esi),%es:(%edi)
444e75:	5e                   	pop    %esi
444e76:	8d 4d e0             	lea    -0x20(%ebp),%ecx
444e79:	8b d6                	mov    %esi,%edx
444e7b:	8b c3                	mov    %ebx,%eax
444e7d:	8b 38                	mov    (%eax),%edi
444e7f:	ff 17                	call   *(%edi)
444e81:	8d 55 e0             	lea    -0x20(%ebp),%edx
444e84:	8b c6                	mov    %esi,%eax
444e86:	e8 3d 6b ff ff       	call   0x43b9c8
444e8b:	8b cb                	mov    %ebx,%ecx
444e8d:	b2 01                	mov    $0x1,%dl
444e8f:	a1 70 8b 43 00       	mov    0x438b70,%eax
444e94:	e8 97 f5 ff ff       	call   0x444430
444e99:	8b 53 64             	mov    0x64(%ebx),%edx
444e9c:	89 42 08             	mov    %eax,0x8(%edx)
444e9f:	89 50 14             	mov    %edx,0x14(%eax)
444ea2:	89 70 04             	mov    %esi,0x4(%eax)
444ea5:	e9 21 01 00 00       	jmp    0x444fcb
444eaa:	8a 45 ff             	mov    -0x1(%ebp),%al
444ead:	84 c0                	test   %al,%al
444eaf:	74 04                	je     0x444eb5
444eb1:	2c 05                	sub    $0x5,%al
444eb3:	75 04                	jne    0x444eb9
444eb5:	c6 45 ff 04          	movb   $0x4,-0x1(%ebp)
444eb9:	8b d6                	mov    %esi,%edx
444ebb:	8b c3                	mov    %ebx,%eax
444ebd:	e8 06 fe ff ff       	call   0x444cc8
444ec2:	85 c0                	test   %eax,%eax
444ec4:	74 09                	je     0x444ecf
444ec6:	8b d0                	mov    %eax,%edx
444ec8:	8b c3                	mov    %ebx,%eax
444eca:	e8 25 0e 00 00       	call   0x445cf4
444ecf:	8b 55 08             	mov    0x8(%ebp),%edx
444ed2:	8b c3                	mov    %ebx,%eax
444ed4:	e8 ef fd ff ff       	call   0x444cc8
444ed9:	89 45 f8             	mov    %eax,-0x8(%ebp)
444edc:	33 c0                	xor    %eax,%eax
444ede:	8a 45 ff             	mov    -0x1(%ebp),%al
444ee1:	8a 80 54 dd 48 00    	mov    0x48dd54(%eax),%al
444ee7:	88 45 f7             	mov    %al,-0x9(%ebp)
444eea:	8b 43 64             	mov    0x64(%ebx),%eax
444eed:	e8 62 f5 ff ff       	call   0x444454
444ef2:	48                   	dec    %eax
444ef3:	75 6a                	jne    0x444f5f
444ef5:	8b 7b 64             	mov    0x64(%ebx),%edi
444ef8:	8a 45 f7             	mov    -0x9(%ebp),%al
444efb:	88 47 10             	mov    %al,0x10(%edi)
444efe:	8a 45 f7             	mov    -0x9(%ebp),%al
444f01:	fe c8                	dec    %al
444f03:	74 06                	je     0x444f0b
444f05:	fe c8                	dec    %al
444f07:	74 2d                	je     0x444f36
444f09:	eb 54                	jmp    0x444f5f
444f0b:	8b 47 08             	mov    0x8(%edi),%eax
444f0e:	ba 02 00 00 00       	mov    $0x2,%edx
444f13:	e8 9c f6 ff ff       	call   0x4445b4
444f18:	8b d0                	mov    %eax,%edx
444f1a:	8b c7                	mov    %edi,%eax
444f1c:	e8 83 fa ff ff       	call   0x4449a4
444f21:	8b 43 64             	mov    0x64(%ebx),%eax
444f24:	8b 40 08             	mov    0x8(%eax),%eax
444f27:	ba 01 00 00 00       	mov    $0x1,%edx
444f2c:	e8 83 f6 ff ff       	call   0x4445b4
444f31:	89 43 68             	mov    %eax,0x68(%ebx)
444f34:	eb 29                	jmp    0x444f5f
444f36:	8b 47 08             	mov    0x8(%edi),%eax
444f39:	ba 01 00 00 00       	mov    $0x1,%edx
444f3e:	e8 71 f6 ff ff       	call   0x4445b4
444f43:	8b d0                	mov    %eax,%edx
444f45:	8b c7                	mov    %edi,%eax
444f47:	e8 58 fa ff ff       	call   0x4449a4
444f4c:	8b 43 64             	mov    0x64(%ebx),%eax
444f4f:	8b 40 08             	mov    0x8(%eax),%eax
444f52:	ba 02 00 00 00       	mov    $0x2,%edx
444f57:	e8 58 f6 ff ff       	call   0x4445b4
444f5c:	89 43 68             	mov    %eax,0x68(%ebx)
444f5f:	8b cb                	mov    %ebx,%ecx
444f61:	b2 01                	mov    $0x1,%dl
444f63:	a1 70 8b 43 00       	mov    0x438b70,%eax
444f68:	e8 c3 f4 ff ff       	call   0x444430
444f6d:	89 70 04             	mov    %esi,0x4(%eax)
444f70:	83 7d f8 00          	cmpl   $0x0,-0x8(%ebp)
444f74:	74 0b                	je     0x444f81
444f76:	8b 55 f8             	mov    -0x8(%ebp),%edx
444f79:	8b 52 14             	mov    0x14(%edx),%edx
444f7c:	8a 52 10             	mov    0x10(%edx),%dl
444f7f:	eb 06                	jmp    0x444f87
444f81:	8b 53 64             	mov    0x64(%ebx),%edx
444f84:	8a 52 10             	mov    0x10(%edx),%dl
444f87:	80 7d f7 00          	cmpb   $0x0,-0x9(%ebp)
444f8b:	75 03                	jne    0x444f90
444f8d:	88 55 f7             	mov    %dl,-0x9(%ebp)
444f90:	3a 55 f7             	cmp    -0x9(%ebp),%dl
444f93:	75 1a                	jne    0x444faf
444f95:	33 d2                	xor    %edx,%edx
444f97:	8a 55 ff             	mov    -0x1(%ebp),%dl
444f9a:	8a 92 5c dd 48 00    	mov    0x48dd5c(%edx),%dl
444fa0:	52                   	push   %edx
444fa1:	8b 4d f8             	mov    -0x8(%ebp),%ecx
444fa4:	8b d0                	mov    %eax,%edx
444fa6:	8b c3                	mov    %ebx,%eax
444fa8:	e8 d7 01 00 00       	call   0x445184
444fad:	eb 1c                	jmp    0x444fcb
444faf:	8a 55 f7             	mov    -0x9(%ebp),%dl
444fb2:	52                   	push   %edx
444fb3:	33 d2                	xor    %edx,%edx
444fb5:	8a 55 ff             	mov    -0x1(%ebp),%dl
444fb8:	8a 92 5c dd 48 00    	mov    0x48dd5c(%edx),%dl
444fbe:	52                   	push   %edx
444fbf:	8b 4d f8             	mov    -0x8(%ebp),%ecx
444fc2:	8b d0                	mov    %eax,%edx
444fc4:	8b c3                	mov    %ebx,%eax
444fc6:	e8 11 00 00 00       	call   0x444fdc
444fcb:	8b 43 14             	mov    0x14(%ebx),%eax
444fce:	8b 10                	mov    (%eax),%edx
444fd0:	ff 52 7c             	call   *0x7c(%edx)
444fd3:	5f                   	pop    %edi
444fd4:	5e                   	pop    %esi
444fd5:	5b                   	pop    %ebx
444fd6:	8b e5                	mov    %ebp,%esp
444fd8:	5d                   	pop    %ebp
444fd9:	c2 04 00             	ret    $0x4
444fdc:	55                   	push   %ebp
444fdd:	8b ec                	mov    %esp,%ebp
444fdf:	51                   	push   %ecx
444fe0:	53                   	push   %ebx
444fe1:	56                   	push   %esi
444fe2:	57                   	push   %edi
444fe3:	8b f9                	mov    %ecx,%edi
444fe5:	89 55 fc             	mov    %edx,-0x4(%ebp)
444fe8:	8b f0                	mov    %eax,%esi
444fea:	8b ce                	mov    %esi,%ecx
444fec:	b2 01                	mov    $0x1,%dl
444fee:	a1 70 8b 43 00       	mov    0x438b70,%eax
444ff3:	e8 38 f4 ff ff       	call   0x444430
444ff8:	8b d8                	mov    %eax,%ebx
444ffa:	8a 45 0c             	mov    0xc(%ebp),%al
444ffd:	88 43 10             	mov    %al,0x10(%ebx)
445000:	85 ff                	test   %edi,%edi
445002:	0f 85 dd 00 00 00    	jne    0x4450e5
445008:	8b 56 68             	mov    0x68(%esi),%edx
44500b:	8b c3                	mov    %ebx,%eax
44500d:	e8 92 f9 ff ff       	call   0x4449a4
445012:	8b 46 64             	mov    0x64(%esi),%eax
445015:	e8 62 f9 ff ff       	call   0x44497c
44501a:	89 46 68             	mov    %eax,0x68(%esi)
44501d:	8a 45 0c             	mov    0xc(%ebp),%al
445020:	88 46 48             	mov    %al,0x48(%esi)
445023:	33 c0                	xor    %eax,%eax
445025:	89 46 40             	mov    %eax,0x40(%esi)
445028:	c7 46 44 00 00 e0 3f 	movl   $0x3fe00000,0x44(%esi)
44502f:	80 7d 08 00          	cmpb   $0x0,0x8(%ebp)
445033:	74 33                	je     0x445068
445035:	8b 46 64             	mov    0x64(%esi),%eax
445038:	89 43 08             	mov    %eax,0x8(%ebx)
44503b:	8b 46 64             	mov    0x64(%esi),%eax
44503e:	89 58 14             	mov    %ebx,0x14(%eax)
445041:	8b 55 fc             	mov    -0x4(%ebp),%edx
445044:	89 50 0c             	mov    %edx,0xc(%eax)
445047:	8b 55 fc             	mov    -0x4(%ebp),%edx
44504a:	89 42 18             	mov    %eax,0x18(%edx)
44504d:	8b 45 fc             	mov    -0x4(%ebp),%eax
445050:	89 58 14             	mov    %ebx,0x14(%eax)
445053:	89 5e 64             	mov    %ebx,0x64(%esi)
445056:	56                   	push   %esi
445057:	68 4c 60 44 00       	push   $0x44604c
44505c:	8b 53 08             	mov    0x8(%ebx),%edx
44505f:	8b c6                	mov    %esi,%eax
445061:	e8 ca fc ff ff       	call   0x444d30
445066:	eb 6c                	jmp    0x4450d4
445068:	8b 45 fc             	mov    -0x4(%ebp),%eax
44506b:	89 43 08             	mov    %eax,0x8(%ebx)
44506e:	8b 46 64             	mov    0x64(%esi),%eax
445071:	89 58 14             	mov    %ebx,0x14(%eax)
445074:	8b 55 fc             	mov    -0x4(%ebp),%edx
445077:	89 50 18             	mov    %edx,0x18(%eax)
44507a:	8b 55 fc             	mov    -0x4(%ebp),%edx
44507d:	89 42 0c             	mov    %eax,0xc(%edx)
445080:	8b 45 fc             	mov    -0x4(%ebp),%eax
445083:	89 58 14             	mov    %ebx,0x14(%eax)
445086:	89 5e 64             	mov    %ebx,0x64(%esi)
445089:	56                   	push   %esi
44508a:	68 4c 60 44 00       	push   $0x44604c
44508f:	8b 53 08             	mov    0x8(%ebx),%edx
445092:	8b c6                	mov    %esi,%eax
445094:	e8 97 fc ff ff       	call   0x444d30
445099:	8b 46 64             	mov    0x64(%esi),%eax
44509c:	e8 db f8 ff ff       	call   0x44497c
4450a1:	d1 f8                	sar    $1,%eax
4450a3:	79 03                	jns    0x4450a8
4450a5:	83 d0 00             	adc    $0x0,%eax
4450a8:	89 46 4c             	mov    %eax,0x4c(%esi)
4450ab:	56                   	push   %esi
4450ac:	68 d0 63 44 00       	push   $0x4463d0
4450b1:	8b 53 08             	mov    0x8(%ebx),%edx
4450b4:	8b c6                	mov    %esi,%eax
4450b6:	e8 75 fc ff ff       	call   0x444d30
4450bb:	8b 46 64             	mov    0x64(%esi),%eax
4450be:	e8 b9 f8 ff ff       	call   0x44497c
4450c3:	8b d0                	mov    %eax,%edx
4450c5:	d1 fa                	sar    $1,%edx
4450c7:	79 03                	jns    0x4450cc
4450c9:	83 d2 00             	adc    $0x0,%edx
4450cc:	8b 45 fc             	mov    -0x4(%ebp),%eax
4450cf:	e8 d0 f8 ff ff       	call   0x4449a4
4450d4:	56                   	push   %esi
4450d5:	68 04 65 44 00       	push   $0x446504
4450da:	33 d2                	xor    %edx,%edx
4450dc:	8b c6                	mov    %esi,%eax
4450de:	e8 4d fc ff ff       	call   0x444d30
4450e3:	eb 77                	jmp    0x44515c
4450e5:	8b c7                	mov    %edi,%eax
4450e7:	e8 90 f8 ff ff       	call   0x44497c
4450ec:	8b d0                	mov    %eax,%edx
4450ee:	8b c3                	mov    %ebx,%eax
4450f0:	e8 af f8 ff ff       	call   0x4449a4
4450f5:	8b 47 14             	mov    0x14(%edi),%eax
4450f8:	89 43 14             	mov    %eax,0x14(%ebx)
4450fb:	8b 47 18             	mov    0x18(%edi),%eax
4450fe:	89 43 18             	mov    %eax,0x18(%ebx)
445101:	85 c0                	test   %eax,%eax
445103:	74 03                	je     0x445108
445105:	89 58 0c             	mov    %ebx,0xc(%eax)
445108:	8b 47 0c             	mov    0xc(%edi),%eax
44510b:	89 43 0c             	mov    %eax,0xc(%ebx)
44510e:	85 c0                	test   %eax,%eax
445110:	74 03                	je     0x445115
445112:	89 58 18             	mov    %ebx,0x18(%eax)
445115:	8b 43 14             	mov    0x14(%ebx),%eax
445118:	3b 78 08             	cmp    0x8(%eax),%edi
44511b:	75 03                	jne    0x445120
44511d:	89 58 08             	mov    %ebx,0x8(%eax)
445120:	8b 45 fc             	mov    -0x4(%ebp),%eax
445123:	89 58 14             	mov    %ebx,0x14(%eax)
445126:	89 5f 14             	mov    %ebx,0x14(%edi)
445129:	80 7d 08 00          	cmpb   $0x0,0x8(%ebp)
44512d:	74 16                	je     0x445145
44512f:	89 7b 08             	mov    %edi,0x8(%ebx)