422fc8:	56                   	push   %esi
422fc9:	8b f1                	mov    %ecx,%esi
422fcb:	56                   	push   %esi
422fcc:	e8 7e 2c 00 00       	call   0x425c4f
422fd1:	8b 06                	mov    (%esi),%eax
422fd3:	83 e0 1f             	and    $0x1f,%eax
422fd6:	59                   	pop    %ecx
422fd7:	3c 1f                	cmp    $0x1f,%al
422fd9:	75 06                	jne    0x422fe1
422fdb:	c6 46 08 00          	movb   $0x0,0x8(%esi)
422fdf:	eb 0b                	jmp    0x422fec
422fe1:	56                   	push   %esi
422fe2:	e8 ce 2c 00 00       	call   0x425cb5
422fe7:	59                   	pop    %ecx
422fe8:	c6 46 08 01          	movb   $0x1,0x8(%esi)
422fec:	8b c6                	mov    %esi,%eax
422fee:	5e                   	pop    %esi
422fef:	c3                   	ret
422ff0:	8b ff                	mov    %edi,%edi
422ff2:	55                   	push   %ebp
422ff3:	8b ec                	mov    %esp,%ebp
422ff5:	81 ec 64 09 00 00    	sub    $0x964,%esp
422ffb:	a1 28 ba 43 00       	mov    0x43ba28,%eax
423000:	33 c5                	xor    %ebp,%eax
423002:	89 45 fc             	mov    %eax,-0x4(%ebp)
423005:	53                   	push   %ebx
423006:	8b 5d 18             	mov    0x18(%ebp),%ebx
423009:	8d 8d 6c f8 ff ff    	lea    -0x794(%ebp),%ecx
42300f:	56                   	push   %esi
423010:	57                   	push   %edi
423011:	8b 7d 14             	mov    0x14(%ebp),%edi
423014:	89 bd 80 f8 ff ff    	mov    %edi,-0x780(%ebp)
42301a:	89 9d 84 f8 ff ff    	mov    %ebx,-0x77c(%ebp)
423020:	e8 a1 ff ff ff       	call   0x422fc6
423025:	8b 75 0c             	mov    0xc(%ebp),%esi
423028:	33 c0                	xor    %eax,%eax
42302a:	8b ce                	mov    %esi,%ecx
42302c:	81 e1 00 00 00 80    	and    $0x80000000,%ecx
423032:	0b c1                	or     %ecx,%eax
423034:	b0 2d                	mov    $0x2d,%al
423036:	75 02                	jne    0x42303a
423038:	04 f3                	add    $0xf3,%al
42303a:	0f be c0             	movsbl %al,%eax
42303d:	8b ce                	mov    %esi,%ecx
42303f:	89 07                	mov    %eax,(%edi)
423041:	81 e1 00 00 f0 7f    	and    $0x7ff00000,%ecx
423047:	33 c0                	xor    %eax,%eax
423049:	89 5f 08             	mov    %ebx,0x8(%edi)
42304c:	0b c1                	or     %ecx,%eax
42304e:	8b 7d 08             	mov    0x8(%ebp),%edi
423051:	75 22                	jne    0x423075
423053:	8b ce                	mov    %esi,%ecx
423055:	8b c7                	mov    %edi,%eax
423057:	81 e1 ff ff 0f 00    	and    $0xfffff,%ecx
42305d:	0b c1                	or     %ecx,%eax
42305f:	75 14                	jne    0x423075
423061:	8b 85 80 f8 ff ff    	mov    -0x780(%ebp),%eax
423067:	68 9c 75 42 00       	push   $0x42759c
42306c:	83 60 04 00          	andl   $0x0,0x4(%eax)
423070:	e9 d3 12 00 00       	jmp    0x424348
423075:	8d 45 08             	lea    0x8(%ebp),%eax
423078:	50                   	push   %eax
423079:	e8 94 6b ff ff       	call   0x419c12
42307e:	59                   	pop    %ecx
42307f:	85 c0                	test   %eax,%eax
423081:	74 0d                	je     0x423090
423083:	8b 8d 80 f8 ff ff    	mov    -0x780(%ebp),%ecx
423089:	c7 41 04 01 00 00 00 	movl   $0x1,0x4(%ecx)
423090:	83 e8 01             	sub    $0x1,%eax
423093:	0f 84 aa 12 00 00    	je     0x424343
423099:	83 e8 01             	sub    $0x1,%eax
42309c:	0f 84 9a 12 00 00    	je     0x42433c
4230a2:	83 e8 01             	sub    $0x1,%eax
4230a5:	0f 84 8a 12 00 00    	je     0x424335
4230ab:	83 e8 01             	sub    $0x1,%eax
4230ae:	0f 84 7a 12 00 00    	je     0x42432e
4230b4:	8b 45 10             	mov    0x10(%ebp),%eax
4230b7:	81 e6 ff ff ff 7f    	and    $0x7fffffff,%esi
4230bd:	83 a5 7c f8 ff ff 00 	andl   $0x0,-0x784(%ebp)
4230c4:	40                   	inc    %eax
4230c5:	89 7d 08             	mov    %edi,0x8(%ebp)
4230c8:	89 75 0c             	mov    %esi,0xc(%ebp)
4230cb:	dd 45 08             	fldl   0x8(%ebp)
4230ce:	dd 95 98 f8 ff ff    	fstl   -0x768(%ebp)
4230d4:	8b bd 9c f8 ff ff    	mov    -0x764(%ebp),%edi
4230da:	8b cf                	mov    %edi,%ecx
4230dc:	89 85 88 f8 ff ff    	mov    %eax,-0x778(%ebp)
4230e2:	c1 e9 14             	shr    $0x14,%ecx
4230e5:	8b c1                	mov    %ecx,%eax
4230e7:	25 ff 07 00 00       	and    $0x7ff,%eax
4230ec:	83 c8 00             	or     $0x0,%eax
4230ef:	75 06                	jne    0x4230f7
4230f1:	b2 01                	mov    $0x1,%dl
4230f3:	33 f6                	xor    %esi,%esi
4230f5:	eb 09                	jmp    0x423100
4230f7:	32 d2                	xor    %dl,%dl
4230f9:	be 00 00 10 00       	mov    $0x100000,%esi
4230fe:	33 c0                	xor    %eax,%eax
423100:	8b 9d 98 f8 ff ff    	mov    -0x768(%ebp),%ebx
423106:	81 e7 ff ff 0f 00    	and    $0xfffff,%edi
42310c:	03 d8                	add    %eax,%ebx
42310e:	13 fe                	adc    %esi,%edi
423110:	33 c0                	xor    %eax,%eax
423112:	84 d2                	test   %dl,%dl
423114:	0f 95 c0             	setne  %al
423117:	81 e1 ff 07 00 00    	and    $0x7ff,%ecx
42311d:	40                   	inc    %eax
42311e:	8d b1 cc fb ff ff    	lea    -0x434(%ecx),%esi
423124:	03 f0                	add    %eax,%esi
423126:	89 b5 b4 f8 ff ff    	mov    %esi,-0x74c(%ebp)
42312c:	e8 1f 2c 00 00       	call   0x425d50
423131:	51                   	push   %ecx
423132:	51                   	push   %ecx
423133:	dd 1c 24             	fstpl  (%esp)
423136:	e8 25 11 ff ff       	call   0x414260
42313b:	59                   	pop    %ecx
42313c:	59                   	pop    %ecx
42313d:	e8 0e 34 00 00       	call   0x426550
423142:	89 85 94 f8 ff ff    	mov    %eax,-0x76c(%ebp)
423148:	3d ff ff ff 7f       	cmp    $0x7fffffff,%eax
42314d:	74 07                	je     0x423156
42314f:	3d 00 00 00 80       	cmp    $0x80000000,%eax
423154:	75 08                	jne    0x42315e
423156:	33 c0                	xor    %eax,%eax
423158:	89 85 94 f8 ff ff    	mov    %eax,-0x76c(%ebp)
42315e:	89 9d 30 fe ff ff    	mov    %ebx,-0x1d0(%ebp)
423164:	33 db                	xor    %ebx,%ebx
423166:	85 ff                	test   %edi,%edi
423168:	89 bd 34 fe ff ff    	mov    %edi,-0x1cc(%ebp)
42316e:	0f 95 c3             	setne  %bl
423171:	43                   	inc    %ebx
423172:	89 9d 2c fe ff ff    	mov    %ebx,-0x1d4(%ebp)
423178:	85 f6                	test   %esi,%esi
42317a:	0f 88 ed 03 00 00    	js     0x42356d
423180:	83 a5 90 fa ff ff 00 	andl   $0x0,-0x570(%ebp)
423187:	6a 02                	push   $0x2
423189:	5e                   	pop    %esi
42318a:	c7 85 94 fa ff ff 00 	movl   $0x100000,-0x56c(%ebp)
423191:	00 10 00
423194:	89 b5 8c fa ff ff    	mov    %esi,-0x574(%ebp)
42319a:	3b de                	cmp    %esi,%ebx
42319c:	0f 85 00 02 00 00    	jne    0x4233a2
4231a2:	33 c9                	xor    %ecx,%ecx
4231a4:	8b 84 0d 90 fa ff ff 	mov    -0x570(%ebp,%ecx,1),%eax
4231ab:	3b 84 0d 30 fe ff ff 	cmp    -0x1d0(%ebp,%ecx,1),%eax
4231b2:	0f 85 ea 01 00 00    	jne    0x4233a2
4231b8:	83 c1 04             	add    $0x4,%ecx
4231bb:	83 f9 08             	cmp    $0x8,%ecx
4231be:	75 e4                	jne    0x4231a4
4231c0:	8b 85 b4 f8 ff ff    	mov    -0x74c(%ebp),%eax
4231c6:	33 d2                	xor    %edx,%edx
4231c8:	83 c0 02             	add    $0x2,%eax
4231cb:	8b f0                	mov    %eax,%esi
4231cd:	83 e0 1f             	and    $0x1f,%eax
4231d0:	6a 20                	push   $0x20
4231d2:	59                   	pop    %ecx
4231d3:	2b c8                	sub    %eax,%ecx
4231d5:	89 85 a4 f8 ff ff    	mov    %eax,-0x75c(%ebp)
4231db:	33 c0                	xor    %eax,%eax
4231dd:	c1 ee 05             	shr    $0x5,%esi
4231e0:	40                   	inc    %eax
4231e1:	89 b5 b0 f8 ff ff    	mov    %esi,-0x750(%ebp)
4231e7:	89 8d 90 f8 ff ff    	mov    %ecx,-0x770(%ebp)
4231ed:	e8 de 31 00 00       	call   0x4263d0
4231f2:	83 a5 9c f8 ff ff 00 	andl   $0x0,-0x764(%ebp)
4231f9:	48                   	dec    %eax
4231fa:	0f bd cf             	bsr    %edi,%ecx
4231fd:	89 85 a8 f8 ff ff    	mov    %eax,-0x758(%ebp)
423203:	f7 d0                	not    %eax
423205:	89 85 8c f8 ff ff    	mov    %eax,-0x774(%ebp)
42320b:	74 03                	je     0x423210
42320d:	41                   	inc    %ecx
42320e:	eb 02                	jmp    0x423212
423210:	33 c9                	xor    %ecx,%ecx
423212:	6a 20                	push   $0x20
423214:	58                   	pop    %eax
423215:	2b c1                	sub    %ecx,%eax
423217:	8d 56 02             	lea    0x2(%esi),%edx
42321a:	39 85 a4 f8 ff ff    	cmp    %eax,-0x75c(%ebp)
423220:	89 95 ac f8 ff ff    	mov    %edx,-0x754(%ebp)
423226:	0f 97 c0             	seta   %al
423229:	83 fa 73             	cmp    $0x73,%edx
42322c:	88 85 bb f8 ff ff    	mov    %al,-0x745(%ebp)
423232:	0f 97 c1             	seta   %cl
423235:	83 fa 73             	cmp    $0x73,%edx
423238:	75 08                	jne    0x423242
42323a:	84 c0                	test   %al,%al
42323c:	74 04                	je     0x423242
42323e:	b0 01                	mov    $0x1,%al
423240:	eb 02                	jmp    0x423244
423242:	32 c0                	xor    %al,%al
423244:	84 c9                	test   %cl,%cl
423246:	0f 85 ef 00 00 00    	jne    0x42333b
42324c:	84 c0                	test   %al,%al
42324e:	0f 85 e7 00 00 00    	jne    0x42333b
423254:	6a 72                	push   $0x72
423256:	59                   	pop    %ecx
423257:	3b d1                	cmp    %ecx,%edx
423259:	72 08                	jb     0x423263
42325b:	8b d1                	mov    %ecx,%edx
42325d:	89 8d ac f8 ff ff    	mov    %ecx,-0x754(%ebp)
423263:	8b ca                	mov    %edx,%ecx
423265:	89 8d a0 f8 ff ff    	mov    %ecx,-0x760(%ebp)
42326b:	83 fa ff             	cmp    $0xffffffff,%edx
42326e:	0f 84 96 00 00 00    	je     0x42330a
423274:	8b f2                	mov    %edx,%esi
423276:	8d 85 30 fe ff ff    	lea    -0x1d0(%ebp),%eax
42327c:	8b 95 b0 f8 ff ff    	mov    -0x750(%ebp),%edx
423282:	2b f2                	sub    %edx,%esi
423284:	8d 04 b0             	lea    (%eax,%esi,4),%eax
423287:	89 85 b4 f8 ff ff    	mov    %eax,-0x74c(%ebp)
42328d:	3b ca                	cmp    %edx,%ecx
42328f:	72 6d                	jb     0x4232fe
423291:	3b f3                	cmp    %ebx,%esi
423293:	73 04                	jae    0x423299
423295:	8b 38                	mov    (%eax),%edi
423297:	eb 02                	jmp    0x42329b
423299:	33 ff                	xor    %edi,%edi
42329b:	8d 46 ff             	lea    -0x1(%esi),%eax
42329e:	3b c3                	cmp    %ebx,%eax
4232a0:	73 0b                	jae    0x4232ad
4232a2:	8b 85 b4 f8 ff ff    	mov    -0x74c(%ebp),%eax
4232a8:	8b 40 fc             	mov    -0x4(%eax),%eax
4232ab:	eb 02                	jmp    0x4232af
4232ad:	33 c0                	xor    %eax,%eax
4232af:	23 85 8c f8 ff ff    	and    -0x774(%ebp),%eax
4232b5:	23 bd a8 f8 ff ff    	and    -0x758(%ebp),%edi
4232bb:	8b 8d 90 f8 ff ff    	mov    -0x770(%ebp),%ecx
4232c1:	d3 e8                	shr    %cl,%eax
4232c3:	8b 8d a4 f8 ff ff    	mov    -0x75c(%ebp),%ecx
4232c9:	d3 e7                	shl    %cl,%edi
4232cb:	8b 8d a0 f8 ff ff    	mov    -0x760(%ebp),%ecx
4232d1:	0b c7                	or     %edi,%eax
4232d3:	89 84 8d 30 fe ff ff 	mov    %eax,-0x1d0(%ebp,%ecx,4)
4232da:	49                   	dec    %ecx
4232db:	8b 85 b4 f8 ff ff    	mov    -0x74c(%ebp),%eax
4232e1:	4e                   	dec    %esi
4232e2:	83 e8 04             	sub    $0x4,%eax
4232e5:	89 8d a0 f8 ff ff    	mov    %ecx,-0x760(%ebp)
4232eb:	89 85 b4 f8 ff ff    	mov    %eax,-0x74c(%ebp)
4232f1:	83 f9 ff             	cmp    $0xffffffff,%ecx
4232f4:	74 08                	je     0x4232fe
4232f6:	8b 9d 2c fe ff ff    	mov    -0x1d4(%ebp),%ebx
4232fc:	eb 8f                	jmp    0x42328d
4232fe:	8b 95 ac f8 ff ff    	mov    -0x754(%ebp),%edx
423304:	8b b5 b0 f8 ff ff    	mov    -0x750(%ebp),%esi
42330a:	85 f6                	test   %esi,%esi
42330c:	74 0c                	je     0x42331a
42330e:	8b ce                	mov    %esi,%ecx
423310:	8d bd 30 fe ff ff    	lea    -0x1d0(%ebp),%edi
423316:	33 c0                	xor    %eax,%eax
423318:	f3 ab                	rep stos %eax,%es:(%edi)
42331a:	80 bd bb f8 ff ff 00 	cmpb   $0x0,-0x745(%ebp)
423321:	bb cc 01 00 00       	mov    $0x1cc,%ebx
423326:	74 0b                	je     0x423333
423328:	8d 42 01             	lea    0x1(%edx),%eax
42332b:	89 85 2c fe ff ff    	mov    %eax,-0x1d4(%ebp)
423331:	eb 33                	jmp    0x423366
423333:	89 95 2c fe ff ff    	mov    %edx,-0x1d4(%ebp)
423339:	eb 2b                	jmp    0x423366
42333b:	33 c0                	xor    %eax,%eax
42333d:	bb cc 01 00 00       	mov    $0x1cc,%ebx
423342:	50                   	push   %eax
423343:	89 85 8c fa ff ff    	mov    %eax,-0x574(%ebp)
423349:	89 85 2c fe ff ff    	mov    %eax,-0x1d4(%ebp)
42334f:	8d 85 90 fa ff ff    	lea    -0x570(%ebp),%eax
423355:	50                   	push   %eax
423356:	8d 85 30 fe ff ff    	lea    -0x1d0(%ebp),%eax
42335c:	53                   	push   %ebx
42335d:	50                   	push   %eax
42335e:	e8 29 10 00 00       	call   0x42438c
423363:	83 c4 10             	add    $0x10,%esp
423366:	83 a5 94 fa ff ff 00 	andl   $0x0,-0x56c(%ebp)
42336d:	33 c9                	xor    %ecx,%ecx
42336f:	6a 04                	push   $0x4
423371:	58                   	pop    %eax
423372:	41                   	inc    %ecx
423373:	89 85 90 fa ff ff    	mov    %eax,-0x570(%ebp)
423379:	89 8d 8c fa ff ff    	mov    %ecx,-0x574(%ebp)
42337f:	89 8d 5c fc ff ff    	mov    %ecx,-0x3a4(%ebp)
423385:	50                   	push   %eax
423386:	8d 85 90 fa ff ff    	lea    -0x570(%ebp),%eax
42338c:	50                   	push   %eax
42338d:	8d 85 60 fc ff ff    	lea    -0x3a0(%ebp),%eax
423393:	53                   	push   %ebx
423394:	50                   	push   %eax
423395:	e8 f2 0f 00 00       	call   0x42438c
42339a:	83 c4 10             	add    $0x10,%esp
42339d:	e9 5c 04 00 00       	jmp    0x4237fe
4233a2:	8b 85 b4 f8 ff ff    	mov    -0x74c(%ebp),%eax
4233a8:	33 d2                	xor    %edx,%edx
4233aa:	40                   	inc    %eax
4233ab:	8b f8                	mov    %eax,%edi
4233ad:	83 e0 1f             	and    $0x1f,%eax
4233b0:	6a 20                	push   $0x20
4233b2:	59                   	pop    %ecx
4233b3:	2b c8                	sub    %eax,%ecx
4233b5:	89 85 b0 f8 ff ff    	mov    %eax,-0x750(%ebp)
4233bb:	33 c0                	xor    %eax,%eax
4233bd:	c1 ef 05             	shr    $0x5,%edi
4233c0:	40                   	inc    %eax
4233c1:	89 bd b4 f8 ff ff    	mov    %edi,-0x74c(%ebp)
4233c7:	89 8d 90 f8 ff ff    	mov    %ecx,-0x770(%ebp)
4233cd:	e8 fe 2f 00 00       	call   0x4263d0
4233d2:	8b 8c 9d 2c fe ff ff 	mov    -0x1d4(%ebp,%ebx,4),%ecx
4233d9:	48                   	dec    %eax
4233da:	83 a5 9c f8 ff ff 00 	andl   $0x0,-0x764(%ebp)
4233e1:	0f bd c9             	bsr    %ecx,%ecx
4233e4:	89 85 a8 f8 ff ff    	mov    %eax,-0x758(%ebp)
4233ea:	f7 d0                	not    %eax
4233ec:	89 85 8c f8 ff ff    	mov    %eax,-0x774(%ebp)
4233f2:	74 03                	je     0x4233f7
4233f4:	41                   	inc    %ecx
4233f5:	eb 02                	jmp    0x4233f9
4233f7:	33 c9                	xor    %ecx,%ecx
4233f9:	6a 20                	push   $0x20
4233fb:	58                   	pop    %eax
4233fc:	2b c1                	sub    %ecx,%eax
4233fe:	8d 14 3b             	lea    (%ebx,%edi,1),%edx
423401:	39 85 b0 f8 ff ff    	cmp    %eax,-0x750(%ebp)
423407:	89 95 a0 f8 ff ff    	mov    %edx,-0x760(%ebp)
42340d:	0f 97 c0             	seta   %al
423410:	83 fa 73             	cmp    $0x73,%edx
423413:	88 85 bb f8 ff ff    	mov    %al,-0x745(%ebp)
423419:	0f 97 c1             	seta   %cl
42341c:	83 fa 73             	cmp    $0x73,%edx
42341f:	75 08                	jne    0x423429
423421:	84 c0                	test   %al,%al
423423:	74 04                	je     0x423429
423425:	b0 01                	mov    $0x1,%al
423427:	eb 02                	jmp    0x42342b
423429:	32 c0                	xor    %al,%al
42342b:	84 c9                	test   %cl,%cl
42342d:	0f 85 ec 00 00 00    	jne    0x42351f
423433:	84 c0                	test   %al,%al
423435:	0f 85 e4 00 00 00    	jne    0x42351f
42343b:	6a 72                	push   $0x72
42343d:	59                   	pop    %ecx
42343e:	3b d1                	cmp    %ecx,%edx
423440:	72 08                	jb     0x42344a
423442:	8b d1                	mov    %ecx,%edx
423444:	89 8d a0 f8 ff ff    	mov    %ecx,-0x760(%ebp)
42344a:	8b c2                	mov    %edx,%eax
42344c:	89 85 ac f8 ff ff    	mov    %eax,-0x754(%ebp)
423452:	83 fa ff             	cmp    $0xffffffff,%edx
423455:	0f 84 93 00 00 00    	je     0x4234ee
42345b:	8b f2                	mov    %edx,%esi
42345d:	8d 8d 30 fe ff ff    	lea    -0x1d0(%ebp),%ecx
423463:	8b 95 b4 f8 ff ff    	mov    -0x74c(%ebp),%edx
423469:	2b f2                	sub    %edx,%esi