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
4461ad:	6a 00                	push   $0x0
4461af:	8d 45 e0             	lea    -0x20(%ebp),%eax
4461b2:	50                   	push   %eax
4461b3:	e8 5c 0c fc ff       	call   0x406e14
4461b8:	57                   	push   %edi
4461b9:	8b 45 f8             	mov    -0x8(%ebp),%eax
4461bc:	50                   	push   %eax
4461bd:	8d 45 e0             	lea    -0x20(%ebp),%eax
4461c0:	50                   	push   %eax
4461c1:	56                   	push   %esi
4461c2:	e8 cd 08 fc ff       	call   0x406a94
4461c7:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
4461ca:	8b 55 e0             	mov    -0x20(%ebp),%edx
4461cd:	8b c6                	mov    %esi,%eax
4461cf:	e8 70 a1 ff ff       	call   0x440344
4461d4:	8b 45 ec             	mov    -0x14(%ebp),%eax
4461d7:	2b 45 e4             	sub    -0x1c(%ebp),%eax
4461da:	50                   	push   %eax
4461db:	8b 45 e8             	mov    -0x18(%ebp),%eax
4461de:	2b 45 e0             	sub    -0x20(%ebp),%eax
4461e1:	50                   	push   %eax
4461e2:	6a 00                	push   $0x0
4461e4:	6a 00                	push   $0x0
4461e6:	56                   	push   %esi
4461e7:	e8 28 07 fc ff       	call   0x406914
4461ec:	6a 00                	push   $0x0
4461ee:	8b ce                	mov    %esi,%ecx
4461f0:	ba 14 00 00 00       	mov    $0x14,%edx
4461f5:	8b c3                	mov    %ebx,%eax
4461f7:	e8 84 c9 ff ff       	call   0x442b80
4461fc:	6a 00                	push   $0x0
4461fe:	8b ce                	mov    %esi,%ecx
446200:	ba 0f 00 00 00       	mov    $0xf,%edx
446205:	8b c3                	mov    %ebx,%eax
446207:	e8 74 c9 ff ff       	call   0x442b80
44620c:	8b 83 9c 01 00 00    	mov    0x19c(%ebx),%eax
446212:	85 c0                	test   %eax,%eax
446214:	74 3d                	je     0x446253
446216:	8b 40 08             	mov    0x8(%eax),%eax
446219:	48                   	dec    %eax
44621a:	85 c0                	test   %eax,%eax
44621c:	7c 35                	jl     0x446253
44621e:	40                   	inc    %eax
44621f:	89 45 f0             	mov    %eax,-0x10(%ebp)
446222:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
446229:	8b 55 fc             	mov    -0x4(%ebp),%edx
44622c:	8b 83 9c 01 00 00    	mov    0x19c(%ebx),%eax
446232:	e8 b1 dd fc ff       	call   0x413fe8
446237:	80 78 57 00          	cmpb   $0x0,0x57(%eax)
44623b:	74 0e                	je     0x44624b
44623d:	8b 50 44             	mov    0x44(%eax),%edx
446240:	52                   	push   %edx
446241:	8b 48 40             	mov    0x40(%eax),%ecx
446244:	8b d6                	mov    %esi,%edx
446246:	e8 cd fe ff ff       	call   0x446118
44624b:	ff 45 fc             	incl   -0x4(%ebp)
44624e:	ff 4d f0             	decl   -0x10(%ebp)
446251:	75 d6                	jne    0x446229
446253:	8b 45 f4             	mov    -0xc(%ebp),%eax
446256:	50                   	push   %eax
446257:	56                   	push   %esi
446258:	e8 ef 06 fc ff       	call   0x40694c
44625d:	66 81 63 54 7f ff    	andw   $0xff7f,0x54(%ebx)
446263:	5f                   	pop    %edi
446264:	5e                   	pop    %esi
446265:	5b                   	pop    %ebx
446266:	8b e5                	mov    %ebp,%esp
446268:	5d                   	pop    %ebp
446269:	c2 04 00             	ret    $0x4
44626c:	55                   	push   %ebp
44626d:	8b ec                	mov    %esp,%ebp
44626f:	83 c4 94             	add    $0xffffff94,%esp
446272:	53                   	push   %ebx
446273:	56                   	push   %esi
446274:	57                   	push   %edi
446275:	8b f2                	mov    %edx,%esi
446277:	8b d8                	mov    %eax,%ebx
446279:	80 bb f8 01 00 00 00 	cmpb   $0x0,0x1f8(%ebx)
446280:	74 06                	je     0x446288
446282:	83 7e 04 00          	cmpl   $0x0,0x4(%esi)
446286:	74 2d                	je     0x4462b5
446288:	f6 43 55 01          	testb  $0x1,0x55(%ebx)
44628c:	75 19                	jne    0x4462a7
44628e:	8b c3                	mov    %ebx,%eax
446290:	e8 e3 eb ff ff       	call   0x444e78
446295:	85 c0                	test   %eax,%eax
446297:	75 0e                	jne    0x4462a7
446299:	8b d6                	mov    %esi,%edx
44629b:	8b c3                	mov    %ebx,%eax
44629d:	8b 08                	mov    (%eax),%ecx
44629f:	ff 51 f0             	call   *-0x10(%ecx)
4462a2:	e9 1e 01 00 00       	jmp    0x4463c5
4462a7:	8b d6                	mov    %esi,%edx
4462a9:	8b c3                	mov    %ebx,%eax
4462ab:	e8 e0 fa ff ff       	call   0x445d90
4462b0:	e9 10 01 00 00       	jmp    0x4463c5
4462b5:	6a 00                	push   $0x0
4462b7:	e8 90 08 fc ff       	call   0x406b4c
4462bc:	8b f8                	mov    %eax,%edi
4462be:	8d 55 a4             	lea    -0x5c(%ebp),%edx
4462c1:	8b c3                	mov    %ebx,%eax
4462c3:	8b 08                	mov    (%eax),%ecx
4462c5:	ff 51 44             	call   *0x44(%ecx)
4462c8:	8b 45 b0             	mov    -0x50(%ebp),%eax
4462cb:	50                   	push   %eax
4462cc:	8d 55 94             	lea    -0x6c(%ebp),%edx
4462cf:	8b c3                	mov    %ebx,%eax
4462d1:	8b 08                	mov    (%eax),%ecx
4462d3:	ff 51 44             	call   *0x44(%ecx)
4462d6:	8b 45 9c             	mov    -0x64(%ebp),%eax
4462d9:	50                   	push   %eax
4462da:	57                   	push   %edi
4462db:	e8 44 05 fc ff       	call   0x406824
4462e0:	89 45 f8             	mov    %eax,-0x8(%ebp)
4462e3:	57                   	push   %edi
4462e4:	6a 00                	push   $0x0
4462e6:	e8 a9 0a fc ff       	call   0x406d94
4462eb:	6a 00                	push   $0x0
4462ed:	e8 3a 05 fc ff       	call   0x40682c
4462f2:	89 45 fc             	mov    %eax,-0x4(%ebp)
4462f5:	8b 45 f8             	mov    -0x8(%ebp),%eax
4462f8:	50                   	push   %eax
4462f9:	8b 45 fc             	mov    -0x4(%ebp),%eax
4462fc:	50                   	push   %eax
4462fd:	e8 5a 06 fc ff       	call   0x40695c
446302:	89 45 f4             	mov    %eax,-0xc(%ebp)
446305:	33 c0                	xor    %eax,%eax
446307:	55                   	push   %ebp
446308:	68 be 63 44 00       	push   $0x4463be
44630d:	64 ff 30             	push   %fs:(%eax)
446310:	64 89 20             	mov    %esp,%fs:(%eax)
446313:	8d 45 b4             	lea    -0x4c(%ebp),%eax
446316:	50                   	push   %eax
446317:	8b c3                	mov    %ebx,%eax
446319:	e8 be 1d 00 00       	call   0x4480dc
44631e:	50                   	push   %eax
44631f:	e8 d0 06 fc ff       	call   0x4069f4
446324:	8b f8                	mov    %eax,%edi
446326:	8b 45 fc             	mov    -0x4(%ebp),%eax
446329:	50                   	push   %eax
44632a:	8b 4d fc             	mov    -0x4(%ebp),%ecx
44632d:	ba 14 00 00 00       	mov    $0x14,%edx
446332:	8b c3                	mov    %ebx,%eax
446334:	e8 47 c8 ff ff       	call   0x442b80
446339:	8b 45 fc             	mov    -0x4(%ebp),%eax
44633c:	89 46 04             	mov    %eax,0x4(%esi)
44633f:	8b d6                	mov    %esi,%edx
446341:	8b c3                	mov    %ebx,%eax
446343:	e8 24 ff ff ff       	call   0x44626c
446348:	33 c0                	xor    %eax,%eax
44634a:	89 46 04             	mov    %eax,0x4(%esi)
44634d:	68 20 00 cc 00       	push   $0xcc0020
446352:	6a 00                	push   $0x0
446354:	6a 00                	push   $0x0
446356:	8b 45 fc             	mov    -0x4(%ebp),%eax
446359:	50                   	push   %eax
44635a:	8d 55 a4             	lea    -0x5c(%ebp),%edx
44635d:	8b c3                	mov    %ebx,%eax
44635f:	8b 08                	mov    (%eax),%ecx
446361:	ff 51 44             	call   *0x44(%ecx)
446364:	8b 45 b0             	mov    -0x50(%ebp),%eax
446367:	50                   	push   %eax
446368:	8d 55 94             	lea    -0x6c(%ebp),%edx
44636b:	8b c3                	mov    %ebx,%eax
44636d:	8b 08                	mov    (%eax),%ecx
44636f:	ff 51 44             	call   *0x44(%ecx)
446372:	8b 45 9c             	mov    -0x64(%ebp),%eax
446375:	50                   	push   %eax
446376:	6a 00                	push   $0x0
446378:	6a 00                	push   $0x0
44637a:	57                   	push   %edi
44637b:	e8 8c 04 fc ff       	call   0x40680c
446380:	8d 45 b4             	lea    -0x4c(%ebp),%eax
446383:	50                   	push   %eax
446384:	8b c3                	mov    %ebx,%eax