43e3f4:	83 c4 10             	add    $0x10,%esp
43e3f7:	85 c0                	test   %eax,%eax
43e3f9:	79 08                	jns    0x43e403
43e3fb:	83 0e 02             	orl    $0x2,(%esi)
43e3fe:	e9 cd 00 00 00       	jmp    0x43e4d0
43e403:	83 f8 01             	cmp    $0x1,%eax
43e406:	0f 8e c4 00 00 00    	jle    0x43e4d0
43e40c:	8b 45 24             	mov    0x24(%ebp),%eax
43e40f:	83 40 08 0c          	addl   $0xc,0x8(%eax)
43e413:	e9 b8 00 00 00       	jmp    0x43e4d0
43e418:	68 14 aa 49 00       	push   $0x49aa14
43e41d:	e9 78 fe ff ff       	jmp    0x43e29a
43e422:	68 24 aa 49 00       	push   $0x49aa24
43e427:	e9 6e fe ff ff       	jmp    0x43e29a
43e42c:	ff 75 f0             	push   -0x10(%ebp)
43e42f:	ff 75 24             	push   0x24(%ebp)
43e432:	6a 3c                	push   $0x3c
43e434:	e9 f9 fe ff ff       	jmp    0x43e332
43e439:	68 2c aa 49 00       	push   $0x49aa2c
43e43e:	e9 57 fe ff ff       	jmp    0x43e29a
43e443:	ff 75 f0             	push   -0x10(%ebp)
43e446:	8b 45 24             	mov    0x24(%ebp),%eax
43e449:	83 c0 1c             	add    $0x1c,%eax
43e44c:	50                   	push   %eax
43e44d:	6a 35                	push   $0x35
43e44f:	e9 de fe ff ff       	jmp    0x43e332
43e454:	ff 75 f0             	push   -0x10(%ebp)
43e457:	8b 45 24             	mov    0x24(%ebp),%eax
43e45a:	83 c0 18             	add    $0x18,%eax
43e45d:	50                   	push   %eax
43e45e:	6a 06                	push   $0x6
43e460:	e9 cd fe ff ff       	jmp    0x43e332
43e465:	68 3c aa 49 00       	push   $0x49aa3c
43e46a:	e9 2b fe ff ff       	jmp    0x43e29a
43e46f:	ff 75 f0             	push   -0x10(%ebp)
43e472:	8d 45 e8             	lea    -0x18(%ebp),%eax
43e475:	50                   	push   %eax
43e476:	6a 63                	push   $0x63
43e478:	52                   	push   %edx
43e479:	8d 45 14             	lea    0x14(%ebp),%eax
43e47c:	50                   	push   %eax
43e47d:	8d 45 0c             	lea    0xc(%ebp),%eax
43e480:	50                   	push   %eax
43e481:	57                   	push   %edi
43e482:	e8 70 e4 ff ff       	call   0x43c8f7
43e487:	8b 0e                	mov    (%esi),%ecx
43e489:	83 c4 1c             	add    $0x1c,%esp
43e48c:	0b c8                	or     %eax,%ecx
43e48e:	89 0e                	mov    %ecx,(%esi)
43e490:	f6 c1 02             	test   $0x2,%cl
43e493:	75 3b                	jne    0x43e4d0
43e495:	8b 4d e8             	mov    -0x18(%ebp),%ecx
43e498:	83 f9 45             	cmp    $0x45,%ecx
43e49b:	0f 8d 4a fe ff ff    	jge    0x43e2eb
43e4a1:	83 c1 64             	add    $0x64,%ecx
43e4a4:	e9 42 fe ff ff       	jmp    0x43e2eb
43e4a9:	ff 75 24             	push   0x24(%ebp)
43e4ac:	8d 45 ec             	lea    -0x14(%ebp),%eax
43e4af:	8b cf                	mov    %edi,%ecx
43e4b1:	56                   	push   %esi
43e4b2:	53                   	push   %ebx
43e4b3:	ff 75 18             	push   0x18(%ebp)
43e4b6:	ff 75 14             	push   0x14(%ebp)
43e4b9:	ff 75 10             	push   0x10(%ebp)
43e4bc:	ff 75 0c             	push   0xc(%ebp)
43e4bf:	50                   	push   %eax
43e4c0:	e8 1d 0c 00 00       	call   0x43f0e2
43e4c5:	e9 9d fd ff ff       	jmp    0x43e267
43e4ca:	c7 06 02 00 00 00    	movl   $0x2,(%esi)
43e4d0:	8d 45 14             	lea    0x14(%ebp),%eax
43e4d3:	50                   	push   %eax
43e4d4:	8d 4d 0c             	lea    0xc(%ebp),%ecx
43e4d7:	e8 59 dd fe ff       	call   0x42c235
43e4dc:	84 c0                	test   %al,%al
43e4de:	74 03                	je     0x43e4e3
43e4e0:	83 0e 01             	orl    $0x1,(%esi)
43e4e3:	8b 45 08             	mov    0x8(%ebp),%eax
43e4e6:	8b 4d 0c             	mov    0xc(%ebp),%ecx
43e4e9:	89 08                	mov    %ecx,(%eax)
43e4eb:	8b 4d 10             	mov    0x10(%ebp),%ecx
43e4ee:	89 48 04             	mov    %ecx,0x4(%eax)
43e4f1:	e8 1d 15 00 00       	call   0x43fa13
43e4f6:	c2 28 00             	ret    $0x28
43e4f9:	90                   	nop
43e4fa:	4b                   	dec    %ebx
43e4fb:	e2 43                	loop   0x43e540
43e4fd:	00 77 e2             	add    %dh,-0x1e(%edi)
43e500:	43                   	inc    %ebx
43e501:	00 b8 e2 43 00 1c    	add    %bh,0x1c0043e2(%eax)
43e507:	e3 43                	jecxz  0x43e54c
43e509:	00 26                	add    %ah,(%esi)
43e50b:	e3 43                	jecxz  0x43e550
43e50d:	00 35 e3 43 00 c6    	add    %dh,0xc60043e3
43e513:	e3 43                	jecxz  0x43e558
43e515:	00 22                	add    %ah,(%edx)
43e517:	e4 43                	in     $0x43,%al
43e519:	00 2c e4             	add    %ch,(%esp,%eiz,8)
43e51c:	43                   	inc    %ebx
43e51d:	00 39                	add    %bh,(%ecx)
43e51f:	e4 43                	in     $0x43,%al
43e521:	00 43 e4             	add    %al,-0x1c(%ebx)
43e524:	43                   	inc    %ebx
43e525:	00 a9 e4 43 00 95    	add    %ch,-0x6affbc1c(%ecx)
43e52b:	e2 43                	loop   0x43e570
43e52d:	00 f6                	add    %dh,%dh
43e52f:	e2 43                	loop   0x43e574
43e531:	00 78 e3             	add    %bh,-0x1d(%eax)
43e534:	43                   	inc    %ebx
43e535:	00 8c e3 43 00 d7 e3 	add    %cl,-0x1c28ffbd(%ebx,%eiz,8)
43e53c:	43                   	inc    %ebx
43e53d:	00 e1                	add    %ah,%cl
43e53f:	e3 43                	jecxz  0x43e584
43e541:	00 18                	add    %bl,(%eax)
43e543:	e4 43                	in     $0x43,%al
43e545:	00 54 e4 43          	add    %dl,0x43(%esp,%eiz,8)
43e549:	00 65 e4             	add    %ah,-0x1c(%ebp)
43e54c:	43                   	inc    %ebx
43e54d:	00 6f e4             	add    %ch,-0x1c(%edi)
43e550:	43                   	inc    %ebx
43e551:	00 ca                	add    %cl,%dl
43e553:	e4 43                	in     $0x43,%al
43e555:	00 00                	add    %al,(%eax)
43e557:	01 02                	add    %eax,(%edx)
43e559:	03 16                	add    (%esi),%edx
43e55b:	16                   	push   %ss
43e55c:	16                   	push   %ss
43e55d:	04 05                	add    $0x5,%al
43e55f:	16                   	push   %ss
43e560:	16                   	push   %ss
43e561:	16                   	push   %ss
43e562:	06                   	push   %es
43e563:	16                   	push   %ss
43e564:	16                   	push   %ss
43e565:	16                   	push   %ss
43e566:	16                   	push   %ss
43e567:	07                   	pop    %es
43e568:	08 09                	or     %cl,(%ecx)
43e56a:	0a 16                	or     (%esi),%dl
43e56c:	0a 09                	or     (%ecx),%cl
43e56e:	0b 16                	or     (%esi),%edx
43e570:	16                   	push   %ss
43e571:	16                   	push   %ss
43e572:	16                   	push   %ss
43e573:	16                   	push   %ss
43e574:	16                   	push   %ss
43e575:	16                   	push   %ss
43e576:	00 01                	add    %al,(%ecx)
43e578:	0c 0d                	or     $0xd,%al
43e57a:	0d 16 16 01 16       	or     $0x16011616,%eax
43e57f:	0e                   	push   %cs
43e580:	16                   	push   %ss
43e581:	16                   	push   %ss
43e582:	0f 10 16             	movups (%esi),%xmm2
43e585:	11 16                	adc    %edx,(%esi)
43e587:	12 16                	adc    (%esi),%dl
43e589:	10 16                	adc    %dl,(%esi)
43e58b:	16                   	push   %ss
43e58c:	13 14 15 6a 18 b8 4e 	adc    0x4eb8186a(,%edx,1),%edx
43e593:	2e 49                	cs dec %ecx
43e595:	00 e8                	add    %ch,%al
43e597:	af                   	scas   %es:(%edi),%eax
43e598:	14 00                	adc    $0x0,%al
43e59a:	00 8b d9 89 5d f0    	add    %cl,-0xfa27627(%ebx)
43e5a0:	8b 45 1c             	mov    0x1c(%ebp),%eax
43e5a3:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
43e5a6:	ff 70 30             	push   0x30(%eax)
43e5a9:	e8 8e a8 fe ff       	call   0x428e3c
43e5ae:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
43e5b2:	8d 45 e4             	lea    -0x1c(%ebp),%eax
43e5b5:	50                   	push   %eax
43e5b6:	e8 01 a7 fc ff       	call   0x408cbc
43e5bb:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
43e5bf:	8b f0                	mov    %eax,%esi
43e5c1:	59                   	pop    %ecx
43e5c2:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
43e5c5:	89 75 ec             	mov    %esi,-0x14(%ebp)
43e5c8:	e8 1a 0e fd ff       	call   0x40f3e7
43e5cd:	8b cb                	mov    %ebx,%ecx
43e5cf:	e8 28 fa ff ff       	call   0x43dffc
43e5d4:	8b d8                	mov    %eax,%ebx
43e5d6:	85 db                	test   %ebx,%ebx
43e5d8:	75 03                	jne    0x43e5dd
43e5da:	6a 02                	push   $0x2
43e5dc:	5b                   	pop    %ebx
43e5dd:	8d 45 14             	lea    0x14(%ebp),%eax
43e5e0:	50                   	push   %eax
43e5e1:	8d 4d 0c             	lea    0xc(%ebp),%ecx
43e5e4:	e8 4c dc fe ff       	call   0x42c235
43e5e9:	8b 7d 20             	mov    0x20(%ebp),%edi
43e5ec:	84 c0                	test   %al,%al
43e5ee:	0f 85 e8 00 00 00    	jne    0x43e6dc
43e5f4:	8b 55 10             	mov    0x10(%ebp),%edx
43e5f7:	84 d2                	test   %dl,%dl
43e5f9:	75 0b                	jne    0x43e606
43e5fb:	8d 4d 0c             	lea    0xc(%ebp),%ecx
43e5fe:	e8 77 cb fe ff       	call   0x42b17a
43e603:	8b 55 10             	mov    0x10(%ebp),%edx
43e606:	0f b6 4d 11          	movzbl 0x11(%ebp),%ecx
43e60a:	8b 46 0c             	mov    0xc(%esi),%eax
43e60d:	0f bf 04 48          	movswl (%eax,%ecx,2),%eax
43e611:	c1 e8 02             	shr    $0x2,%eax
43e614:	a8 01                	test   $0x1,%al
43e616:	75 23                	jne    0x43e63b
43e618:	8b 45 24             	mov    0x24(%ebp),%eax
43e61b:	8b 4d f0             	mov    -0x10(%ebp),%ecx
43e61e:	50                   	push   %eax
43e61f:	57                   	push   %edi
43e620:	ff 75 1c             	push   0x1c(%ebp)
43e623:	8d 45 e4             	lea    -0x1c(%ebp),%eax
43e626:	ff 75 18             	push   0x18(%ebp)
43e629:	ff 75 14             	push   0x14(%ebp)
43e62c:	52                   	push   %edx
43e62d:	ff 75 0c             	push   0xc(%ebp)
43e630:	50                   	push   %eax
43e631:	e8 3c 0a 00 00       	call   0x43f072
43e636:	6a 02                	push   $0x2
43e638:	5b                   	pop    %ebx
43e639:	eb 71                	jmp    0x43e6ac
43e63b:	83 fb 02             	cmp    $0x2,%ebx
43e63e:	75 2a                	jne    0x43e66a
43e640:	ff 75 ec             	push   -0x14(%ebp)
43e643:	8b 75 24             	mov    0x24(%ebp),%esi
43e646:	8d 45 14             	lea    0x14(%ebp),%eax
43e649:	83 c6 10             	add    $0x10,%esi
43e64c:	56                   	push   %esi
43e64d:	6a 0c                	push   $0xc
43e64f:	6a 01                	push   $0x1
43e651:	50                   	push   %eax
43e652:	8d 45 0c             	lea    0xc(%ebp),%eax
43e655:	50                   	push   %eax
43e656:	ff 75 f0             	push   -0x10(%ebp)
43e659:	e8 99 e2 ff ff       	call   0x43c8f7
43e65e:	09 07                	or     %eax,(%edi)
43e660:	83 c4 1c             	add    $0x1c,%esp
43e663:	ff 0e                	decl   (%esi)
43e665:	8b 75 ec             	mov    -0x14(%ebp),%esi
43e668:	eb 72                	jmp    0x43e6dc
43e66a:	8b 45 24             	mov    0x24(%ebp),%eax
43e66d:	83 fb 01             	cmp    $0x1,%ebx
43e670:	75 1f                	jne    0x43e691
43e672:	56                   	push   %esi
43e673:	83 c0 0c             	add    $0xc,%eax
43e676:	50                   	push   %eax
43e677:	6a 1f                	push   $0x1f
43e679:	53                   	push   %ebx
43e67a:	8d 45 14             	lea    0x14(%ebp),%eax
43e67d:	50                   	push   %eax
43e67e:	8d 45 0c             	lea    0xc(%ebp),%eax
43e681:	50                   	push   %eax
43e682:	ff 75 f0             	push   -0x10(%ebp)
43e685:	e8 6d e2 ff ff       	call   0x43c8f7
43e68a:	83 c4 1c             	add    $0x1c,%esp
43e68d:	09 07                	or     %eax,(%edi)
43e68f:	eb 4b                	jmp    0x43e6dc
43e691:	8b 4d f0             	mov    -0x10(%ebp),%ecx
43e694:	50                   	push   %eax
43e695:	57                   	push   %edi
43e696:	ff 75 1c             	push   0x1c(%ebp)
43e699:	8d 45 e4             	lea    -0x1c(%ebp),%eax
43e69c:	ff 75 18             	push   0x18(%ebp)
43e69f:	ff 75 14             	push   0x14(%ebp)
43e6a2:	52                   	push   %edx
43e6a3:	ff 75 0c             	push   0xc(%ebp)
43e6a6:	50                   	push   %eax
43e6a7:	e8 36 0a 00 00       	call   0x43f0e2
43e6ac:	8b 08                	mov    (%eax),%ecx
43e6ae:	89 4d 0c             	mov    %ecx,0xc(%ebp)
43e6b1:	8b 40 04             	mov    0x4(%eax),%eax
43e6b4:	89 45 10             	mov    %eax,0x10(%ebp)
43e6b7:	eb 23                	jmp    0x43e6dc
43e6b9:	80 7d 10 00          	cmpb   $0x0,0x10(%ebp)
43e6bd:	75 08                	jne    0x43e6c7
43e6bf:	8d 4d 0c             	lea    0xc(%ebp),%ecx
43e6c2:	e8 b3 ca fe ff       	call   0x42b17a
43e6c7:	0f b6 4d 11          	movzbl 0x11(%ebp),%ecx
43e6cb:	8b 46 0c             	mov    0xc(%esi),%eax
43e6ce:	f6 04 48 48          	testb  $0x48,(%eax,%ecx,2)
43e6d2:	74 18                	je     0x43e6ec
43e6d4:	8d 4d 0c             	lea    0xc(%ebp),%ecx
43e6d7:	e8 79 c2 fe ff       	call   0x42a955
43e6dc:	8d 45 14             	lea    0x14(%ebp),%eax
43e6df:	50                   	push   %eax
43e6e0:	8d 4d 0c             	lea    0xc(%ebp),%ecx
43e6e3:	e8 4d db fe ff       	call   0x42c235
43e6e8:	84 c0                	test   %al,%al
43e6ea:	74 cd                	je     0x43e6b9
43e6ec:	8d 45 14             	lea    0x14(%ebp),%eax
43e6ef:	50                   	push   %eax
43e6f0:	8d 4d 0c             	lea    0xc(%ebp),%ecx
43e6f3:	e8 3d db fe ff       	call   0x42c235
43e6f8:	84 c0                	test   %al,%al
43e6fa:	75 38                	jne    0x43e734
43e6fc:	38 45 10             	cmp    %al,0x10(%ebp)
43e6ff:	75 08                	jne    0x43e709
43e701:	8d 4d 0c             	lea    0xc(%ebp),%ecx
43e704:	e8 71 ca fe ff       	call   0x42b17a
43e709:	8b 06                	mov    (%esi),%eax
43e70b:	6a 00                	push   $0x0
43e70d:	ff 75 11             	push   0x11(%ebp)
43e710:	8b 70 28             	mov    0x28(%eax),%esi
43e713:	8b ce                	mov    %esi,%ecx
43e715:	ff 15 54 43 49 00    	call   *0x494354
43e71b:	8b 4d ec             	mov    -0x14(%ebp),%ecx
43e71e:	ff d6                	call   *%esi
43e720:	3c 3a                	cmp    $0x3a,%al
43e722:	74 08                	je     0x43e72c
43e724:	3c 2c                	cmp    $0x2c,%al
43e726:	74 04                	je     0x43e72c
43e728:	3c 2f                	cmp    $0x2f,%al
43e72a:	75 08                	jne    0x43e734
43e72c:	8d 4d 0c             	lea    0xc(%ebp),%ecx
43e72f:	e8 21 c2 fe ff       	call   0x42a955
43e734:	8d 45 14             	lea    0x14(%ebp),%eax
43e737:	50                   	push   %eax
43e738:	8d 4d 0c             	lea    0xc(%ebp),%ecx
43e73b:	e8 f5 da fe ff       	call   0x42c235
43e740:	84 c0                	test   %al,%al
43e742:	75 39                	jne    0x43e77d
43e744:	8b 7d ec             	mov    -0x14(%ebp),%edi
43e747:	80 7d 10 00          	cmpb   $0x0,0x10(%ebp)
43e74b:	75 08                	jne    0x43e755
43e74d:	8d 4d 0c             	lea    0xc(%ebp),%ecx
43e750:	e8 25 ca fe ff       	call   0x42b17a
43e755:	0f b6 4d 11          	movzbl 0x11(%ebp),%ecx
43e759:	8b 47 0c             	mov    0xc(%edi),%eax
43e75c:	f6 04 48 48          	testb  $0x48,(%eax,%ecx,2)
43e760:	74 18                	je     0x43e77a
43e762:	8d 4d 0c             	lea    0xc(%ebp),%ecx
43e765:	e8 eb c1 fe ff       	call   0x42a955
43e76a:	8d 45 14             	lea    0x14(%ebp),%eax
43e76d:	50                   	push   %eax
43e76e:	8d 4d 0c             	lea    0xc(%ebp),%ecx
43e771:	e8 bf da fe ff       	call   0x42c235
43e776:	84 c0                	test   %al,%al
43e778:	74 cd                	je     0x43e747
43e77a:	8b 7d 20             	mov    0x20(%ebp),%edi
43e77d:	8d 45 14             	lea    0x14(%ebp),%eax
43e780:	50                   	push   %eax
43e781:	8d 4d 0c             	lea    0xc(%ebp),%ecx
43e784:	e8 ac da fe ff       	call   0x42c235
43e789:	84 c0                	test   %al,%al
43e78b:	0f 85 b2 00 00 00    	jne    0x43e843
43e791:	38 45 10             	cmp    %al,0x10(%ebp)
43e794:	75 08                	jne    0x43e79e
43e796:	8d 4d 0c             	lea    0xc(%ebp),%ecx
43e799:	e8 dc c9 fe ff       	call   0x42b17a
43e79e:	8b 55 ec             	mov    -0x14(%ebp),%edx
43e7a1:	0f b6 4d 11          	movzbl 0x11(%ebp),%ecx
43e7a5:	8b 42 0c             	mov    0xc(%edx),%eax
43e7a8:	0f bf 04 48          	movswl (%eax,%ecx,2),%eax