445d9c:	89 45 fc             	mov    %eax,-0x4(%ebp)
445d9f:	8b 5d f8             	mov    -0x8(%ebp),%ebx
445da2:	8b 5b 04             	mov    0x4(%ebx),%ebx
445da5:	85 db                	test   %ebx,%ebx
445da7:	75 14                	jne    0x445dbd
445da9:	8d 45 b0             	lea    -0x50(%ebp),%eax
445dac:	50                   	push   %eax
445dad:	8b 45 fc             	mov    -0x4(%ebp),%eax
445db0:	e8 27 23 00 00       	call   0x4480dc
445db5:	50                   	push   %eax
445db6:	e8 39 0c fc ff       	call   0x4069f4
445dbb:	8b d8                	mov    %eax,%ebx
445dbd:	33 d2                	xor    %edx,%edx
445dbf:	55                   	push   %ebp
445dc0:	68 b0 5e 44 00       	push   $0x445eb0
445dc5:	64 ff 32             	push   %fs:(%edx)
445dc8:	64 89 22             	mov    %esp,%fs:(%edx)
445dcb:	8b 45 fc             	mov    -0x4(%ebp),%eax
445dce:	83 b8 98 01 00 00 00 	cmpl   $0x0,0x198(%eax)
445dd5:	75 12                	jne    0x445de9
445dd7:	8b d3                	mov    %ebx,%edx
445dd9:	8b 45 fc             	mov    -0x4(%ebp),%eax
445ddc:	8b 08                	mov    (%eax),%ecx
445dde:	ff 91 b8 00 00 00    	call   *0xb8(%ecx)
445de4:	e9 92 00 00 00       	jmp    0x445e7b
445de9:	53                   	push   %ebx
445dea:	e8 65 0b fc ff       	call   0x406954
445def:	89 45 f0             	mov    %eax,-0x10(%ebp)
445df2:	c7 45 f4 02 00 00 00 	movl   $0x2,-0xc(%ebp)
445df9:	8b 45 fc             	mov    -0x4(%ebp),%eax
445dfc:	8b 80 98 01 00 00    	mov    0x198(%eax),%eax
445e02:	8b 78 08             	mov    0x8(%eax),%edi
445e05:	4f                   	dec    %edi
445e06:	85 ff                	test   %edi,%edi
445e08:	7c 54                	jl     0x445e5e
445e0a:	47                   	inc    %edi
445e0b:	33 f6                	xor    %esi,%esi
445e0d:	8b 45 fc             	mov    -0x4(%ebp),%eax
445e10:	8b 80 98 01 00 00    	mov    0x198(%eax),%eax
445e16:	8b d6                	mov    %esi,%edx
445e18:	e8 cb e1 fc ff       	call   0x413fe8
445e1d:	80 78 57 00          	cmpb   $0x0,0x57(%eax)
445e21:	75 0c                	jne    0x445e2f
445e23:	f6 40 1c 10          	testb  $0x10,0x1c(%eax)
445e27:	74 31                	je     0x445e5a
445e29:	f6 40 51 04          	testb  $0x4,0x51(%eax)
445e2d:	75 2b                	jne    0x445e5a
445e2f:	f6 40 50 40          	testb  $0x40,0x50(%eax)
445e33:	74 25                	je     0x445e5a
445e35:	8b 50 44             	mov    0x44(%eax),%edx
445e38:	03 50 4c             	add    0x4c(%eax),%edx
445e3b:	52                   	push   %edx
445e3c:	8b 50 40             	mov    0x40(%eax),%edx
445e3f:	03 50 48             	add    0x48(%eax),%edx
445e42:	52                   	push   %edx
445e43:	8b 50 44             	mov    0x44(%eax),%edx
445e46:	52                   	push   %edx
445e47:	8b 40 40             	mov    0x40(%eax),%eax
445e4a:	50                   	push   %eax
445e4b:	53                   	push   %ebx
445e4c:	e8 33 0a fc ff       	call   0x406884
445e51:	89 45 f4             	mov    %eax,-0xc(%ebp)
445e54:	83 7d f4 01          	cmpl   $0x1,-0xc(%ebp)
445e58:	74 04                	je     0x445e5e
445e5a:	46                   	inc    %esi
445e5b:	4f                   	dec    %edi
445e5c:	75 af                	jne    0x445e0d
445e5e:	83 7d f4 01          	cmpl   $0x1,-0xc(%ebp)
445e62:	74 0d                	je     0x445e71
445e64:	8b d3                	mov    %ebx,%edx
445e66:	8b 45 fc             	mov    -0x4(%ebp),%eax
445e69:	8b 08                	mov    (%eax),%ecx
445e6b:	ff 91 b8 00 00 00    	call   *0xb8(%ecx)
445e71:	8b 45 f0             	mov    -0x10(%ebp),%eax
445e74:	50                   	push   %eax
445e75:	53                   	push   %ebx
445e76:	e8 d1 0a fc ff       	call   0x40694c
445e7b:	33 c9                	xor    %ecx,%ecx
445e7d:	8b d3                	mov    %ebx,%edx
445e7f:	8b 45 fc             	mov    -0x4(%ebp),%eax
445e82:	e8 61 00 00 00       	call   0x445ee8
445e87:	33 c0                	xor    %eax,%eax
445e89:	5a                   	pop    %edx
445e8a:	59                   	pop    %ecx
445e8b:	59                   	pop    %ecx
445e8c:	64 89 10             	mov    %edx,%fs:(%eax)
445e8f:	68 b7 5e 44 00       	push   $0x445eb7
445e94:	8b 45 f8             	mov    -0x8(%ebp),%eax
445e97:	83 78 04 00          	cmpl   $0x0,0x4(%eax)
445e9b:	75 12                	jne    0x445eaf
445e9d:	8d 45 b0             	lea    -0x50(%ebp),%eax
445ea0:	50                   	push   %eax
445ea1:	8b 45 fc             	mov    -0x4(%ebp),%eax
445ea4:	e8 33 22 00 00       	call   0x4480dc
445ea9:	50                   	push   %eax
445eaa:	e8 2d 0c fc ff       	call   0x406adc
445eaf:	c3                   	ret
445eb0:	e9 97 e0 fb ff       	jmp    0x403f4c
445eb5:	eb dd                	jmp    0x445e94
445eb7:	5f                   	pop    %edi
445eb8:	5e                   	pop    %esi
445eb9:	5b                   	pop    %ebx
445eba:	8b e5                	mov    %ebp,%esp
445ebc:	5d                   	pop    %ebp
445ebd:	c3                   	ret
445ebe:	8b c0                	mov    %eax,%eax
445ec0:	83 c4 f0             	add    $0xfffffff0,%esp
445ec3:	c7 04 24 0f 00 00 00 	movl   $0xf,(%esp)
445eca:	89 54 24 04          	mov    %edx,0x4(%esp)
445ece:	33 d2                	xor    %edx,%edx
445ed0:	89 54 24 08          	mov    %edx,0x8(%esp)
445ed4:	33 d2                	xor    %edx,%edx
445ed6:	89 54 24 0c          	mov    %edx,0xc(%esp)
445eda:	8b d4                	mov    %esp,%edx
445edc:	8b 08                	mov    (%eax),%ecx
445ede:	ff 51 f0             	call   *-0x10(%ecx)
445ee1:	83 c4 10             	add    $0x10,%esp
445ee4:	c3                   	ret
445ee5:	8d 40 00             	lea    0x0(%eax),%eax
445ee8:	53                   	push   %ebx
445ee9:	56                   	push   %esi
445eea:	57                   	push   %edi
445eeb:	55                   	push   %ebp
445eec:	83 c4 e0             	add    $0xffffffe0,%esp
445eef:	8b d9                	mov    %ecx,%ebx
445ef1:	8b ea                	mov    %edx,%ebp
445ef3:	8b f0                	mov    %eax,%esi
445ef5:	80 be a8 01 00 00 00 	cmpb   $0x0,0x1a8(%esi)
445efc:	74 1f                	je     0x445f1d
445efe:	80 be a7 01 00 00 00 	cmpb   $0x0,0x1a7(%esi)
445f05:	74 16                	je     0x445f1d
445f07:	83 be 7c 01 00 00 00 	cmpl   $0x0,0x17c(%esi)
445f0e:	74 0d                	je     0x445f1d
445f10:	8b 86 7c 01 00 00    	mov    0x17c(%esi),%eax
445f16:	8b d5                	mov    %ebp,%edx
445f18:	8b 08                	mov    (%eax),%ecx
445f1a:	ff 51 20             	call   *0x20(%ecx)
445f1d:	8b 86 98 01 00 00    	mov    0x198(%esi),%eax
445f23:	85 c0                	test   %eax,%eax
445f25:	0f 84 df 00 00 00    	je     0x44600a
445f2b:	33 ff                	xor    %edi,%edi
445f2d:	85 db                	test   %ebx,%ebx
445f2f:	74 0f                	je     0x445f40
445f31:	8b d3                	mov    %ebx,%edx
445f33:	e8 14 e1 fc ff       	call   0x41404c
445f38:	8b f8                	mov    %eax,%edi
445f3a:	85 ff                	test   %edi,%edi
445f3c:	7d 02                	jge    0x445f40
445f3e:	33 ff                	xor    %edi,%edi
445f40:	8b 86 98 01 00 00    	mov    0x198(%esi),%eax
445f46:	8b 40 08             	mov    0x8(%eax),%eax
445f49:	89 04 24             	mov    %eax,(%esp)
445f4c:	3b 3c 24             	cmp    (%esp),%edi
445f4f:	0f 8d b5 00 00 00    	jge    0x44600a
445f55:	8b 86 98 01 00 00    	mov    0x198(%esi),%eax
445f5b:	8b d7                	mov    %edi,%edx
445f5d:	e8 86 e0 fc ff       	call   0x413fe8
445f62:	8b d8                	mov    %eax,%ebx
445f64:	80 7b 57 00          	cmpb   $0x0,0x57(%ebx)
445f68:	75 14                	jne    0x445f7e
445f6a:	f6 43 1c 10          	testb  $0x10,0x1c(%ebx)
445f6e:	0f 84 8c 00 00 00    	je     0x446000
445f74:	f6 43 51 04          	testb  $0x4,0x51(%ebx)
445f78:	0f 85 82 00 00 00    	jne    0x446000
445f7e:	8b 43 44             	mov    0x44(%ebx),%eax
445f81:	03 43 4c             	add    0x4c(%ebx),%eax
445f84:	50                   	push   %eax
445f85:	8d 44 24 14          	lea    0x14(%esp),%eax
445f89:	50                   	push   %eax
445f8a:	8b 4b 40             	mov    0x40(%ebx),%ecx
445f8d:	03 4b 48             	add    0x48(%ebx),%ecx
445f90:	8b 53 44             	mov    0x44(%ebx),%edx
445f93:	8b 43 40             	mov    0x40(%ebx),%eax
445f96:	e8 05 cc fc ff       	call   0x412ba0
445f9b:	8d 44 24 10          	lea    0x10(%esp),%eax
445f9f:	50                   	push   %eax
445fa0:	55                   	push   %ebp
445fa1:	e8 9e 09 fc ff       	call   0x406944
445fa6:	85 c0                	test   %eax,%eax
445fa8:	74 56                	je     0x446000
445faa:	f6 46 54 80          	testb  $0x80,0x54(%esi)
445fae:	74 06                	je     0x445fb6
445fb0:	66 81 4b 54 80 00    	orw    $0x80,0x54(%ebx)
445fb6:	55                   	push   %ebp
445fb7:	e8 98 09 fc ff       	call   0x406954
445fbc:	89 44 24 04          	mov    %eax,0x4(%esp)
445fc0:	8b 4b 44             	mov    0x44(%ebx),%ecx
445fc3:	8b 53 40             	mov    0x40(%ebx),%edx
445fc6:	8b c5                	mov    %ebp,%eax
445fc8:	e8 77 a3 ff ff       	call   0x440344
445fcd:	8b 43 4c             	mov    0x4c(%ebx),%eax
445fd0:	50                   	push   %eax
445fd1:	8b 43 48             	mov    0x48(%ebx),%eax
445fd4:	50                   	push   %eax
445fd5:	6a 00                	push   $0x0
445fd7:	6a 00                	push   $0x0
445fd9:	55                   	push   %ebp
445fda:	e8 35 09 fc ff       	call   0x406914
445fdf:	6a 00                	push   $0x0
445fe1:	8b cd                	mov    %ebp,%ecx
445fe3:	ba 0f 00 00 00       	mov    $0xf,%edx
445fe8:	8b c3                	mov    %ebx,%eax
445fea:	e8 91 cb ff ff       	call   0x442b80
445fef:	8b 44 24 04          	mov    0x4(%esp),%eax
445ff3:	50                   	push   %eax
445ff4:	55                   	push   %ebp
445ff5:	e8 52 09 fc ff       	call   0x40694c
445ffa:	66 81 63 54 7f ff    	andw   $0xff7f,0x54(%ebx)
446000:	47                   	inc    %edi
446001:	3b 3c 24             	cmp    (%esp),%edi
446004:	0f 8c 4b ff ff ff    	jl     0x445f55
44600a:	8b 86 9c 01 00 00    	mov    0x19c(%esi),%eax
446010:	85 c0                	test   %eax,%eax
446012:	0f 84 f8 00 00 00    	je     0x446110
446018:	8b 40 08             	mov    0x8(%eax),%eax
44601b:	48                   	dec    %eax
44601c:	85 c0                	test   %eax,%eax
44601e:	0f 8c ec 00 00 00    	jl     0x446110
446024:	40                   	inc    %eax
446025:	89 44 24 0c          	mov    %eax,0xc(%esp)
446029:	33 ff                	xor    %edi,%edi
44602b:	8b 86 9c 01 00 00    	mov    0x19c(%esi),%eax
446031:	8b d7                	mov    %edi,%edx
446033:	e8 b0 df fc ff       	call   0x413fe8
446038:	8b d8                	mov    %eax,%ebx
44603a:	80 bb a5 01 00 00 00 	cmpb   $0x0,0x1a5(%ebx)
446041:	0f 84 be 00 00 00    	je     0x446105
446047:	f6 43 50 10          	testb  $0x10,0x50(%ebx)
44604b:	0f 84 b4 00 00 00    	je     0x446105
446051:	80 7b 57 00          	cmpb   $0x0,0x57(%ebx)
446055:	75 14                	jne    0x44606b
446057:	f6 43 1c 10          	testb  $0x10,0x1c(%ebx)
44605b:	0f 84 a4 00 00 00    	je     0x446105
446061:	f6 43 51 04          	testb  $0x4,0x51(%ebx)
446065:	0f 85 9a 00 00 00    	jne    0x446105
44606b:	b8 10 00 00 ff       	mov    $0xff000010,%eax
446070:	e8 83 65 fd ff       	call   0x41c5f8
446075:	50                   	push   %eax
446076:	e8 f1 07 fc ff       	call   0x40686c
44607b:	89 44 24 08          	mov    %eax,0x8(%esp)
44607f:	8b 44 24 08          	mov    0x8(%esp),%eax
446083:	50                   	push   %eax
446084:	8b 43 44             	mov    0x44(%ebx),%eax
446087:	03 43 4c             	add    0x4c(%ebx),%eax
44608a:	50                   	push   %eax
44608b:	8d 44 24 18          	lea    0x18(%esp),%eax
44608f:	50                   	push   %eax
446090:	8b 4b 40             	mov    0x40(%ebx),%ecx
446093:	03 4b 48             	add    0x48(%ebx),%ecx
446096:	8b 53 44             	mov    0x44(%ebx),%edx
446099:	4a                   	dec    %edx
44609a:	8b 43 40             	mov    0x40(%ebx),%eax
44609d:	48                   	dec    %eax
44609e:	e8 fd ca fc ff       	call   0x412ba0
4460a3:	8d 44 24 14          	lea    0x14(%esp),%eax
4460a7:	50                   	push   %eax
4460a8:	55                   	push   %ebp
4460a9:	e8 5e 0a fc ff       	call   0x406b0c
4460ae:	8b 44 24 08          	mov    0x8(%esp),%eax
4460b2:	50                   	push   %eax
4460b3:	e8 c4 07 fc ff       	call   0x40687c
4460b8:	b8 14 00 00 ff       	mov    $0xff000014,%eax
4460bd:	e8 36 65 fd ff       	call   0x41c5f8
4460c2:	50                   	push   %eax
4460c3:	e8 a4 07 fc ff       	call   0x40686c
4460c8:	89 44 24 08          	mov    %eax,0x8(%esp)
4460cc:	8b 44 24 08          	mov    0x8(%esp),%eax
4460d0:	50                   	push   %eax
4460d1:	8b 43 44             	mov    0x44(%ebx),%eax
4460d4:	03 43 4c             	add    0x4c(%ebx),%eax
4460d7:	40                   	inc    %eax
4460d8:	50                   	push   %eax
4460d9:	8d 44 24 18          	lea    0x18(%esp),%eax
4460dd:	50                   	push   %eax
4460de:	8b 4b 40             	mov    0x40(%ebx),%ecx
4460e1:	03 4b 48             	add    0x48(%ebx),%ecx
4460e4:	41                   	inc    %ecx
4460e5:	8b 53 44             	mov    0x44(%ebx),%edx
4460e8:	8b 43 40             	mov    0x40(%ebx),%eax
4460eb:	e8 b0 ca fc ff       	call   0x412ba0
4460f0:	8d 44 24 14          	lea    0x14(%esp),%eax
4460f4:	50                   	push   %eax
4460f5:	55                   	push   %ebp
4460f6:	e8 11 0a fc ff       	call   0x406b0c
4460fb:	8b 44 24 08          	mov    0x8(%esp),%eax
4460ff:	50                   	push   %eax
446100:	e8 77 07 fc ff       	call   0x40687c
446105:	47                   	inc    %edi
446106:	ff 4c 24 0c          	decl   0xc(%esp)
44610a:	0f 85 1b ff ff ff    	jne    0x44602b
446110:	83 c4 20             	add    $0x20,%esp
446113:	5d                   	pop    %ebp
446114:	5f                   	pop    %edi
446115:	5e                   	pop    %esi
446116:	5b                   	pop    %ebx
446117:	c3                   	ret
446118:	55                   	push   %ebp
446119:	8b ec                	mov    %esp,%ebp
44611b:	83 c4 e0             	add    $0xffffffe0,%esp
44611e:	53                   	push   %ebx
44611f:	56                   	push   %esi
446120:	57                   	push   %edi
446121:	8b f9                	mov    %ecx,%edi
446123:	8b f2                	mov    %edx,%esi
446125:	8b d8                	mov    %eax,%ebx
446127:	66 81 4b 54 80 00    	orw    $0x80,0x54(%ebx)
44612d:	56                   	push   %esi
44612e:	e8 21 08 fc ff       	call   0x406954
446133:	89 45 f4             	mov    %eax,-0xc(%ebp)
446136:	8b 4d 08             	mov    0x8(%ebp),%ecx
446139:	8b d7                	mov    %edi,%edx
44613b:	8b c6                	mov    %esi,%eax
44613d:	e8 02 a2 ff ff       	call   0x440344
446142:	8b 43 4c             	mov    0x4c(%ebx),%eax
446145:	50                   	push   %eax
446146:	8b 43 48             	mov    0x48(%ebx),%eax
446149:	50                   	push   %eax
44614a:	6a 00                	push   $0x0
44614c:	6a 00                	push   $0x0
44614e:	56                   	push   %esi
44614f:	e8 c0 07 fc ff       	call   0x406914
446154:	33 ff                	xor    %edi,%edi
446156:	33 c0                	xor    %eax,%eax
446158:	89 45 f8             	mov    %eax,-0x8(%ebp)
44615b:	6a ec                	push   $0xffffffec
44615d:	8b c3                	mov    %ebx,%eax
44615f:	e8 78 1f 00 00       	call   0x4480dc
446164:	50                   	push   %eax
446165:	e8 e2 0a fc ff       	call   0x406c4c
44616a:	f6 c4 02             	test   $0x2,%ah
44616d:	74 0e                	je     0x44617d
44616f:	c7 45 f8 0a 00 00 00 	movl   $0xa,-0x8(%ebp)
446176:	bf 0f 20 00 00       	mov    $0x200f,%edi
44617b:	eb 22                	jmp    0x44619f
44617d:	6a f0                	push   $0xfffffff0
44617f:	8b c3                	mov    %ebx,%eax
446181:	e8 56 1f 00 00       	call   0x4480dc
446186:	50                   	push   %eax
446187:	e8 c0 0a fc ff       	call   0x406c4c
44618c:	a9 00 00 80 00       	test   $0x800000,%eax
446191:	74 0c                	je     0x44619f
446193:	c7 45 f8 03 00 00 00 	movl   $0x3,-0x8(%ebp)
44619a:	bf 0f a0 00 00       	mov    $0xa00f,%edi
44619f:	85 ff                	test   %edi,%edi
4461a1:	74 49                	je     0x4461ec
4461a3:	8b 43 4c             	mov    0x4c(%ebx),%eax
4461a6:	50                   	push   %eax
4461a7:	8b 43 48             	mov    0x48(%ebx),%eax
4461aa:	50                   	push   %eax
4461ab:	6a 00                	push   $0x0