42c097:	59                   	pop    %ecx
42c098:	50                   	push   %eax
42c099:	ff 15 68 e0 43 00    	call   *0x43e068
42c09f:	85 c0                	test   %eax,%eax
42c0a1:	75 b6                	jne    0x42c059
42c0a3:	ff 15 6c e0 43 00    	call   *0x43e06c
42c0a9:	8b f0                	mov    %eax,%esi
42c0ab:	57                   	push   %edi
42c0ac:	e8 1f 72 00 00       	call   0x4332d0
42c0b1:	59                   	pop    %ecx
42c0b2:	8b cf                	mov    %edi,%ecx
42c0b4:	83 e7 3f             	and    $0x3f,%edi
42c0b7:	c1 f9 06             	sar    $0x6,%ecx
42c0ba:	6b d7 38             	imul   $0x38,%edi,%edx
42c0bd:	8b 0c 8d c0 6d 45 00 	mov    0x456dc0(,%ecx,4),%ecx
42c0c4:	c6 44 11 28 00       	movb   $0x0,0x28(%ecx,%edx,1)
42c0c9:	85 f6                	test   %esi,%esi
42c0cb:	74 10                	je     0x42c0dd
42c0cd:	ff 75 0c             	push   0xc(%ebp)
42c0d0:	56                   	push   %esi
42c0d1:	e8 23 79 ff ff       	call   0x4239f9
42c0d6:	59                   	pop    %ecx
42c0d7:	59                   	pop    %ecx
42c0d8:	83 c8 ff             	or     $0xffffffff,%eax
42c0db:	eb 02                	jmp    0x42c0df
42c0dd:	33 c0                	xor    %eax,%eax
42c0df:	5f                   	pop    %edi
42c0e0:	5e                   	pop    %esi
42c0e1:	5d                   	pop    %ebp
42c0e2:	c3                   	ret
42c0e3:	8b ff                	mov    %edi,%edi
42c0e5:	55                   	push   %ebp
42c0e6:	8b ec                	mov    %esp,%ebp
42c0e8:	56                   	push   %esi
42c0e9:	8b 75 08             	mov    0x8(%ebp),%esi
42c0ec:	57                   	push   %edi
42c0ed:	8d 7e 0c             	lea    0xc(%esi),%edi
42c0f0:	8b 07                	mov    (%edi),%eax
42c0f2:	90                   	nop
42c0f3:	c1 e8 0d             	shr    $0xd,%eax
42c0f6:	a8 01                	test   $0x1,%al
42c0f8:	74 25                	je     0x42c11f
42c0fa:	8b 07                	mov    (%edi),%eax
42c0fc:	90                   	nop
42c0fd:	c1 e8 06             	shr    $0x6,%eax
42c100:	a8 01                	test   $0x1,%al
42c102:	74 1b                	je     0x42c11f
42c104:	ff 76 04             	push   0x4(%esi)
42c107:	e8 ae e7 ff ff       	call   0x42a8ba
42c10c:	59                   	pop    %ecx
42c10d:	b8 bf fe ff ff       	mov    $0xfffffebf,%eax
42c112:	f0 21 07             	lock and %eax,(%edi)
42c115:	33 c0                	xor    %eax,%eax
42c117:	89 46 04             	mov    %eax,0x4(%esi)
42c11a:	89 06                	mov    %eax,(%esi)
42c11c:	89 46 08             	mov    %eax,0x8(%esi)
42c11f:	5f                   	pop    %edi
42c120:	5e                   	pop    %esi
42c121:	5d                   	pop    %ebp
42c122:	c3                   	ret
42c123:	6a 0c                	push   $0xc
42c125:	68 70 32 45 00       	push   $0x453270
42c12a:	e8 e1 e7 fe ff       	call   0x41a910
42c12f:	33 f6                	xor    %esi,%esi
42c131:	89 75 e4             	mov    %esi,-0x1c(%ebp)
42c134:	8b 45 08             	mov    0x8(%ebp),%eax
42c137:	ff 30                	push   (%eax)
42c139:	e8 a7 6f 00 00       	call   0x4330e5
42c13e:	59                   	pop    %ecx
42c13f:	89 75 fc             	mov    %esi,-0x4(%ebp)
42c142:	8b 45 0c             	mov    0xc(%ebp),%eax
42c145:	8b 00                	mov    (%eax),%eax
42c147:	8b 38                	mov    (%eax),%edi
42c149:	8b d7                	mov    %edi,%edx
42c14b:	c1 fa 06             	sar    $0x6,%edx
42c14e:	8b c7                	mov    %edi,%eax
42c150:	83 e0 3f             	and    $0x3f,%eax
42c153:	6b c8 38             	imul   $0x38,%eax,%ecx
42c156:	8b 04 95 c0 6d 45 00 	mov    0x456dc0(,%edx,4),%eax
42c15d:	f6 44 08 28 01       	testb  $0x1,0x28(%eax,%ecx,1)
42c162:	74 21                	je     0x42c185
42c164:	57                   	push   %edi
42c165:	e8 f7 71 00 00       	call   0x433361
42c16a:	59                   	pop    %ecx
42c16b:	50                   	push   %eax
42c16c:	ff 15 d4 e0 43 00    	call   *0x43e0d4
42c172:	85 c0                	test   %eax,%eax
42c174:	75 1d                	jne    0x42c193
42c176:	ff 15 6c e0 43 00    	call   *0x43e06c
42c17c:	8b f0                	mov    %eax,%esi
42c17e:	e8 9a 78 ff ff       	call   0x423a1d
42c183:	89 30                	mov    %esi,(%eax)
42c185:	e8 a6 78 ff ff       	call   0x423a30
42c18a:	c7 00 09 00 00 00    	movl   $0x9,(%eax)
42c190:	83 ce ff             	or     $0xffffffff,%esi
42c193:	89 75 e4             	mov    %esi,-0x1c(%ebp)
42c196:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
42c19d:	e8 17 00 00 00       	call   0x42c1b9
42c1a2:	8b c6                	mov    %esi,%eax
42c1a4:	8b 4d f0             	mov    -0x10(%ebp),%ecx
42c1a7:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
42c1ae:	59                   	pop    %ecx
42c1af:	5f                   	pop    %edi
42c1b0:	5e                   	pop    %esi
42c1b1:	5b                   	pop    %ebx
42c1b2:	c9                   	leave
42c1b3:	c2 0c 00             	ret    $0xc
42c1b6:	8b 75 e4             	mov    -0x1c(%ebp),%esi
42c1b9:	8b 4d 10             	mov    0x10(%ebp),%ecx
42c1bc:	ff 31                	push   (%ecx)
42c1be:	e8 d7 6f 00 00       	call   0x43319a
42c1c3:	59                   	pop    %ecx
42c1c4:	c3                   	ret
42c1c5:	8b ff                	mov    %edi,%edi
42c1c7:	55                   	push   %ebp
42c1c8:	8b ec                	mov    %esp,%ebp
42c1ca:	83 ec 10             	sub    $0x10,%esp
42c1cd:	56                   	push   %esi
42c1ce:	8b 75 08             	mov    0x8(%ebp),%esi
42c1d1:	83 fe fe             	cmp    $0xfffffffe,%esi
42c1d4:	75 0d                	jne    0x42c1e3
42c1d6:	e8 55 78 ff ff       	call   0x423a30
42c1db:	c7 00 09 00 00 00    	movl   $0x9,(%eax)
42c1e1:	eb 59                	jmp    0x42c23c
42c1e3:	85 f6                	test   %esi,%esi
42c1e5:	78 45                	js     0x42c22c
42c1e7:	3b 35 c0 6f 45 00    	cmp    0x456fc0,%esi
42c1ed:	73 3d                	jae    0x42c22c
42c1ef:	8b c6                	mov    %esi,%eax
42c1f1:	8b d6                	mov    %esi,%edx
42c1f3:	83 e0 3f             	and    $0x3f,%eax
42c1f6:	c1 fa 06             	sar    $0x6,%edx
42c1f9:	6b c8 38             	imul   $0x38,%eax,%ecx
42c1fc:	8b 04 95 c0 6d 45 00 	mov    0x456dc0(,%edx,4),%eax
42c203:	f6 44 08 28 01       	testb  $0x1,0x28(%eax,%ecx,1)
42c208:	74 22                	je     0x42c22c
42c20a:	8d 45 08             	lea    0x8(%ebp),%eax
42c20d:	89 75 f8             	mov    %esi,-0x8(%ebp)
42c210:	89 45 f4             	mov    %eax,-0xc(%ebp)
42c213:	8d 4d ff             	lea    -0x1(%ebp),%ecx
42c216:	8d 45 f8             	lea    -0x8(%ebp),%eax
42c219:	89 75 f0             	mov    %esi,-0x10(%ebp)
42c21c:	50                   	push   %eax
42c21d:	8d 45 f4             	lea    -0xc(%ebp),%eax
42c220:	50                   	push   %eax
42c221:	8d 45 f0             	lea    -0x10(%ebp),%eax
42c224:	50                   	push   %eax
42c225:	e8 f9 fe ff ff       	call   0x42c123
42c22a:	eb 13                	jmp    0x42c23f
42c22c:	e8 ff 77 ff ff       	call   0x423a30
42c231:	c7 00 09 00 00 00    	movl   $0x9,(%eax)
42c237:	e8 47 37 ff ff       	call   0x41f983
42c23c:	83 c8 ff             	or     $0xffffffff,%eax
42c23f:	5e                   	pop    %esi
42c240:	c9                   	leave
42c241:	c3                   	ret
42c242:	8b ff                	mov    %edi,%edi
42c244:	55                   	push   %ebp
42c245:	8b ec                	mov    %esp,%ebp
42c247:	6a ff                	push   $0xffffffff
42c249:	68 0e d0 43 00       	push   $0x43d00e
42c24e:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
42c254:	50                   	push   %eax
42c255:	83 ec 74             	sub    $0x74,%esp
42c258:	a1 14 50 45 00       	mov    0x455014,%eax
42c25d:	33 c5                	xor    %ebp,%eax
42c25f:	89 45 f0             	mov    %eax,-0x10(%ebp)
42c262:	53                   	push   %ebx
42c263:	56                   	push   %esi
42c264:	57                   	push   %edi
42c265:	50                   	push   %eax
42c266:	8d 45 f4             	lea    -0xc(%ebp),%eax
42c269:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
42c26f:	8b 45 0c             	mov    0xc(%ebp),%eax
42c272:	8b d0                	mov    %eax,%edx
42c274:	8b 75 10             	mov    0x10(%ebp),%esi
42c277:	83 e0 3f             	and    $0x3f,%eax
42c27a:	8b 5d 18             	mov    0x18(%ebp),%ebx
42c27d:	6b c8 38             	imul   $0x38,%eax,%ecx
42c280:	c1 fa 06             	sar    $0x6,%edx
42c283:	89 75 a0             	mov    %esi,-0x60(%ebp)
42c286:	89 5d c4             	mov    %ebx,-0x3c(%ebp)
42c289:	89 55 bc             	mov    %edx,-0x44(%ebp)
42c28c:	8b 04 95 c0 6d 45 00 	mov    0x456dc0(,%edx,4),%eax
42c293:	89 4d b0             	mov    %ecx,-0x50(%ebp)
42c296:	8b 44 01 18          	mov    0x18(%ecx,%eax,1),%eax
42c29a:	89 45 9c             	mov    %eax,-0x64(%ebp)
42c29d:	8b 45 14             	mov    0x14(%ebp),%eax
42c2a0:	03 c6                	add    %esi,%eax
42c2a2:	89 45 ac             	mov    %eax,-0x54(%ebp)
42c2a5:	ff 15 d0 e1 43 00    	call   *0x43e1d0
42c2ab:	80 7b 14 00          	cmpb   $0x0,0x14(%ebx)
42c2af:	89 45 94             	mov    %eax,-0x6c(%ebp)
42c2b2:	75 07                	jne    0x42c2bb
42c2b4:	8b cb                	mov    %ebx,%ecx
42c2b6:	e8 c5 33 ff ff       	call   0x41f680
42c2bb:	8b 43 0c             	mov    0xc(%ebx),%eax
42c2be:	8b 75 08             	mov    0x8(%ebp),%esi
42c2c1:	8b fe                	mov    %esi,%edi
42c2c3:	8b 48 08             	mov    0x8(%eax),%ecx
42c2c6:	33 c0                	xor    %eax,%eax
42c2c8:	ab                   	stos   %eax,%es:(%edi)
42c2c9:	89 4d 90             	mov    %ecx,-0x70(%ebp)
42c2cc:	ab                   	stos   %eax,%es:(%edi)
42c2cd:	ab                   	stos   %eax,%es:(%edi)
42c2ce:	8b 45 a0             	mov    -0x60(%ebp),%eax
42c2d1:	8b d0                	mov    %eax,%edx
42c2d3:	89 55 d4             	mov    %edx,-0x2c(%ebp)
42c2d6:	3b 45 ac             	cmp    -0x54(%ebp),%eax
42c2d9:	0f 83 09 03 00 00    	jae    0x42c5e8
42c2df:	8b 7d b0             	mov    -0x50(%ebp),%edi
42c2e2:	33 db                	xor    %ebx,%ebx
42c2e4:	89 5d b8             	mov    %ebx,-0x48(%ebp)
42c2e7:	8a 02                	mov    (%edx),%al
42c2e9:	88 45 d3             	mov    %al,-0x2d(%ebp)
42c2ec:	8b 45 bc             	mov    -0x44(%ebp),%eax
42c2ef:	89 5d c0             	mov    %ebx,-0x40(%ebp)
42c2f2:	c7 45 cc 01 00 00 00 	movl   $0x1,-0x34(%ebp)
42c2f9:	81 f9 e9 fd 00 00    	cmp    $0xfde9,%ecx
42c2ff:	0f 85 2c 01 00 00    	jne    0x42c431
42c305:	8b 04 85 c0 6d 45 00 	mov    0x456dc0(,%eax,4),%eax
42c30c:	8b cb                	mov    %ebx,%ecx
42c30e:	83 c0 2e             	add    $0x2e,%eax
42c311:	03 c7                	add    %edi,%eax
42c313:	89 45 b8             	mov    %eax,-0x48(%ebp)
42c316:	80 38 00             	cmpb   $0x0,(%eax)
42c319:	74 07                	je     0x42c322
42c31b:	41                   	inc    %ecx
42c31c:	40                   	inc    %eax
42c31d:	83 f9 05             	cmp    $0x5,%ecx
42c320:	7c f4                	jl     0x42c316
42c322:	8b 7d ac             	mov    -0x54(%ebp),%edi
42c325:	2b fa                	sub    %edx,%edi
42c327:	89 4d cc             	mov    %ecx,-0x34(%ebp)
42c32a:	85 c9                	test   %ecx,%ecx
42c32c:	0f 8e a4 00 00 00    	jle    0x42c3d6
42c332:	8b 45 b8             	mov    -0x48(%ebp),%eax
42c335:	0f b6 00             	movzbl (%eax),%eax
42c338:	0f be 80 b0 52 45 00 	movsbl 0x4552b0(%eax),%eax
42c33f:	40                   	inc    %eax
42c340:	89 45 c8             	mov    %eax,-0x38(%ebp)
42c343:	2b c1                	sub    %ecx,%eax
42c345:	89 45 b4             	mov    %eax,-0x4c(%ebp)
42c348:	3b c7                	cmp    %edi,%eax
42c34a:	0f 8f 21 02 00 00    	jg     0x42c571
42c350:	8b fb                	mov    %ebx,%edi
42c352:	8b 5d b8             	mov    -0x48(%ebp),%ebx
42c355:	8a 03                	mov    (%ebx),%al
42c357:	88 44 3d e8          	mov    %al,-0x18(%ebp,%edi,1)
42c35b:	47                   	inc    %edi
42c35c:	43                   	inc    %ebx
42c35d:	3b f9                	cmp    %ecx,%edi
42c35f:	7c f4                	jl     0x42c355
42c361:	8b 75 b4             	mov    -0x4c(%ebp),%esi
42c364:	33 db                	xor    %ebx,%ebx
42c366:	85 f6                	test   %esi,%esi
42c368:	7e 13                	jle    0x42c37d
42c36a:	56                   	push   %esi
42c36b:	8d 45 e8             	lea    -0x18(%ebp),%eax
42c36e:	03 c1                	add    %ecx,%eax
42c370:	52                   	push   %edx
42c371:	50                   	push   %eax
42c372:	e8 09 f3 fe ff       	call   0x41b680
42c377:	8b 4d cc             	mov    -0x34(%ebp),%ecx
42c37a:	83 c4 0c             	add    $0xc,%esp
42c37d:	8b 7d b0             	mov    -0x50(%ebp),%edi
42c380:	8b d3                	mov    %ebx,%edx
42c382:	8b 75 bc             	mov    -0x44(%ebp),%esi
42c385:	8b 04 b5 c0 6d 45 00 	mov    0x456dc0(,%esi,4),%eax
42c38c:	03 c7                	add    %edi,%eax
42c38e:	88 5c 10 2e          	mov    %bl,0x2e(%eax,%edx,1)
42c392:	42                   	inc    %edx
42c393:	3b d1                	cmp    %ecx,%edx
42c395:	7c ee                	jl     0x42c385
42c397:	ff 75 c4             	push   -0x3c(%ebp)
42c39a:	8b 75 08             	mov    0x8(%ebp),%esi
42c39d:	8d 45 e8             	lea    -0x18(%ebp),%eax
42c3a0:	89 45 98             	mov    %eax,-0x68(%ebp)
42c3a3:	8d 4d 88             	lea    -0x78(%ebp),%ecx
42c3a6:	33 c0                	xor    %eax,%eax
42c3a8:	89 5d 88             	mov    %ebx,-0x78(%ebp)
42c3ab:	83 7d c8 04          	cmpl   $0x4,-0x38(%ebp)
42c3af:	51                   	push   %ecx
42c3b0:	0f 94 c0             	sete   %al
42c3b3:	89 5d 8c             	mov    %ebx,-0x74(%ebp)
42c3b6:	40                   	inc    %eax
42c3b7:	50                   	push   %eax
42c3b8:	89 45 cc             	mov    %eax,-0x34(%ebp)
42c3bb:	8d 45 98             	lea    -0x68(%ebp),%eax
42c3be:	50                   	push   %eax
42c3bf:	8d 45 c0             	lea    -0x40(%ebp),%eax
42c3c2:	50                   	push   %eax
42c3c3:	e8 cd b1 00 00       	call   0x437595
42c3c8:	83 c4 14             	add    $0x14,%esp
42c3cb:	83 f8 ff             	cmp    $0xffffffff,%eax
42c3ce:	0f 84 14 02 00 00    	je     0x42c5e8
42c3d4:	eb 4f                	jmp    0x42c425
42c3d6:	0f b6 02             	movzbl (%edx),%eax
42c3d9:	0f be 88 b0 52 45 00 	movsbl 0x4552b0(%eax),%ecx
42c3e0:	41                   	inc    %ecx
42c3e1:	89 4d b4             	mov    %ecx,-0x4c(%ebp)
42c3e4:	3b cf                	cmp    %edi,%ecx
42c3e6:	0f 8f b2 01 00 00    	jg     0x42c59e
42c3ec:	ff 75 c4             	push   -0x3c(%ebp)
42c3ef:	33 c0                	xor    %eax,%eax
42c3f1:	89 5d 80             	mov    %ebx,-0x80(%ebp)
42c3f4:	83 f9 04             	cmp    $0x4,%ecx
42c3f7:	89 5d 84             	mov    %ebx,-0x7c(%ebp)
42c3fa:	8d 4d 80             	lea    -0x80(%ebp),%ecx
42c3fd:	89 55 c8             	mov    %edx,-0x38(%ebp)
42c400:	0f 94 c0             	sete   %al
42c403:	40                   	inc    %eax
42c404:	51                   	push   %ecx
42c405:	50                   	push   %eax
42c406:	89 45 cc             	mov    %eax,-0x34(%ebp)
42c409:	8d 45 c8             	lea    -0x38(%ebp),%eax
42c40c:	50                   	push   %eax
42c40d:	8d 45 c0             	lea    -0x40(%ebp),%eax
42c410:	50                   	push   %eax
42c411:	e8 7f b1 00 00       	call   0x437595
42c416:	83 c4 14             	add    $0x14,%esp
42c419:	83 f8 ff             	cmp    $0xffffffff,%eax
42c41c:	0f 84 c6 01 00 00    	je     0x42c5e8
42c422:	8b 7d b0             	mov    -0x50(%ebp),%edi
42c425:	8b 45 d4             	mov    -0x2c(%ebp),%eax
42c428:	03 45 b4             	add    -0x4c(%ebp),%eax
42c42b:	48                   	dec    %eax
42c42c:	e9 8f 00 00 00       	jmp    0x42c4c0
42c431:	8b 0c 85 c0 6d 45 00 	mov    0x456dc0(,%eax,4),%ecx
42c438:	89 4d b4             	mov    %ecx,-0x4c(%ebp)
42c43b:	8a 64 39 2d          	mov    0x2d(%ecx,%edi,1),%ah
42c43f:	f6 c4 04             	test   $0x4,%ah
42c442:	74 1e                	je     0x42c462
42c444:	8a 44 39 2e          	mov    0x2e(%ecx,%edi,1),%al
42c448:	80 e4 fb             	and    $0xfb,%ah
42c44b:	ff 75 c4             	push   -0x3c(%ebp)
42c44e:	88 45 e0             	mov    %al,-0x20(%ebp)
42c451:	8a 02                	mov    (%edx),%al
42c453:	88 45 e1             	mov    %al,-0x1f(%ebp)
42c456:	88 64 39 2d          	mov    %ah,0x2d(%ecx,%edi,1)
42c45a:	8d 45 e0             	lea    -0x20(%ebp),%eax
42c45d:	6a 02                	push   $0x2
42c45f:	50                   	push   %eax
42c460:	eb 46                	jmp    0x42c4a8
42c462:	8b 45 c4             	mov    -0x3c(%ebp),%eax
42c465:	0f b6 0a             	movzbl (%edx),%ecx
42c468:	8b 40 0c             	mov    0xc(%eax),%eax
42c46b:	8b 00                	mov    (%eax),%eax
42c46d:	66 39 1c 48          	cmp    %bx,(%eax,%ecx,2)
42c471:	7d 2f                	jge    0x42c4a2