444066:	e8 85 ff ff ff       	call   0x443ff0
44406b:	59                   	pop    %ecx
44406c:	59                   	pop    %ecx
44406d:	5d                   	pop    %ebp
44406e:	c3                   	ret
44406f:	8b ff                	mov    %edi,%edi
444071:	55                   	push   %ebp
444072:	8b ec                	mov    %esp,%ebp
444074:	81 7d 08 80 00 00 00 	cmpl   $0x80,0x8(%ebp)
44407b:	1b c0                	sbb    %eax,%eax
44407d:	f7 d8                	neg    %eax
44407f:	5d                   	pop    %ebp
444080:	c3                   	ret
444081:	8b ff                	mov    %edi,%edi
444083:	55                   	push   %ebp
444084:	8b ec                	mov    %esp,%ebp
444086:	8b 45 08             	mov    0x8(%ebp),%eax
444089:	83 e0 7f             	and    $0x7f,%eax
44408c:	5d                   	pop    %ebp
44408d:	c3                   	ret
44408e:	8b ff                	mov    %edi,%edi
444090:	55                   	push   %ebp
444091:	8b ec                	mov    %esp,%ebp
444093:	ff 75 0c             	push   0xc(%ebp)
444096:	ff 75 08             	push   0x8(%ebp)
444099:	e8 39 fa ff ff       	call   0x443ad7
44409e:	59                   	pop    %ecx
44409f:	59                   	pop    %ecx
4440a0:	85 c0                	test   %eax,%eax
4440a2:	75 08                	jne    0x4440ac
4440a4:	83 7d 08 5f          	cmpl   $0x5f,0x8(%ebp)
4440a8:	74 02                	je     0x4440ac
4440aa:	5d                   	pop    %ebp
4440ab:	c3                   	ret
4440ac:	33 c0                	xor    %eax,%eax
4440ae:	40                   	inc    %eax
4440af:	5d                   	pop    %ebp
4440b0:	c3                   	ret
4440b1:	8b ff                	mov    %edi,%edi
4440b3:	55                   	push   %ebp
4440b4:	8b ec                	mov    %esp,%ebp
4440b6:	ff 75 08             	push   0x8(%ebp)
4440b9:	e8 6f fa ff ff       	call   0x443b2d
4440be:	59                   	pop    %ecx
4440bf:	85 c0                	test   %eax,%eax
4440c1:	75 08                	jne    0x4440cb
4440c3:	83 7d 08 5f          	cmpl   $0x5f,0x8(%ebp)
4440c7:	74 02                	je     0x4440cb
4440c9:	5d                   	pop    %ebp
4440ca:	c3                   	ret
4440cb:	33 c0                	xor    %eax,%eax
4440cd:	40                   	inc    %eax
4440ce:	5d                   	pop    %ebp
4440cf:	c3                   	ret
4440d0:	8b ff                	mov    %edi,%edi
4440d2:	55                   	push   %ebp
4440d3:	8b ec                	mov    %esp,%ebp
4440d5:	ff 75 0c             	push   0xc(%ebp)
4440d8:	ff 75 08             	push   0x8(%ebp)
4440db:	e8 7e fd ff ff       	call   0x443e5e
4440e0:	59                   	pop    %ecx
4440e1:	59                   	pop    %ecx
4440e2:	85 c0                	test   %eax,%eax
4440e4:	75 08                	jne    0x4440ee
4440e6:	83 7d 08 5f          	cmpl   $0x5f,0x8(%ebp)
4440ea:	74 02                	je     0x4440ee
4440ec:	5d                   	pop    %ebp
4440ed:	c3                   	ret
4440ee:	33 c0                	xor    %eax,%eax
4440f0:	40                   	inc    %eax
4440f1:	5d                   	pop    %ebp
4440f2:	c3                   	ret
4440f3:	8b ff                	mov    %edi,%edi
4440f5:	55                   	push   %ebp
4440f6:	8b ec                	mov    %esp,%ebp
4440f8:	0f b6 45 08          	movzbl 0x8(%ebp),%eax
4440fc:	50                   	push   %eax
4440fd:	e8 b2 fd ff ff       	call   0x443eb4
444102:	59                   	pop    %ecx
444103:	85 c0                	test   %eax,%eax
444105:	75 08                	jne    0x44410f
444107:	80 7d 08 5f          	cmpb   $0x5f,0x8(%ebp)
44410b:	74 02                	je     0x44410f
44410d:	5d                   	pop    %ebp
44410e:	c3                   	ret
44410f:	33 c0                	xor    %eax,%eax
444111:	40                   	inc    %eax
444112:	5d                   	pop    %ebp
444113:	c3                   	ret
444114:	8b ff                	mov    %edi,%edi
444116:	55                   	push   %ebp
444117:	8b ec                	mov    %esp,%ebp
444119:	53                   	push   %ebx
44411a:	56                   	push   %esi
44411b:	8b 75 0c             	mov    0xc(%ebp),%esi
44411e:	57                   	push   %edi
44411f:	83 cf ff             	or     $0xffffffff,%edi
444122:	f6 46 0c 40          	testb  $0x40,0xc(%esi)
444126:	75 6f                	jne    0x444197
444128:	56                   	push   %esi
444129:	e8 e4 20 ff ff       	call   0x436212
44412e:	59                   	pop    %ecx
44412f:	ba 68 f6 46 00       	mov    $0x46f668,%edx
444134:	3b c7                	cmp    %edi,%eax
444136:	74 1b                	je     0x444153
444138:	83 f8 fe             	cmp    $0xfffffffe,%eax
44413b:	74 16                	je     0x444153
44413d:	8b c8                	mov    %eax,%ecx
44413f:	83 e1 1f             	and    $0x1f,%ecx
444142:	8b d8                	mov    %eax,%ebx
444144:	c1 fb 05             	sar    $0x5,%ebx
444147:	c1 e1 06             	shl    $0x6,%ecx
44414a:	03 0c 9d 80 17 47 00 	add    0x471780(,%ebx,4),%ecx
444151:	eb 02                	jmp    0x444155
444153:	8b ca                	mov    %edx,%ecx
444155:	f6 41 24 7f          	testb  $0x7f,0x24(%ecx)
444159:	75 25                	jne    0x444180
44415b:	3b c7                	cmp    %edi,%eax
44415d:	74 19                	je     0x444178
44415f:	83 f8 fe             	cmp    $0xfffffffe,%eax
444162:	74 14                	je     0x444178
444164:	8b c8                	mov    %eax,%ecx
444166:	83 e0 1f             	and    $0x1f,%eax
444169:	c1 f9 05             	sar    $0x5,%ecx
44416c:	c1 e0 06             	shl    $0x6,%eax
44416f:	03 04 8d 80 17 47 00 	add    0x471780(,%ecx,4),%eax
444176:	eb 02                	jmp    0x44417a
444178:	8b c2                	mov    %edx,%eax
44417a:	f6 40 24 80          	testb  $0x80,0x24(%eax)
44417e:	74 17                	je     0x444197
444180:	e8 23 08 ff ff       	call   0x4349a8
444185:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
44418b:	e8 de 01 ff ff       	call   0x43436e
444190:	8b c7                	mov    %edi,%eax
444192:	5f                   	pop    %edi
444193:	5e                   	pop    %esi
444194:	5b                   	pop    %ebx
444195:	5d                   	pop    %ebp
444196:	c3                   	ret
444197:	8b 5d 08             	mov    0x8(%ebp),%ebx
44419a:	3b df                	cmp    %edi,%ebx
44419c:	74 f2                	je     0x444190
44419e:	8b 46 0c             	mov    0xc(%esi),%eax
4441a1:	a8 01                	test   $0x1,%al
4441a3:	75 08                	jne    0x4441ad
4441a5:	84 c0                	test   %al,%al
4441a7:	79 e7                	jns    0x444190
4441a9:	a8 02                	test   $0x2,%al
4441ab:	75 e3                	jne    0x444190
4441ad:	83 7e 08 00          	cmpl   $0x0,0x8(%esi)
4441b1:	75 07                	jne    0x4441ba
4441b3:	56                   	push   %esi
4441b4:	e8 c0 d5 ff ff       	call   0x441779
4441b9:	59                   	pop    %ecx
4441ba:	8b 06                	mov    (%esi),%eax
4441bc:	3b 46 08             	cmp    0x8(%esi),%eax
4441bf:	75 09                	jne    0x4441ca
4441c1:	83 7e 04 00          	cmpl   $0x0,0x4(%esi)
4441c5:	75 c9                	jne    0x444190
4441c7:	40                   	inc    %eax
4441c8:	89 06                	mov    %eax,(%esi)
4441ca:	ff 0e                	decl   (%esi)
4441cc:	f6 46 0c 40          	testb  $0x40,0xc(%esi)
4441d0:	8b 06                	mov    (%esi),%eax
4441d2:	74 09                	je     0x4441dd
4441d4:	38 18                	cmp    %bl,(%eax)
4441d6:	74 07                	je     0x4441df
4441d8:	40                   	inc    %eax
4441d9:	89 06                	mov    %eax,(%esi)
4441db:	eb b3                	jmp    0x444190
4441dd:	88 18                	mov    %bl,(%eax)
4441df:	8b 46 0c             	mov    0xc(%esi),%eax
4441e2:	ff 46 04             	incl   0x4(%esi)
4441e5:	83 e0 ef             	and    $0xffffffef,%eax
4441e8:	83 c8 01             	or     $0x1,%eax
4441eb:	89 46 0c             	mov    %eax,0xc(%esi)
4441ee:	8b c3                	mov    %ebx,%eax
4441f0:	25 ff 00 00 00       	and    $0xff,%eax
4441f5:	eb 9b                	jmp    0x444192
4441f7:	6a 0c                	push   $0xc
4441f9:	68 58 e1 46 00       	push   $0x46e158
4441fe:	e8 7d 0b ff ff       	call   0x434d80
444203:	33 c0                	xor    %eax,%eax
444205:	39 45 0c             	cmp    %eax,0xc(%ebp)
444208:	0f 95 c0             	setne  %al
44420b:	85 c0                	test   %eax,%eax
44420d:	75 15                	jne    0x444224
44420f:	e8 94 07 ff ff       	call   0x4349a8
444214:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
44421a:	e8 4f 01 ff ff       	call   0x43436e
44421f:	83 c8 ff             	or     $0xffffffff,%eax
444222:	eb 2c                	jmp    0x444250
444224:	ff 75 0c             	push   0xc(%ebp)
444227:	e8 f3 c1 fe ff       	call   0x43041f
44422c:	59                   	pop    %ecx
44422d:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
444231:	ff 75 0c             	push   0xc(%ebp)
444234:	ff 75 08             	push   0x8(%ebp)
444237:	e8 d8 fe ff ff       	call   0x444114
44423c:	59                   	pop    %ecx
44423d:	59                   	pop    %ecx
44423e:	89 45 e4             	mov    %eax,-0x1c(%ebp)
444241:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
444248:	e8 09 00 00 00       	call   0x444256
44424d:	8b 45 e4             	mov    -0x1c(%ebp),%eax
444250:	e8 70 0b ff ff       	call   0x434dc5
444255:	c3                   	ret
444256:	ff 75 0c             	push   0xc(%ebp)
444259:	e8 34 c2 fe ff       	call   0x430492
44425e:	59                   	pop    %ecx
44425f:	c3                   	ret
444260:	8b ff                	mov    %edi,%edi
444262:	55                   	push   %ebp
444263:	8b ec                	mov    %esp,%ebp
444265:	83 ec 4c             	sub    $0x4c,%esp
444268:	a1 a8 f6 46 00       	mov    0x46f6a8,%eax
44426d:	33 c5                	xor    %ebp,%eax
44426f:	89 45 fc             	mov    %eax,-0x4(%ebp)
444272:	53                   	push   %ebx
444273:	33 db                	xor    %ebx,%ebx
444275:	56                   	push   %esi
444276:	8b 75 08             	mov    0x8(%ebp),%esi
444279:	57                   	push   %edi
44427a:	89 5d d4             	mov    %ebx,-0x2c(%ebp)
44427d:	89 5d e4             	mov    %ebx,-0x1c(%ebp)
444280:	89 5d e0             	mov    %ebx,-0x20(%ebp)
444283:	89 5d d8             	mov    %ebx,-0x28(%ebp)
444286:	89 5d dc             	mov    %ebx,-0x24(%ebp)
444289:	89 75 b4             	mov    %esi,-0x4c(%ebp)
44428c:	89 5d b8             	mov    %ebx,-0x48(%ebp)
44428f:	39 5e 14             	cmp    %ebx,0x14(%esi)
444292:	0f 84 19 03 00 00    	je     0x4445b1
444298:	8d 46 04             	lea    0x4(%esi),%eax
44429b:	39 18                	cmp    %ebx,(%eax)
44429d:	75 20                	jne    0x4442bf
44429f:	50                   	push   %eax
4442a0:	0f b7 46 30          	movzwl 0x30(%esi),%eax
4442a4:	68 04 10 00 00       	push   $0x1004
4442a9:	50                   	push   %eax
4442aa:	8d 45 b4             	lea    -0x4c(%ebp),%eax
4442ad:	53                   	push   %ebx
4442ae:	50                   	push   %eax
4442af:	e8 27 fd fe ff       	call   0x433fdb
4442b4:	83 c4 14             	add    $0x14,%esp
4442b7:	85 c0                	test   %eax,%eax
4442b9:	0f 85 ca 02 00 00    	jne    0x444589
4442bf:	6a 04                	push   $0x4
4442c1:	e8 75 21 ff ff       	call   0x43643b
4442c6:	6a 02                	push   $0x2
4442c8:	bf 80 01 00 00       	mov    $0x180,%edi
4442cd:	57                   	push   %edi
4442ce:	89 45 d4             	mov    %eax,-0x2c(%ebp)
4442d1:	e8 aa 21 ff ff       	call   0x436480
4442d6:	6a 01                	push   $0x1
4442d8:	57                   	push   %edi
4442d9:	89 45 e4             	mov    %eax,-0x1c(%ebp)
4442dc:	e8 9f 21 ff ff       	call   0x436480
4442e1:	6a 01                	push   $0x1
4442e3:	57                   	push   %edi
4442e4:	89 45 e0             	mov    %eax,-0x20(%ebp)
4442e7:	e8 94 21 ff ff       	call   0x436480
4442ec:	6a 01                	push   $0x1
4442ee:	68 01 01 00 00       	push   $0x101
4442f3:	89 45 d8             	mov    %eax,-0x28(%ebp)
4442f6:	e8 85 21 ff ff       	call   0x436480
4442fb:	83 c4 24             	add    $0x24,%esp
4442fe:	89 45 dc             	mov    %eax,-0x24(%ebp)
444301:	39 5d d4             	cmp    %ebx,-0x2c(%ebp)
444304:	0f 84 7f 02 00 00    	je     0x444589
44430a:	39 5d e4             	cmp    %ebx,-0x1c(%ebp)
44430d:	0f 84 76 02 00 00    	je     0x444589
444313:	3b c3                	cmp    %ebx,%eax
444315:	0f 84 6e 02 00 00    	je     0x444589
44431b:	39 5d e0             	cmp    %ebx,-0x20(%ebp)
44431e:	0f 84 65 02 00 00    	je     0x444589
444324:	39 5d d8             	cmp    %ebx,-0x28(%ebp)
444327:	0f 84 5c 02 00 00    	je     0x444589
44432d:	8b 45 d4             	mov    -0x2c(%ebp),%eax
444330:	89 18                	mov    %ebx,(%eax)
444332:	33 c0                	xor    %eax,%eax
444334:	8b 4d dc             	mov    -0x24(%ebp),%ecx
444337:	88 04 08             	mov    %al,(%eax,%ecx,1)
44433a:	40                   	inc    %eax
44433b:	3d 00 01 00 00       	cmp    $0x100,%eax
444340:	7c f2                	jl     0x444334
444342:	8d 45 e8             	lea    -0x18(%ebp),%eax
444345:	50                   	push   %eax
444346:	ff 76 04             	push   0x4(%esi)
444349:	ff 15 88 35 47 00    	call   *0x473588
44434f:	85 c0                	test   %eax,%eax
444351:	0f 84 32 02 00 00    	je     0x444589
444357:	83 7d e8 05          	cmpl   $0x5,-0x18(%ebp)
44435b:	0f 87 28 02 00 00    	ja     0x444589
444361:	0f b7 45 e8          	movzwl -0x18(%ebp),%eax
444365:	89 45 d0             	mov    %eax,-0x30(%ebp)
444368:	83 f8 01             	cmp    $0x1,%eax
44436b:	7e 2e                	jle    0x44439b
44436d:	38 5d ee             	cmp    %bl,-0x12(%ebp)
444370:	74 29                	je     0x44439b
444372:	8d 45 ef             	lea    -0x11(%ebp),%eax
444375:	8a 08                	mov    (%eax),%cl
444377:	3a cb                	cmp    %bl,%cl
444379:	74 20                	je     0x44439b
44437b:	0f b6 78 ff          	movzbl -0x1(%eax),%edi
44437f:	0f b6 c9             	movzbl %cl,%ecx
444382:	eb 0b                	jmp    0x44438f
444384:	8b 4d dc             	mov    -0x24(%ebp),%ecx
444387:	c6 04 0f 20          	movb   $0x20,(%edi,%ecx,1)
44438b:	0f b6 08             	movzbl (%eax),%ecx
44438e:	47                   	inc    %edi
44438f:	3b f9                	cmp    %ecx,%edi
444391:	7e f1                	jle    0x444384
444393:	83 c0 02             	add    $0x2,%eax
444396:	38 58 ff             	cmp    %bl,-0x1(%eax)
444399:	75 da                	jne    0x444375
44439b:	8b 45 e4             	mov    -0x1c(%ebp),%eax
44439e:	53                   	push   %ebx
44439f:	53                   	push   %ebx
4443a0:	ff 76 04             	push   0x4(%esi)
4443a3:	05 00 01 00 00       	add    $0x100,%eax
4443a8:	50                   	push   %eax
4443a9:	68 00 01 00 00       	push   $0x100
4443ae:	ff 75 dc             	push   -0x24(%ebp)
4443b1:	89 45 c0             	mov    %eax,-0x40(%ebp)
4443b4:	6a 01                	push   $0x1
4443b6:	53                   	push   %ebx
4443b7:	e8 46 e0 ff ff       	call   0x442402
4443bc:	83 c4 20             	add    $0x20,%esp
4443bf:	85 c0                	test   %eax,%eax
4443c1:	0f 84 c2 01 00 00    	je     0x444589
4443c7:	8b 4d e0             	mov    -0x20(%ebp),%ecx
4443ca:	8b 45 dc             	mov    -0x24(%ebp),%eax
4443cd:	53                   	push   %ebx
4443ce:	ff 76 04             	push   0x4(%esi)
4443d1:	bf ff 00 00 00       	mov    $0xff,%edi
4443d6:	57                   	push   %edi
4443d7:	81 c1 81 00 00 00    	add    $0x81,%ecx
4443dd:	51                   	push   %ecx
4443de:	57                   	push   %edi
4443df:	40                   	inc    %eax
4443e0:	50                   	push   %eax
4443e1:	68 00 01 00 00       	push   $0x100
4443e6:	ff 76 14             	push   0x14(%esi)
4443e9:	53                   	push   %ebx
4443ea:	e8 e6 de ff ff       	call   0x4422d5
4443ef:	83 c4 24             	add    $0x24,%esp
4443f2:	85 c0                	test   %eax,%eax
4443f4:	0f 84 8f 01 00 00    	je     0x444589
4443fa:	8b 45 d8             	mov    -0x28(%ebp),%eax
4443fd:	53                   	push   %ebx