443d39:	8d 4d ec             	lea    -0x14(%ebp),%ecx
443d3c:	8b 45 fc             	mov    -0x4(%ebp),%eax
443d3f:	8b 50 04             	mov    0x4(%eax),%edx
443d42:	8b 45 fc             	mov    -0x4(%ebp),%eax
443d45:	8b 40 1c             	mov    0x1c(%eax),%eax
443d48:	8b 18                	mov    (%eax),%ebx
443d4a:	ff 13                	call   *(%ebx)
443d4c:	8d 55 ec             	lea    -0x14(%ebp),%edx
443d4f:	8b 45 fc             	mov    -0x4(%ebp),%eax
443d52:	8b 40 04             	mov    0x4(%eax),%eax
443d55:	e8 82 5a ff ff       	call   0x4397dc
443d5a:	5f                   	pop    %edi
443d5b:	5e                   	pop    %esi
443d5c:	5b                   	pop    %ebx
443d5d:	8b e5                	mov    %ebp,%esp
443d5f:	5d                   	pop    %ebp
443d60:	c3                   	ret
443d61:	8d 40 00             	lea    0x0(%eax),%eax
443d64:	53                   	push   %ebx
443d65:	8b d8                	mov    %eax,%ebx
443d67:	8b c3                	mov    %ebx,%eax
443d69:	e8 d6 fa ff ff       	call   0x443844
443d6e:	84 c0                	test   %al,%al
443d70:	75 14                	jne    0x443d86
443d72:	8b c3                	mov    %ebx,%eax
443d74:	e8 4b fa ff ff       	call   0x4437c4
443d79:	84 c0                	test   %al,%al
443d7b:	74 09                	je     0x443d86
443d7d:	8b c3                	mov    %ebx,%eax
443d7f:	e8 f8 fa ff ff       	call   0x44387c
443d84:	5b                   	pop    %ebx
443d85:	c3                   	ret
443d86:	8b 43 20             	mov    0x20(%ebx),%eax
443d89:	5b                   	pop    %ebx
443d8a:	c3                   	ret
443d8b:	90                   	nop
443d8c:	89 50 20             	mov    %edx,0x20(%eax)
443d8f:	c3                   	ret
443d90:	8b 40 08             	mov    0x8(%eax),%eax
443d93:	eb 02                	jmp    0x443d97
443d95:	8b c2                	mov    %edx,%eax
443d97:	8b 50 0c             	mov    0xc(%eax),%edx
443d9a:	85 d2                	test   %edx,%edx
443d9c:	75 f7                	jne    0x443d95
443d9e:	c3                   	ret
443d9f:	90                   	nop
443da0:	53                   	push   %ebx
443da1:	56                   	push   %esi
443da2:	57                   	push   %edi
443da3:	8b fa                	mov    %edx,%edi
443da5:	8b d8                	mov    %eax,%ebx
443da7:	8b d7                	mov    %edi,%edx
443da9:	8b c3                	mov    %ebx,%eax
443dab:	e8 dc ff ff ff       	call   0x443d8c
443db0:	8b 5b 08             	mov    0x8(%ebx),%ebx
443db3:	85 db                	test   %ebx,%ebx
443db5:	74 24                	je     0x443ddb
443db7:	8b c3                	mov    %ebx,%eax
443db9:	e8 4e fa ff ff       	call   0x44380c
443dbe:	85 c0                	test   %eax,%eax
443dc0:	7e 12                	jle    0x443dd4
443dc2:	8b c3                	mov    %ebx,%eax
443dc4:	e8 c7 ff ff ff       	call   0x443d90
443dc9:	8b f0                	mov    %eax,%esi
443dcb:	8b d7                	mov    %edi,%edx
443dcd:	8b c6                	mov    %esi,%eax
443dcf:	e8 cc ff ff ff       	call   0x443da0
443dd4:	8b 5b 0c             	mov    0xc(%ebx),%ebx
443dd7:	85 db                	test   %ebx,%ebx
443dd9:	75 dc                	jne    0x443db7
443ddb:	5f                   	pop    %edi
443ddc:	5e                   	pop    %esi
443ddd:	5b                   	pop    %ebx
443dde:	c3                   	ret
443ddf:	90                   	nop
443de0:	53                   	push   %ebx
443de1:	56                   	push   %esi
443de2:	57                   	push   %edi
443de3:	8b f0                	mov    %eax,%esi
443de5:	8b 5e 08             	mov    0x8(%esi),%ebx
443de8:	85 db                	test   %ebx,%ebx
443dea:	74 4f                	je     0x443e3b
443dec:	8b c3                	mov    %ebx,%eax
443dee:	e8 71 ff ff ff       	call   0x443d64
443df3:	8b f8                	mov    %eax,%edi
443df5:	8b c3                	mov    %ebx,%eax
443df7:	e8 80 fa ff ff       	call   0x44387c
443dfc:	3b f8                	cmp    %eax,%edi
443dfe:	7c 14                	jl     0x443e14
443e00:	8b c3                	mov    %ebx,%eax
443e02:	e8 5d ff ff ff       	call   0x443d64
443e07:	8b f8                	mov    %eax,%edi
443e09:	8b c6                	mov    %esi,%eax
443e0b:	e8 b4 fa ff ff       	call   0x4438c4
443e10:	3b f8                	cmp    %eax,%edi
443e12:	7e 19                	jle    0x443e2d
443e14:	8b c6                	mov    %esi,%eax
443e16:	e8 2d fc ff ff       	call   0x443a48
443e1b:	8b 7e 1c             	mov    0x1c(%esi),%edi
443e1e:	57                   	push   %edi
443e1f:	68 1c 5c 44 00       	push   $0x445c1c
443e24:	8b d6                	mov    %esi,%edx
443e26:	8b c7                	mov    %edi,%eax
443e28:	e8 f3 02 00 00       	call   0x444120
443e2d:	8b c3                	mov    %ebx,%eax
443e2f:	e8 ac ff ff ff       	call   0x443de0
443e34:	8b 5b 0c             	mov    0xc(%ebx),%ebx
443e37:	85 db                	test   %ebx,%ebx
443e39:	75 b1                	jne    0x443dec
443e3b:	5f                   	pop    %edi
443e3c:	5e                   	pop    %esi
443e3d:	5b                   	pop    %ebx
443e3e:	c3                   	ret
443e3f:	90                   	nop
443e40:	8b 40 0c             	mov    0xc(%eax),%eax
443e43:	e8 60 f9 ff ff       	call   0x4437a8
443e48:	c3                   	ret
443e49:	8d 40 00             	lea    0x0(%eax),%eax
443e4c:	53                   	push   %ebx
443e4d:	8b 58 18             	mov    0x18(%eax),%ebx
443e50:	eb 03                	jmp    0x443e55
443e52:	8b 5b 18             	mov    0x18(%ebx),%ebx
443e55:	85 db                	test   %ebx,%ebx
443e57:	74 0b                	je     0x443e64
443e59:	8b c3                	mov    %ebx,%eax
443e5b:	e8 e4 f9 ff ff       	call   0x443844
443e60:	84 c0                	test   %al,%al
443e62:	74 ee                	je     0x443e52
443e64:	8b c3                	mov    %ebx,%eax
443e66:	5b                   	pop    %ebx
443e67:	c3                   	ret
443e68:	8b 40 08             	mov    0x8(%eax),%eax
443e6b:	e8 38 f9 ff ff       	call   0x4437a8
443e70:	c3                   	ret
443e71:	8d 40 00             	lea    0x0(%eax),%eax
443e74:	55                   	push   %ebp
443e75:	8b ec                	mov    %esp,%ebp
443e77:	83 c4 f4             	add    $0xfffffff4,%esp
443e7a:	53                   	push   %ebx
443e7b:	56                   	push   %esi
443e7c:	57                   	push   %edi
443e7d:	84 d2                	test   %dl,%dl
443e7f:	74 08                	je     0x443e89
443e81:	83 c4 f0             	add    $0xfffffff0,%esp
443e84:	e8 8f fd fb ff       	call   0x403c18
443e89:	89 4d f4             	mov    %ecx,-0xc(%ebp)
443e8c:	88 55 fb             	mov    %dl,-0x5(%ebp)
443e8f:	89 45 fc             	mov    %eax,-0x4(%ebp)
443e92:	33 d2                	xor    %edx,%edx
443e94:	8b 45 fc             	mov    -0x4(%ebp),%eax
443e97:	e8 28 fa fb ff       	call   0x4038c4
443e9c:	8b 45 fc             	mov    -0x4(%ebp),%eax
443e9f:	c7 40 0c 04 00 00 00 	movl   $0x4,0xc(%eax)
443ea6:	8b 45 fc             	mov    -0x4(%ebp),%eax
443ea9:	8b 55 f4             	mov    -0xc(%ebp),%edx
443eac:	89 50 14             	mov    %edx,0x14(%eax)
443eaf:	8b 45 fc             	mov    -0x4(%ebp),%eax
443eb2:	c7 40 70 00 00 08 00 	movl   $0x80000,0x70(%eax)
443eb9:	8b 45 fc             	mov    -0x4(%ebp),%eax
443ebc:	c7 40 18 0c 00 00 00 	movl   $0xc,0x18(%eax)
443ec3:	8b 45 f4             	mov    -0xc(%ebp),%eax
443ec6:	0f b6 40 5b          	movzbl 0x5b(%eax),%eax
443eca:	3c 01                	cmp    $0x1,%al
443ecc:	74 04                	je     0x443ed2
443ece:	3c 02                	cmp    $0x2,%al
443ed0:	75 04                	jne    0x443ed6
443ed2:	33 c0                	xor    %eax,%eax
443ed4:	eb 02                	jmp    0x443ed8
443ed6:	b0 01                	mov    $0x1,%al
443ed8:	8b 55 fc             	mov    -0x4(%ebp),%edx
443edb:	88 42 1c             	mov    %al,0x1c(%edx)
443ede:	8b 4d fc             	mov    -0x4(%ebp),%ecx
443ee1:	b2 01                	mov    $0x1,%dl
443ee3:	a1 74 65 43 00       	mov    0x436574,%eax
443ee8:	e8 fb f8 ff ff       	call   0x4437e8
443eed:	8b 55 fc             	mov    -0x4(%ebp),%edx
443ef0:	89 42 64             	mov    %eax,0x64(%edx)
443ef3:	b2 01                	mov    $0x1,%dl
443ef5:	a1 0c 18 42 00       	mov    0x42180c,%eax
443efa:	e8 71 f7 fd ff       	call   0x423670
443eff:	8b d8                	mov    %eax,%ebx
443f01:	8b 45 fc             	mov    -0x4(%ebp),%eax
443f04:	89 58 10             	mov    %ebx,0x10(%eax)
443f07:	ba ff ff ff 00       	mov    $0xffffff,%edx
443f0c:	33 c0                	xor    %eax,%eax
443f0e:	e8 59 66 fe ff       	call   0x42a56c
443f13:	8b d0                	mov    %eax,%edx
443f15:	8b c3                	mov    %ebx,%eax
443f17:	e8 d0 f8 fd ff       	call   0x4237ec
443f1c:	8b 45 fc             	mov    -0x4(%ebp),%eax
443f1f:	e8 24 01 00 00       	call   0x444048
443f24:	33 c0                	xor    %eax,%eax
443f26:	55                   	push   %ebp
443f27:	68 81 3f 44 00       	push   $0x443f81
443f2c:	64 ff 30             	push   %fs:(%eax)
443f2f:	64 89 20             	mov    %esp,%fs:(%eax)
443f32:	8b 45 f4             	mov    -0xc(%ebp),%eax
443f35:	e8 3a 9d ff ff       	call   0x43dc74
443f3a:	8b d8                	mov    %eax,%ebx
443f3c:	4b                   	dec    %ebx
443f3d:	85 db                	test   %ebx,%ebx
443f3f:	7c 1f                	jl     0x443f60
443f41:	43                   	inc    %ebx
443f42:	33 f6                	xor    %esi,%esi
443f44:	6a 00                	push   $0x0
443f46:	8b d6                	mov    %esi,%edx
443f48:	8b 45 f4             	mov    -0xc(%ebp),%eax
443f4b:	e8 e8 9c ff ff       	call   0x43dc38
443f50:	8b d0                	mov    %eax,%edx
443f52:	b1 03                	mov    $0x3,%cl
443f54:	8b 45 fc             	mov    -0x4(%ebp),%eax
443f57:	8b 38                	mov    (%eax),%edi
443f59:	ff 57 0c             	call   *0xc(%edi)
443f5c:	46                   	inc    %esi
443f5d:	4b                   	dec    %ebx
443f5e:	75 e4                	jne    0x443f44
443f60:	8b 45 fc             	mov    -0x4(%ebp),%eax
443f63:	8b 40 64             	mov    0x64(%eax),%eax
443f66:	e8 dd fa ff ff       	call   0x443a48
443f6b:	33 c0                	xor    %eax,%eax
443f6d:	5a                   	pop    %edx
443f6e:	59                   	pop    %ecx
443f6f:	59                   	pop    %ecx
443f70:	64 89 10             	mov    %edx,%fs:(%eax)
443f73:	68 88 3f 44 00       	push   $0x443f88
443f78:	8b 45 fc             	mov    -0x4(%ebp),%eax
443f7b:	e8 cc 00 00 00       	call   0x44404c
443f80:	c3                   	ret
443f81:	e9 02 01 fc ff       	jmp    0x404088
443f86:	eb f0                	jmp    0x443f78
443f88:	8b 45 f4             	mov    -0xc(%ebp),%eax
443f8b:	f6 40 1c 10          	testb  $0x10,0x1c(%eax)
443f8f:	75 28                	jne    0x443fb9
443f91:	8b 45 fc             	mov    -0x4(%ebp),%eax
443f94:	8b 55 fc             	mov    -0x4(%ebp),%edx
443f97:	8b 52 14             	mov    0x14(%edx),%edx
443f9a:	8b 4a 38             	mov    0x38(%edx),%ecx
443f9d:	89 48 30             	mov    %ecx,0x30(%eax)
443fa0:	8b 4a 3c             	mov    0x3c(%edx),%ecx
443fa3:	89 48 34             	mov    %ecx,0x34(%eax)
443fa6:	8b 45 fc             	mov    -0x4(%ebp),%eax
443fa9:	8b 40 14             	mov    0x14(%eax),%eax
443fac:	8b 55 fc             	mov    -0x4(%ebp),%edx
443faf:	89 50 3c             	mov    %edx,0x3c(%eax)
443fb2:	c7 40 38 2c 5c 44 00 	movl   $0x445c2c,0x38(%eax)
443fb9:	8b 45 fc             	mov    -0x4(%ebp),%eax
443fbc:	80 7d fb 00          	cmpb   $0x0,-0x5(%ebp)
443fc0:	74 0f                	je     0x443fd1
443fc2:	e8 a9 fc fb ff       	call   0x403c70
443fc7:	64 8f 05 00 00 00 00 	pop    %fs:0x0
443fce:	83 c4 0c             	add    $0xc,%esp
443fd1:	8b 45 fc             	mov    -0x4(%ebp),%eax
443fd4:	5f                   	pop    %edi
443fd5:	5e                   	pop    %esi
443fd6:	5b                   	pop    %ebx
443fd7:	8b e5                	mov    %ebp,%esp
443fd9:	5d                   	pop    %ebp
443fda:	c3                   	ret
443fdb:	90                   	nop
443fdc:	53                   	push   %ebx
443fdd:	56                   	push   %esi
443fde:	e8 dd fc fb ff       	call   0x403cc0
443fe3:	8b da                	mov    %edx,%ebx
443fe5:	8b f0                	mov    %eax,%esi
443fe7:	83 7e 30 00          	cmpl   $0x0,0x30(%esi)
443feb:	74 17                	je     0x444004
443fed:	8b 46 14             	mov    0x14(%esi),%eax
443ff0:	8b 56 30             	mov    0x30(%esi),%edx
443ff3:	89 50 38             	mov    %edx,0x38(%eax)
443ff6:	8b 56 34             	mov    0x34(%esi),%edx
443ff9:	89 50 3c             	mov    %edx,0x3c(%eax)
443ffc:	33 c0                	xor    %eax,%eax
443ffe:	89 46 30             	mov    %eax,0x30(%esi)
444001:	89 46 34             	mov    %eax,0x34(%esi)
444004:	8b 56 64             	mov    0x64(%esi),%edx
444007:	8b c6                	mov    %esi,%eax
444009:	e8 62 12 00 00       	call   0x445270
44400e:	8b 46 10             	mov    0x10(%esi),%eax
444011:	e8 de f8 fb ff       	call   0x4038f4
444016:	8b d3                	mov    %ebx,%edx
444018:	80 e2 fc             	and    $0xfc,%dl
44401b:	8b c6                	mov    %esi,%eax
44401d:	e8 c2 f8 fb ff       	call   0x4038e4
444022:	84 db                	test   %bl,%bl
444024:	7e 07                	jle    0x44402d
444026:	8b c6                	mov    %esi,%eax
444028:	e8 3b fc fb ff       	call   0x403c68
44402d:	5e                   	pop    %esi
44402e:	5b                   	pop    %ebx
44402f:	c3                   	ret
444030:	8b 40 14             	mov    0x14(%eax),%eax
444033:	0f b6 40 5b          	movzbl 0x5b(%eax),%eax
444037:	48                   	dec    %eax
444038:	2c 02                	sub    $0x2,%al
44403a:	73 04                	jae    0x444040
44403c:	83 01 0c             	addl   $0xc,(%ecx)
44403f:	c3                   	ret
444040:	83 41 04 0c          	addl   $0xc,0x4(%ecx)
444044:	c3                   	ret
444045:	8d 40 00             	lea    0x0(%eax),%eax
444048:	ff 40 6c             	incl   0x6c(%eax)
44404b:	c3                   	ret
44404c:	ff 48 6c             	decl   0x6c(%eax)
44404f:	83 78 6c 00          	cmpl   $0x0,0x6c(%eax)
444053:	7f 0a                	jg     0x44405f
444055:	33 d2                	xor    %edx,%edx
444057:	89 50 6c             	mov    %edx,0x6c(%eax)
44405a:	e8 95 1b 00 00       	call   0x445bf4
44405f:	c3                   	ret
444060:	55                   	push   %ebp
444061:	8b ec                	mov    %esp,%ebp
444063:	53                   	push   %ebx
444064:	8b d8                	mov    %eax,%ebx
444066:	8b 45 08             	mov    0x8(%ebp),%eax
444069:	8b 40 fc             	mov    -0x4(%eax),%eax
44406c:	3b 43 04             	cmp    0x4(%ebx),%eax
44406f:	75 09                	jne    0x44407a
444071:	8b 45 08             	mov    0x8(%ebp),%eax
444074:	89 58 f8             	mov    %ebx,-0x8(%eax)
444077:	5b                   	pop    %ebx
444078:	5d                   	pop    %ebp
444079:	c3                   	ret
44407a:	8b 45 08             	mov    0x8(%ebp),%eax
44407d:	83 78 f8 00          	cmpl   $0x0,-0x8(%eax)
444081:	75 13                	jne    0x444096
444083:	83 7b 0c 00          	cmpl   $0x0,0xc(%ebx)
444087:	74 0d                	je     0x444096
444089:	8b 45 08             	mov    0x8(%ebp),%eax
44408c:	50                   	push   %eax
44408d:	8b 43 0c             	mov    0xc(%ebx),%eax
444090:	e8 cb ff ff ff       	call   0x444060
444095:	59                   	pop    %ecx
444096:	8b 45 08             	mov    0x8(%ebp),%eax
444099:	83 78 f8 00          	cmpl   $0x0,-0x8(%eax)
44409d:	75 13                	jne    0x4440b2
44409f:	83 7b 08 00          	cmpl   $0x0,0x8(%ebx)
4440a3:	74 0d                	je     0x4440b2
4440a5:	8b 45 08             	mov    0x8(%ebp),%eax
4440a8:	50                   	push   %eax
4440a9:	8b 43 08             	mov    0x8(%ebx),%eax
4440ac:	e8 af ff ff ff       	call   0x444060
4440b1:	59                   	pop    %ecx
4440b2:	5b                   	pop    %ebx
4440b3:	5d                   	pop    %ebp
4440b4:	c3                   	ret
4440b5:	8d 40 00             	lea    0x0(%eax),%eax
4440b8:	55                   	push   %ebp
4440b9:	8b ec                	mov    %esp,%ebp
4440bb:	83 c4 f8             	add    $0xfffffff8,%esp
4440be:	89 55 fc             	mov    %edx,-0x4(%ebp)