40c430:	46                   	inc    %esi
40c431:	83 fe 04             	cmp    $0x4,%esi
40c434:	7c f3                	jl     0x40c429
40c436:	83 c1 04             	add    $0x4,%ecx
40c439:	4f                   	dec    %edi
40c43a:	75 eb                	jne    0x40c427
40c43c:	eb 5e                	jmp    0x40c49c
40c43e:	6a 03                	push   $0x3
40c440:	8d 4d cc             	lea    -0x34(%ebp),%ecx
40c443:	5f                   	pop    %edi
40c444:	6a 04                	push   $0x4
40c446:	5e                   	pop    %esi
40c447:	8a 41 fc             	mov    -0x4(%ecx),%al
40c44a:	30 01                	xor    %al,(%ecx)
40c44c:	41                   	inc    %ecx
40c44d:	4e                   	dec    %esi
40c44e:	75 f7                	jne    0x40c447
40c450:	4f                   	dec    %edi
40c451:	75 f1                	jne    0x40c444
40c453:	0f b6 45 d4          	movzbl -0x2c(%ebp),%eax
40c457:	8a 80 c0 7b 43 00    	mov    0x437bc0(%eax),%al
40c45d:	30 45 d8             	xor    %al,-0x28(%ebp)
40c460:	0f b6 45 d5          	movzbl -0x2b(%ebp),%eax
40c464:	8a 80 c0 7b 43 00    	mov    0x437bc0(%eax),%al
40c46a:	30 45 d9             	xor    %al,-0x27(%ebp)
40c46d:	0f b6 45 d6          	movzbl -0x2a(%ebp),%eax
40c471:	8a 80 c0 7b 43 00    	mov    0x437bc0(%eax),%al
40c477:	30 45 da             	xor    %al,-0x26(%ebp)
40c47a:	0f b6 45 d7          	movzbl -0x29(%ebp),%eax
40c47e:	8a 80 c0 7b 43 00    	mov    0x437bc0(%eax),%al
40c484:	30 45 db             	xor    %al,-0x25(%ebp)
40c487:	6a 03                	push   $0x3
40c489:	8d 4d dc             	lea    -0x24(%ebp),%ecx
40c48c:	5f                   	pop    %edi
40c48d:	6a 04                	push   $0x4
40c48f:	5e                   	pop    %esi
40c490:	8a 41 fc             	mov    -0x4(%ecx),%al
40c493:	30 01                	xor    %al,(%ecx)
40c495:	41                   	inc    %ecx
40c496:	4e                   	dec    %esi
40c497:	75 f7                	jne    0x40c490
40c499:	4f                   	dec    %edi
40c49a:	75 f1                	jne    0x40c48d
40c49c:	8b 7d fc             	mov    -0x4(%ebp),%edi
40c49f:	33 c9                	xor    %ecx,%ecx
40c4a1:	85 db                	test   %ebx,%ebx
40c4a3:	7e 3c                	jle    0x40c4e1
40c4a5:	3b 57 04             	cmp    0x4(%edi),%edx
40c4a8:	7f 40                	jg     0x40c4ea
40c4aa:	3b cb                	cmp    %ebx,%ecx
40c4ac:	7d 24                	jge    0x40c4d2
40c4ae:	8d 44 8d c8          	lea    -0x38(%ebp,%ecx,4),%eax
40c4b2:	8b 75 08             	mov    0x8(%ebp),%esi
40c4b5:	83 fe 04             	cmp    $0x4,%esi
40c4b8:	7d 18                	jge    0x40c4d2
40c4ba:	8d 34 96             	lea    (%esi,%edx,4),%esi
40c4bd:	8d 7c b7 18          	lea    0x18(%edi,%esi,4),%edi
40c4c1:	8b f0                	mov    %eax,%esi
40c4c3:	41                   	inc    %ecx
40c4c4:	83 c0 04             	add    $0x4,%eax
40c4c7:	ff 45 08             	incl   0x8(%ebp)
40c4ca:	3b cb                	cmp    %ebx,%ecx
40c4cc:	a5                   	movsl  %ds:(%esi),%es:(%edi)
40c4cd:	8b 7d fc             	mov    -0x4(%ebp),%edi
40c4d0:	7c e0                	jl     0x40c4b2
40c4d2:	83 7d 08 04          	cmpl   $0x4,0x8(%ebp)
40c4d6:	75 05                	jne    0x40c4dd
40c4d8:	42                   	inc    %edx
40c4d9:	83 65 08 00          	andl   $0x0,0x8(%ebp)
40c4dd:	3b cb                	cmp    %ebx,%ecx
40c4df:	7c c4                	jl     0x40c4a5
40c4e1:	3b 57 04             	cmp    0x4(%edi),%edx
40c4e4:	0f 8e e3 fe ff ff    	jle    0x40c3cd
40c4ea:	5f                   	pop    %edi
40c4eb:	5e                   	pop    %esi
40c4ec:	5b                   	pop    %ebx
40c4ed:	c9                   	leave
40c4ee:	c2 04 00             	ret    $0x4
40c4f1:	55                   	push   %ebp
40c4f2:	8b ec                	mov    %esp,%ebp
40c4f4:	83 ec 1c             	sub    $0x1c,%esp
40c4f7:	33 c0                	xor    %eax,%eax
40c4f9:	57                   	push   %edi
40c4fa:	40                   	inc    %eax
40c4fb:	8b f9                	mov    %ecx,%edi
40c4fd:	39 47 04             	cmp    %eax,0x4(%edi)
40c500:	89 45 f8             	mov    %eax,-0x8(%ebp)
40c503:	7e 7b                	jle    0x40c580
40c505:	8d 47 28             	lea    0x28(%edi),%eax
40c508:	53                   	push   %ebx
40c509:	89 45 fc             	mov    %eax,-0x4(%ebp)
40c50c:	56                   	push   %esi
40c50d:	33 c0                	xor    %eax,%eax
40c50f:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40c512:	8d 74 05 e4          	lea    -0x1c(%ebp,%eax,1),%esi
40c516:	83 c1 02             	add    $0x2,%ecx
40c519:	c7 45 f4 04 00 00 00 	movl   $0x4,-0xc(%ebp)
40c520:	0f b6 51 01          	movzbl 0x1(%ecx),%edx
40c524:	0f b6 59 ff          	movzbl -0x1(%ecx),%ebx
40c528:	8a 94 90 a0 4a 43 00 	mov    0x434aa0(%eax,%edx,4),%dl
40c52f:	32 94 98 a0 52 43 00 	xor    0x4352a0(%eax,%ebx,4),%dl
40c536:	0f b6 59 fe          	movzbl -0x2(%ecx),%ebx
40c53a:	32 94 98 a0 56 43 00 	xor    0x4356a0(%eax,%ebx,4),%dl
40c541:	0f b6 19             	movzbl (%ecx),%ebx
40c544:	32 94 98 a0 4e 43 00 	xor    0x434ea0(%eax,%ebx,4),%dl
40c54b:	83 c1 04             	add    $0x4,%ecx
40c54e:	88 16                	mov    %dl,(%esi)
40c550:	83 c6 04             	add    $0x4,%esi
40c553:	ff 4d f4             	decl   -0xc(%ebp)
40c556:	75 c8                	jne    0x40c520
40c558:	40                   	inc    %eax
40c559:	83 f8 04             	cmp    $0x4,%eax
40c55c:	7c b1                	jl     0x40c50f
40c55e:	6a 10                	push   $0x10
40c560:	8d 45 e4             	lea    -0x1c(%ebp),%eax
40c563:	50                   	push   %eax
40c564:	ff 75 fc             	push   -0x4(%ebp)
40c567:	e8 04 f7 00 00       	call   0x41bc70
40c56c:	83 45 fc 10          	addl   $0x10,-0x4(%ebp)
40c570:	83 c4 0c             	add    $0xc,%esp
40c573:	ff 45 f8             	incl   -0x8(%ebp)
40c576:	8b 45 f8             	mov    -0x8(%ebp),%eax
40c579:	3b 47 04             	cmp    0x4(%edi),%eax
40c57c:	7c 8f                	jl     0x40c50d
40c57e:	5e                   	pop    %esi
40c57f:	5b                   	pop    %ebx
40c580:	5f                   	pop    %edi
40c581:	c9                   	leave
40c582:	c3                   	ret
40c583:	55                   	push   %ebp
40c584:	8b ec                	mov    %esp,%ebp
40c586:	81 ec 04 03 00 00    	sub    $0x304,%esp
40c58c:	53                   	push   %ebx
40c58d:	56                   	push   %esi
40c58e:	33 c0                	xor    %eax,%eax
40c590:	33 c9                	xor    %ecx,%ecx
40c592:	40                   	inc    %eax
40c593:	be 1b 01 00 00       	mov    $0x11b,%esi
40c598:	57                   	push   %edi
40c599:	8b d0                	mov    %eax,%edx
40c59b:	80 e2 80             	and    $0x80,%dl
40c59e:	0f be d2             	movsbl %dl,%edx
40c5a1:	88 84 0d fc fc ff ff 	mov    %al,-0x304(%ebp,%ecx,1)
40c5a8:	88 84 0d fb fd ff ff 	mov    %al,-0x205(%ebp,%ecx,1)
40c5af:	88 8c 05 fc fe ff ff 	mov    %cl,-0x104(%ebp,%eax,1)
40c5b6:	41                   	inc    %ecx
40c5b7:	f7 da                	neg    %edx
40c5b9:	1b d2                	sbb    %edx,%edx
40c5bb:	23 d6                	and    %esi,%edx
40c5bd:	8d 3c 00             	lea    (%eax,%eax,1),%edi
40c5c0:	33 d7                	xor    %edi,%edx
40c5c2:	33 c2                	xor    %edx,%eax
40c5c4:	83 f8 01             	cmp    $0x1,%eax
40c5c7:	75 d0                	jne    0x40c599
40c5c9:	33 c9                	xor    %ecx,%ecx
40c5cb:	5f                   	pop    %edi
40c5cc:	8b d0                	mov    %eax,%edx
40c5ce:	80 e2 80             	and    $0x80,%dl
40c5d1:	0f be d2             	movsbl %dl,%edx
40c5d4:	f7 da                	neg    %edx
40c5d6:	1b d2                	sbb    %edx,%edx
40c5d8:	88 81 a0 7a 43 00    	mov    %al,0x437aa0(%ecx)
40c5de:	23 d6                	and    %esi,%edx
40c5e0:	03 c0                	add    %eax,%eax
40c5e2:	33 c2                	xor    %edx,%eax
40c5e4:	41                   	inc    %ecx
40c5e5:	83 f9 1e             	cmp    $0x1e,%ecx
40c5e8:	72 e2                	jb     0x40c5cc
40c5ea:	33 db                	xor    %ebx,%ebx
40c5ec:	89 5d fc             	mov    %ebx,-0x4(%ebp)
40c5ef:	eb 03                	jmp    0x40c5f4
40c5f1:	8b 5d fc             	mov    -0x4(%ebp),%ebx
40c5f4:	84 db                	test   %bl,%bl
40c5f6:	74 18                	je     0x40c610
40c5f8:	0f b6 c3             	movzbl %bl,%eax
40c5fb:	0f b6 84 05 fc fe ff 	movzbl -0x104(%ebp,%eax,1),%eax
40c602:	ff
40c603:	8d 8d fb fd ff ff    	lea    -0x205(%ebp),%ecx
40c609:	2b c8                	sub    %eax,%ecx
40c60b:	0f b6 01             	movzbl (%ecx),%eax
40c60e:	eb 02                	jmp    0x40c612
40c610:	33 c0                	xor    %eax,%eax
40c612:	8d 0c 00             	lea    (%eax,%eax,1),%ecx
40c615:	33 c8                	xor    %eax,%ecx
40c617:	03 c9                	add    %ecx,%ecx
40c619:	33 c8                	xor    %eax,%ecx
40c61b:	03 c9                	add    %ecx,%ecx
40c61d:	33 c8                	xor    %eax,%ecx
40c61f:	03 c9                	add    %ecx,%ecx
40c621:	33 c1                	xor    %ecx,%eax
40c623:	8b c8                	mov    %eax,%ecx
40c625:	c1 f9 08             	sar    $0x8,%ecx
40c628:	32 c8                	xor    %al,%cl
40c62a:	80 f1 63             	xor    $0x63,%cl
40c62d:	8d 04 9d 00 00 00 00 	lea    0x0(,%ebx,4),%eax
40c634:	8d 90 a0 6a 43 00    	lea    0x436aa0(%eax),%edx
40c63a:	88 8b c0 7b 43 00    	mov    %cl,0x437bc0(%ebx)
40c640:	88 4a 01             	mov    %cl,0x1(%edx)
40c643:	88 0a                	mov    %cl,(%edx)
40c645:	88 88 a3 6e 43 00    	mov    %cl,0x436ea3(%eax)
40c64b:	88 88 a0 6e 43 00    	mov    %cl,0x436ea0(%eax)
40c651:	88 88 a3 72 43 00    	mov    %cl,0x4372a3(%eax)
40c657:	88 88 a2 72 43 00    	mov    %cl,0x4372a2(%eax)
40c65d:	88 88 a2 76 43 00    	mov    %cl,0x4376a2(%eax)
40c663:	88 88 a1 76 43 00    	mov    %cl,0x4376a1(%eax)
40c669:	74 15                	je     0x40c680
40c66b:	0f b6 d1             	movzbl %cl,%edx
40c66e:	0f b6 94 15 fc fe ff 	movzbl -0x104(%ebp,%edx,1),%edx
40c675:	ff
40c676:	0f b6 94 15 15 fd ff 	movzbl -0x2eb(%ebp,%edx,1),%edx
40c67d:	ff
40c67e:	eb 02                	jmp    0x40c682
40c680:	33 d2                	xor    %edx,%edx
40c682:	88 90 a3 6a 43 00    	mov    %dl,0x436aa3(%eax)
40c688:	88 90 a2 6e 43 00    	mov    %dl,0x436ea2(%eax)
40c68e:	88 90 a1 72 43 00    	mov    %dl,0x4372a1(%eax)
40c694:	88 90 a0 76 43 00    	mov    %dl,0x4376a0(%eax)
40c69a:	84 c9                	test   %cl,%cl
40c69c:	74 15                	je     0x40c6b3
40c69e:	0f b6 c9             	movzbl %cl,%ecx
40c6a1:	0f b6 8c 0d fc fe ff 	movzbl -0x104(%ebp,%ecx,1),%ecx
40c6a8:	ff
40c6a9:	0f b6 8c 0d fd fc ff 	movzbl -0x303(%ebp,%ecx,1),%ecx
40c6b0:	ff
40c6b1:	eb 02                	jmp    0x40c6b5
40c6b3:	33 c9                	xor    %ecx,%ecx
40c6b5:	88 88 a2 6a 43 00    	mov    %cl,0x436aa2(%eax)
40c6bb:	88 88 a1 6e 43 00    	mov    %cl,0x436ea1(%eax)
40c6c1:	88 88 a0 72 43 00    	mov    %cl,0x4372a0(%eax)
40c6c7:	88 88 a3 76 43 00    	mov    %cl,0x4376a3(%eax)
40c6cd:	0f b6 f3             	movzbl %bl,%esi
40c6d0:	8b ce                	mov    %esi,%ecx
40c6d2:	c1 e1 03             	shl    $0x3,%ecx
40c6d5:	33 ce                	xor    %esi,%ecx
40c6d7:	c1 e1 02             	shl    $0x2,%ecx
40c6da:	33 ce                	xor    %esi,%ecx
40c6dc:	03 c9                	add    %ecx,%ecx
40c6de:	8b d1                	mov    %ecx,%edx
40c6e0:	c1 fa 08             	sar    $0x8,%edx
40c6e3:	32 d1                	xor    %cl,%dl
40c6e5:	80 f2 05             	xor    $0x5,%dl
40c6e8:	74 32                	je     0x40c71c
40c6ea:	8b ce                	mov    %esi,%ecx
40c6ec:	c1 e1 03             	shl    $0x3,%ecx
40c6ef:	33 ce                	xor    %esi,%ecx
40c6f1:	c1 e1 02             	shl    $0x2,%ecx
40c6f4:	33 ce                	xor    %esi,%ecx
40c6f6:	03 c9                	add    %ecx,%ecx
40c6f8:	8b d1                	mov    %ecx,%edx
40c6fa:	c1 fa 08             	sar    $0x8,%edx
40c6fd:	0f b6 d2             	movzbl %dl,%edx
40c700:	0f b6 c9             	movzbl %cl,%ecx
40c703:	33 d1                	xor    %ecx,%edx
40c705:	83 f2 05             	xor    $0x5,%edx
40c708:	0f b6 8c 15 fc fe ff 	movzbl -0x104(%ebp,%edx,1),%ecx
40c70f:	ff
40c710:	8d 95 fb fd ff ff    	lea    -0x205(%ebp),%edx
40c716:	2b d1                	sub    %ecx,%edx
40c718:	8a 1a                	mov    (%edx),%bl
40c71a:	eb 02                	jmp    0x40c71e
40c71c:	32 db                	xor    %bl,%bl
40c71e:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40c721:	88 99 c0 7a 43 00    	mov    %bl,0x437ac0(%ecx)
40c727:	84 db                	test   %bl,%bl
40c729:	74 15                	je     0x40c740
40c72b:	0f b6 cb             	movzbl %bl,%ecx
40c72e:	0f b6 8c 0d fc fe ff 	movzbl -0x104(%ebp,%ecx,1),%ecx
40c735:	ff
40c736:	0f b6 94 0d 64 fd ff 	movzbl -0x29c(%ebp,%ecx,1),%edx
40c73d:	ff
40c73e:	eb 02                	jmp    0x40c742
40c740:	33 d2                	xor    %edx,%edx
40c742:	0f b6 f3             	movzbl %bl,%esi
40c745:	8b ce                	mov    %esi,%ecx
40c747:	c1 e1 02             	shl    $0x2,%ecx
40c74a:	88 90 a2 5a 43 00    	mov    %dl,0x435aa2(%eax)
40c750:	88 90 a1 5e 43 00    	mov    %dl,0x435ea1(%eax)
40c756:	88 90 a0 62 43 00    	mov    %dl,0x4362a0(%eax)
40c75c:	88 90 a3 66 43 00    	mov    %dl,0x4366a3(%eax)
40c762:	88 91 a2 4a 43 00    	mov    %dl,0x434aa2(%ecx)
40c768:	88 91 a1 4e 43 00    	mov    %dl,0x434ea1(%ecx)
40c76e:	88 91 a0 52 43 00    	mov    %dl,0x4352a0(%ecx)
40c774:	88 91 a3 56 43 00    	mov    %dl,0x4356a3(%ecx)
40c77a:	84 db                	test   %bl,%bl
40c77c:	74 12                	je     0x40c790
40c77e:	0f b6 94 35 fc fe ff 	movzbl -0x104(%ebp,%esi,1),%edx
40c785:	ff
40c786:	0f b6 94 15 c3 fd ff 	movzbl -0x23d(%ebp,%edx,1),%edx
40c78d:	ff
40c78e:	eb 02                	jmp    0x40c792
40c790:	33 d2                	xor    %edx,%edx
40c792:	88 90 a0 5a 43 00    	mov    %dl,0x435aa0(%eax)
40c798:	88 90 a3 5e 43 00    	mov    %dl,0x435ea3(%eax)
40c79e:	88 90 a2 62 43 00    	mov    %dl,0x4362a2(%eax)
40c7a4:	88 90 a1 66 43 00    	mov    %dl,0x4366a1(%eax)
40c7aa:	88 91 a0 4a 43 00    	mov    %dl,0x434aa0(%ecx)
40c7b0:	88 91 a3 4e 43 00    	mov    %dl,0x434ea3(%ecx)
40c7b6:	88 91 a2 52 43 00    	mov    %dl,0x4352a2(%ecx)
40c7bc:	88 91 a1 56 43 00    	mov    %dl,0x4356a1(%ecx)
40c7c2:	84 db                	test   %bl,%bl
40c7c4:	74 12                	je     0x40c7d8
40c7c6:	0f b6 94 35 fc fe ff 	movzbl -0x104(%ebp,%esi,1),%edx
40c7cd:	ff
40c7ce:	0f b6 94 15 ea fd ff 	movzbl -0x216(%ebp,%edx,1),%edx
40c7d5:	ff
40c7d6:	eb 02                	jmp    0x40c7da
40c7d8:	33 d2                	xor    %edx,%edx
40c7da:	88 90 a1 5a 43 00    	mov    %dl,0x435aa1(%eax)
40c7e0:	88 90 a0 5e 43 00    	mov    %dl,0x435ea0(%eax)
40c7e6:	88 90 a3 62 43 00    	mov    %dl,0x4362a3(%eax)
40c7ec:	88 90 a2 66 43 00    	mov    %dl,0x4366a2(%eax)
40c7f2:	88 91 a1 4a 43 00    	mov    %dl,0x434aa1(%ecx)
40c7f8:	88 91 a0 4e 43 00    	mov    %dl,0x434ea0(%ecx)
40c7fe:	88 91 a3 52 43 00    	mov    %dl,0x4352a3(%ecx)
40c804:	88 91 a2 56 43 00    	mov    %dl,0x4356a2(%ecx)
40c80a:	84 db                	test   %bl,%bl
40c80c:	74 12                	je     0x40c820
40c80e:	0f b6 94 35 fc fe ff 	movzbl -0x104(%ebp,%esi,1),%edx
40c815:	ff
40c816:	0f b6 94 15 db fd ff 	movzbl -0x225(%ebp,%edx,1),%edx
40c81d:	ff
40c81e:	eb 02                	jmp    0x40c822
40c820:	33 d2                	xor    %edx,%edx
40c822:	ff 45 fc             	incl   -0x4(%ebp)
40c825:	81 7d fc 00 01 00 00 	cmpl   $0x100,-0x4(%ebp)
40c82c:	88 90 a3 5a 43 00    	mov    %dl,0x435aa3(%eax)
40c832:	88 90 a2 5e 43 00    	mov    %dl,0x435ea2(%eax)
40c838:	88 90 a1 62 43 00    	mov    %dl,0x4362a1(%eax)
40c83e:	88 90 a0 66 43 00    	mov    %dl,0x4366a0(%eax)
40c844:	88 91 a3 4a 43 00    	mov    %dl,0x434aa3(%ecx)
40c84a:	88 91 a2 4e 43 00    	mov    %dl,0x434ea2(%ecx)
40c850:	88 91 a1 52 43 00    	mov    %dl,0x4352a1(%ecx)
40c856:	88 91 a0 56 43 00    	mov    %dl,0x4356a0(%ecx)
40c85c:	0f 8c 8f fd ff ff    	jl     0x40c5f1
40c862:	5e                   	pop    %esi
40c863:	5b                   	pop    %ebx
40c864:	c9                   	leave
40c865:	c3                   	ret
40c866:	80 3d c0 7b 43 00 00 	cmpb   $0x0,0x437bc0
40c86d:	56                   	push   %esi
40c86e:	8b f1                	mov    %ecx,%esi
40c870:	75 05                	jne    0x40c877
40c872:	e8 0c fd ff ff       	call   0x40c583
40c877:	c6 46 01 01          	movb   $0x1,0x1(%esi)
40c87b:	8b c6                	mov    %esi,%eax
40c87d:	5e                   	pop    %esi
40c87e:	c3                   	ret
40c87f:	55                   	push   %ebp
40c880:	8b ec                	mov    %esp,%ebp
40c882:	83 ec 24             	sub    $0x24,%esp