403233:	50                   	push   %eax
403234:	e8 ab 73 01 00       	call   0x41a5e4
403239:	83 c4 0c             	add    $0xc,%esp
40323c:	f7 d8                	neg    %eax
40323e:	1a c0                	sbb    %al,%al
403240:	fe c0                	inc    %al
403242:	88 83 a4 57 00 00    	mov    %al,0x57a4(%ebx)
403248:	c6 83 3c a2 00 00 01 	movb   $0x1,0xa23c(%ebx)
40324f:	e9 4a 03 00 00       	jmp    0x40359e
403254:	83 f8 02             	cmp    $0x2,%eax
403257:	8d 83 c8 57 00 00    	lea    0x57c8(%ebx),%eax
40325d:	74 06                	je     0x403265
40325f:	8d 83 08 7b 00 00    	lea    0x7b08(%ebx),%eax
403265:	8b f8                	mov    %eax,%edi
403267:	6a 00                	push   $0x0
403269:	8b cf                	mov    %edi,%ecx
40326b:	89 45 4c             	mov    %eax,0x4c(%ebp)
40326e:	e8 4f 68 00 00       	call   0x409ac2
403273:	8b 45 20             	mov    0x20(%ebp),%eax
403276:	6a 05                	push   $0x5
403278:	59                   	pop    %ecx
403279:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
40327b:	83 bb 30 57 00 00 02 	cmpl   $0x2,0x5730(%ebx)
403282:	8b 75 4c             	mov    0x4c(%ebp),%esi
403285:	89 86 48 10 00 00    	mov    %eax,0x1048(%esi)
40328b:	8b 45 24             	mov    0x24(%ebp),%eax
40328e:	8d 4d 28             	lea    0x28(%ebp),%ecx
403291:	0f 94 45 53          	sete   0x53(%ebp)
403295:	c6 86 e9 10 00 00 01 	movb   $0x1,0x10e9(%esi)
40329c:	89 86 4c 10 00 00    	mov    %eax,0x104c(%esi)
4032a2:	e8 ff 81 00 00       	call   0x40b4a6
4032a7:	8d 4d 28             	lea    0x28(%ebp),%ecx
4032aa:	89 86 84 10 00 00    	mov    %eax,0x1084(%esi)
4032b0:	e8 f1 81 00 00       	call   0x40b4a6
4032b5:	89 86 50 10 00 00    	mov    %eax,0x1050(%esi)
4032bb:	8b 86 84 10 00 00    	mov    0x1084(%esi),%eax
4032c1:	c1 e8 03             	shr    $0x3,%eax
4032c4:	24 01                	and    $0x1,%al
4032c6:	89 96 54 10 00 00    	mov    %edx,0x1054(%esi)
4032cc:	88 86 8a 10 00 00    	mov    %al,0x108a(%esi)
4032d2:	74 11                	je     0x4032e5
4032d4:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
4032d9:	89 86 50 10 00 00    	mov    %eax,0x1050(%esi)
4032df:	89 86 54 10 00 00    	mov    %eax,0x1054(%esi)
4032e5:	8b 86 4c 10 00 00    	mov    0x104c(%esi),%eax
4032eb:	8b 8e 54 10 00 00    	mov    0x1054(%esi),%ecx
4032f1:	3b c1                	cmp    %ecx,%eax
4032f3:	8b 96 48 10 00 00    	mov    0x1048(%esi),%edx
4032f9:	8b be 50 10 00 00    	mov    0x1050(%esi),%edi
4032ff:	7c 06                	jl     0x403307
403301:	7f 08                	jg     0x40330b
403303:	3b d7                	cmp    %edi,%edx
403305:	77 04                	ja     0x40330b
403307:	8b d7                	mov    %edi,%edx
403309:	8b c1                	mov    %ecx,%eax
40330b:	8d 4d 28             	lea    0x28(%ebp),%ecx
40330e:	89 96 58 10 00 00    	mov    %edx,0x1058(%esi)
403314:	89 86 5c 10 00 00    	mov    %eax,0x105c(%esi)
40331a:	e8 87 81 00 00       	call   0x40b4a6
40331f:	f6 86 84 10 00 00 02 	testb  $0x2,0x1084(%esi)
403326:	89 46 1c             	mov    %eax,0x1c(%esi)
403329:	74 16                	je     0x403341
40332b:	8d 4d 28             	lea    0x28(%ebp),%ecx
40332e:	e8 15 81 00 00       	call   0x40b448
403333:	6a 00                	push   $0x0
403335:	50                   	push   %eax
403336:	8d 8e 30 10 00 00    	lea    0x1030(%esi),%ecx
40333c:	e8 4a dd 00 00       	call   0x41108b
403341:	8d 86 60 10 00 00    	lea    0x1060(%esi),%eax
403347:	83 20 00             	andl   $0x0,(%eax)
40334a:	f6 86 84 10 00 00 04 	testb  $0x4,0x1084(%esi)
403351:	74 14                	je     0x403367
403353:	8d 4d 28             	lea    0x28(%ebp),%ecx
403356:	c7 00 02 00 00 00    	movl   $0x2,(%eax)
40335c:	e8 e7 80 00 00       	call   0x40b448
403361:	89 86 64 10 00 00    	mov    %eax,0x1064(%esi)
403367:	83 a6 f0 10 00 00 00 	andl   $0x0,0x10f0(%esi)
40336e:	8d 4d 28             	lea    0x28(%ebp),%ecx
403371:	e8 30 81 00 00       	call   0x40b4a6
403376:	8b c8                	mov    %eax,%ecx
403378:	c1 e9 07             	shr    $0x7,%ecx
40337b:	80 e1 07             	and    $0x7,%cl
40337e:	89 45 4c             	mov    %eax,0x4c(%ebp)
403381:	88 4e 1a             	mov    %cl,0x1a(%esi)
403384:	24 3f                	and    $0x3f,%al
403386:	8d 4d 28             	lea    0x28(%ebp),%ecx
403389:	88 46 19             	mov    %al,0x19(%esi)
40338c:	e8 15 81 00 00       	call   0x40b4a6
403391:	8d 4d 28             	lea    0x28(%ebp),%ecx
403394:	88 46 18             	mov    %al,0x18(%esi)
403397:	e8 0a 81 00 00       	call   0x40b4a6
40339c:	8a 56 18             	mov    0x18(%esi),%dl
40339f:	8b f8                	mov    %eax,%edi
4033a1:	8b 83 34 57 00 00    	mov    0x5734(%ebx),%eax
4033a7:	c1 e8 06             	shr    $0x6,%eax
4033aa:	24 01                	and    $0x1,%al
4033ac:	8d 8e ec 10 00 00    	lea    0x10ec(%esi),%ecx
4033b2:	88 86 e8 10 00 00    	mov    %al,0x10e8(%esi)
4033b8:	c7 01 02 00 00 00    	movl   $0x2,(%ecx)
4033be:	80 fa 01             	cmp    $0x1,%dl
4033c1:	75 08                	jne    0x4033cb
4033c3:	c7 01 01 00 00 00    	movl   $0x1,(%ecx)
4033c9:	eb 07                	jmp    0x4033d2
4033cb:	84 d2                	test   %dl,%dl
4033cd:	75 03                	jne    0x4033d2
4033cf:	83 21 00             	andl   $0x0,(%ecx)
4033d2:	8b 4e 08             	mov    0x8(%esi),%ecx
4033d5:	8b c1                	mov    %ecx,%eax
4033d7:	c1 e8 03             	shr    $0x3,%eax
4033da:	24 01                	and    $0x1,%al
4033dc:	88 86 88 10 00 00    	mov    %al,0x1088(%esi)
4033e2:	8b c1                	mov    %ecx,%eax
4033e4:	c1 e8 04             	shr    $0x4,%eax
4033e7:	c1 e9 05             	shr    $0x5,%ecx
4033ea:	24 01                	and    $0x1,%al
4033ec:	80 e1 01             	and    $0x1,%cl
4033ef:	80 7d 53 00          	cmpb   $0x0,0x53(%ebp)
4033f3:	88 86 89 10 00 00    	mov    %al,0x1089(%esi)
4033f9:	88 8e ea 10 00 00    	mov    %cl,0x10ea(%esi)
4033ff:	74 0b                	je     0x40340c
403401:	f6 45 4c 40          	testb  $0x40,0x4c(%ebp)
403405:	74 05                	je     0x40340c
403407:	33 c9                	xor    %ecx,%ecx
403409:	41                   	inc    %ecx
40340a:	eb 02                	jmp    0x40340e
40340c:	33 c9                	xor    %ecx,%ecx
40340e:	8a 96 84 10 00 00    	mov    0x1084(%esi),%dl
403414:	88 8e e0 10 00 00    	mov    %cl,0x10e0(%esi)
40341a:	8b 4d 4c             	mov    0x4c(%ebp),%ecx
40341d:	c1 e9 0a             	shr    $0xa,%ecx
403420:	83 e1 0f             	and    $0xf,%ecx
403423:	80 e2 01             	and    $0x1,%dl
403426:	b8 00 00 02 00       	mov    $0x20000,%eax
40342b:	d3 e0                	shl    %cl,%eax
40342d:	0f b6 ca             	movzbl %dl,%ecx
403430:	f7 d9                	neg    %ecx
403432:	1b c9                	sbb    %ecx,%ecx
403434:	f7 d1                	not    %ecx
403436:	23 c8                	and    %eax,%ecx
403438:	0f b6 86 8b 10 00 00 	movzbl 0x108b(%esi),%eax
40343f:	f7 d8                	neg    %eax
403441:	1b c0                	sbb    %eax,%eax
403443:	89 8e e4 10 00 00    	mov    %ecx,0x10e4(%esi)
403449:	83 e0 05             	and    $0x5,%eax
40344c:	b9 ff 1f 00 00       	mov    $0x1fff,%ecx
403451:	88 96 e1 10 00 00    	mov    %dl,0x10e1(%esi)
403457:	89 86 8c 10 00 00    	mov    %eax,0x108c(%esi)
40345d:	3b f9                	cmp    %ecx,%edi
40345f:	72 02                	jb     0x403463
403461:	8b f9                	mov    %ecx,%edi
403463:	57                   	push   %edi
403464:	8d 85 84 df ff ff    	lea    -0x207c(%ebp),%eax
40346a:	50                   	push   %eax
40346b:	8d 4d 28             	lea    0x28(%ebp),%ecx
40346e:	e8 bc 80 00 00       	call   0x40b52f
403473:	c6 84 3d 84 df ff ff 	movb   $0x0,-0x207c(%ebp,%edi,1)
40347a:	00
40347b:	68 ff 07 00 00       	push   $0x7ff
403480:	8d 7e 20             	lea    0x20(%esi),%edi
403483:	57                   	push   %edi
403484:	8d 85 84 df ff ff    	lea    -0x207c(%ebp),%eax
40348a:	50                   	push   %eax
40348b:	e8 79 e4 00 00       	call   0x411909
403490:	8b 45 18             	mov    0x18(%ebp),%eax
403493:	0b 45 1c             	or     0x1c(%ebp),%eax
403496:	74 0f                	je     0x4034a7
403498:	56                   	push   %esi
403499:	ff 75 18             	push   0x18(%ebp)
40349c:	8d 45 28             	lea    0x28(%ebp),%eax
40349f:	50                   	push   %eax
4034a0:	8b cb                	mov    %ebx,%ecx
4034a2:	e8 3e f2 ff ff       	call   0x4026e5
4034a7:	80 7d 53 00          	cmpb   $0x0,0x53(%ebp)
4034ab:	74 0a                	je     0x4034b7
4034ad:	56                   	push   %esi
4034ae:	8b cb                	mov    %ebx,%ecx
4034b0:	e8 cf e5 ff ff       	call   0x401a84
4034b5:	eb 18                	jmp    0x4034cf
4034b7:	68 5c a4 42 00       	push   $0x42a45c
4034bc:	57                   	push   %edi
4034bd:	e8 3f 6f 01 00       	call   0x41a401
4034c2:	59                   	pop    %ecx
4034c3:	59                   	pop    %ecx
4034c4:	85 c0                	test   %eax,%eax
4034c6:	75 07                	jne    0x4034cf
4034c8:	c6 83 36 a2 00 00 01 	movb   $0x1,0xa236(%ebx)
4034cf:	80 7d 4b 00          	cmpb   $0x0,0x4b(%ebp)
4034d3:	0f 84 c5 00 00 00    	je     0x40359e
4034d9:	57                   	push   %edi
4034da:	8d 43 1e             	lea    0x1e(%ebx),%eax
4034dd:	50                   	push   %eax
4034de:	6a 1a                	push   $0x1a
4034e0:	e8 f4 2f 00 00       	call   0x4064d9
4034e5:	e9 b4 00 00 00       	jmp    0x40359e
4034ea:	8d bb 50 57 00 00    	lea    0x5750(%ebx),%edi
4034f0:	8b cf                	mov    %edi,%ecx
4034f2:	e8 a0 65 00 00       	call   0x409a97
4034f7:	6a 05                	push   $0x5
4034f9:	59                   	pop    %ecx
4034fa:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
4034fc:	8d 4d 28             	lea    0x28(%ebp),%ecx
4034ff:	e8 a2 7f 00 00       	call   0x40b4a6
403504:	8a c8                	mov    %al,%cl
403506:	80 e1 01             	and    $0x1,%cl
403509:	88 8b 35 a2 00 00    	mov    %cl,0xa235(%ebx)
40350f:	8b c8                	mov    %eax,%ecx
403511:	c1 e9 02             	shr    $0x2,%ecx
403514:	80 e1 01             	and    $0x1,%cl
403517:	88 8b 34 a2 00 00    	mov    %cl,0xa234(%ebx)
40351d:	8b c8                	mov    %eax,%ecx
40351f:	c1 e9 04             	shr    $0x4,%ecx
403522:	80 e1 01             	and    $0x1,%cl
403525:	88 8b 37 a2 00 00    	mov    %cl,0xa237(%ebx)
40352b:	8b c8                	mov    %eax,%ecx
40352d:	c1 e9 03             	shr    $0x3,%ecx
403530:	80 e1 01             	and    $0x1,%cl
403533:	88 8b 3b a2 00 00    	mov    %cl,0xa23b(%ebx)
403539:	c6 83 38 a2 00 00 00 	movb   $0x0,0xa238(%ebx)
403540:	c6 83 3a a2 00 00 01 	movb   $0x1,0xa23a(%ebx)
403547:	a8 02                	test   $0x2,%al
403549:	74 10                	je     0x40355b
40354b:	8d 4d 28             	lea    0x28(%ebp),%ecx
40354e:	e8 53 7f 00 00       	call   0x40b4a6
403553:	89 83 58 a2 00 00    	mov    %eax,0xa258(%ebx)
403559:	eb 07                	jmp    0x403562
40355b:	83 a3 58 a2 00 00 00 	andl   $0x0,0xa258(%ebx)
403562:	80 bb 35 a2 00 00 00 	cmpb   $0x0,0xa235(%ebx)
403569:	74 0e                	je     0x403579
40356b:	83 bb 58 a2 00 00 00 	cmpl   $0x0,0xa258(%ebx)
403572:	75 05                	jne    0x403579
403574:	33 c0                	xor    %eax,%eax
403576:	40                   	inc    %eax
403577:	eb 02                	jmp    0x40357b
403579:	33 c0                	xor    %eax,%eax
40357b:	88 83 39 a2 00 00    	mov    %al,0xa239(%ebx)
403581:	8b 45 18             	mov    0x18(%ebp),%eax
403584:	0b 45 1c             	or     0x1c(%ebp),%eax
403587:	74 15                	je     0x40359e
403589:	8d 83 50 57 00 00    	lea    0x5750(%ebx),%eax
40358f:	50                   	push   %eax
403590:	ff 75 18             	push   0x18(%ebp)
403593:	8d 45 28             	lea    0x28(%ebp),%eax
403596:	50                   	push   %eax
403597:	8b cb                	mov    %ebx,%ecx
403599:	e8 47 f1 ff ff       	call   0x4026e5
40359e:	8b 83 2c a2 00 00    	mov    0xa22c(%ebx),%eax
4035a4:	3b 83 24 a2 00 00    	cmp    0xa224(%ebx),%eax
4035aa:	7f 10                	jg     0x4035bc
4035ac:	7c 24                	jl     0x4035d2
4035ae:	8b 83 28 a2 00 00    	mov    0xa228(%ebx),%eax
4035b4:	3b 83 20 a2 00 00    	cmp    0xa220(%ebx),%eax
4035ba:	76 16                	jbe    0x4035d2
4035bc:	83 7d 28 00          	cmpl   $0x0,0x28(%ebp)
4035c0:	8b 75 3c             	mov    0x3c(%ebp),%esi
4035c3:	74 09                	je     0x4035ce
4035c5:	ff 75 28             	push   0x28(%ebp)
4035c8:	e8 15 69 01 00       	call   0x419ee2
4035cd:	59                   	pop    %ecx
4035ce:	8b c6                	mov    %esi,%eax
4035d0:	eb 18                	jmp    0x4035ea
4035d2:	8b cb                	mov    %ebx,%ecx
4035d4:	e8 5e e6 ff ff       	call   0x401c37
4035d9:	83 7d 28 00          	cmpl   $0x0,0x28(%ebp)
4035dd:	74 09                	je     0x4035e8
4035df:	ff 75 28             	push   0x28(%ebp)
4035e2:	e8 fb 68 01 00       	call   0x419ee2
4035e7:	59                   	pop    %ecx
4035e8:	33 c0                	xor    %eax,%eax
4035ea:	8b 4d f4             	mov    -0xc(%ebp),%ecx
4035ed:	5f                   	pop    %edi
4035ee:	5e                   	pop    %esi
4035ef:	5b                   	pop    %ebx
4035f0:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
4035f7:	83 c5 54             	add    $0x54,%ebp
4035fa:	c9                   	leave
4035fb:	c3                   	ret
4035fc:	51                   	push   %ecx
4035fd:	56                   	push   %esi
4035fe:	8b f1                	mov    %ecx,%esi
403600:	80 be 45 a2 00 00 00 	cmpb   $0x0,0xa245(%esi)
403607:	75 5d                	jne    0x403666
403609:	8b 06                	mov    (%esi),%eax
40360b:	ff 50 10             	call   *0x10(%eax)
40360e:	89 86 20 a2 00 00    	mov    %eax,0xa220(%esi)
403614:	8b 86 30 a2 00 00    	mov    0xa230(%esi),%eax
40361a:	48                   	dec    %eax
40361b:	48                   	dec    %eax
40361c:	89 96 24 a2 00 00    	mov    %edx,0xa224(%esi)
403622:	74 0c                	je     0x403630
403624:	48                   	dec    %eax
403625:	75 12                	jne    0x403639
403627:	8b ce                	mov    %esi,%ecx
403629:	e8 5b f8 ff ff       	call   0x402e89
40362e:	eb 0d                	jmp    0x40363d
403630:	8b ce                	mov    %esi,%ecx
403632:	e8 41 e6 ff ff       	call   0x401c78
403637:	eb 04                	jmp    0x40363d
403639:	8b 44 24 04          	mov    0x4(%esp),%eax
40363d:	85 c0                	test   %eax,%eax
40363f:	76 27                	jbe    0x403668
403641:	8b 8e 2c a2 00 00    	mov    0xa22c(%esi),%ecx
403647:	3b 8e 24 a2 00 00    	cmp    0xa224(%esi),%ecx
40364d:	7f 19                	jg     0x403668
40364f:	7c 0e                	jl     0x40365f
403651:	8b 8e 28 a2 00 00    	mov    0xa228(%esi),%ecx
403657:	3b 8e 20 a2 00 00    	cmp    0xa220(%esi),%ecx
40365d:	77 09                	ja     0x403668
40365f:	8b ce                	mov    %esi,%ecx
403661:	e8 d1 e5 ff ff       	call   0x401c37
403666:	33 c0                	xor    %eax,%eax
403668:	5e                   	pop    %esi
403669:	59                   	pop    %ecx
40366a:	c3                   	ret
40366b:	53                   	push   %ebx
40366c:	55                   	push   %ebp
40366d:	56                   	push   %esi
40366e:	57                   	push   %edi
40366f:	8b f1                	mov    %ecx,%esi
403671:	33 db                	xor    %ebx,%ebx
403673:	e8 84 ff ff ff       	call   0x4035fc
403678:	8b f8                	mov    %eax,%edi
40367a:	85 ff                	test   %edi,%edi
40367c:	74 39                	je     0x4036b7
40367e:	8b 6c 24 14          	mov    0x14(%esp),%ebp
403682:	83 fd 05             	cmp    $0x5,%ebp
403685:	74 09                	je     0x403690
403687:	83 be 24 57 00 00 05 	cmpl   $0x5,0x5724(%esi)
40368e:	74 27                	je     0x4036b7
403690:	43                   	inc    %ebx
403691:	f6 c3 7f             	test   $0x7f,%bl
403694:	75 05                	jne    0x40369b
403696:	e8 d9 d4 00 00       	call   0x410b74
40369b:	39 ae 24 57 00 00    	cmp    %ebp,0x5724(%esi)
4036a1:	74 1d                	je     0x4036c0
4036a3:	8b ce                	mov    %esi,%ecx
4036a5:	e8 16 da ff ff       	call   0x4010c0
4036aa:	8b ce                	mov    %esi,%ecx
4036ac:	e8 4b ff ff ff       	call   0x4035fc
4036b1:	8b f8                	mov    %eax,%edi
4036b3:	85 ff                	test   %edi,%edi
4036b5:	75 cb                	jne    0x403682
4036b7:	33 c0                	xor    %eax,%eax
4036b9:	5f                   	pop    %edi
4036ba:	5e                   	pop    %esi
4036bb:	5d                   	pop    %ebp
4036bc:	5b                   	pop    %ebx
4036bd:	c2 04 00             	ret    $0x4
4036c0:	8b c7                	mov    %edi,%eax
4036c2:	eb f5                	jmp    0x4036b9
4036c4:	56                   	push   %esi