4382d4:	8d 45 e8             	lea    -0x18(%ebp),%eax
4382d7:	50                   	push   %eax
4382d8:	6a 0c                	push   $0xc
4382da:	6a 01                	push   $0x1
4382dc:	8d 45 14             	lea    0x14(%ebp),%eax
4382df:	50                   	push   %eax
4382e0:	8d 45 0c             	lea    0xc(%ebp),%eax
4382e3:	50                   	push   %eax
4382e4:	57                   	push   %edi
4382e5:	e8 b8 af ff ff       	call   0x4332a2
4382ea:	8b 0e                	mov    (%esi),%ecx
4382ec:	83 c4 1c             	add    $0x1c,%esp
4382ef:	0b c8                	or     %eax,%ecx
4382f1:	89 0e                	mov    %ecx,(%esi)
4382f3:	f6 c1 02             	test   $0x2,%cl
4382f6:	0f 85 70 01 00 00    	jne    0x43846c
4382fc:	8b 4d e8             	mov    -0x18(%ebp),%ecx
4382ff:	8b 45 24             	mov    0x24(%ebp),%eax
438302:	83 e9 0c             	sub    $0xc,%ecx
438305:	f7 d9                	neg    %ecx
438307:	1b c9                	sbb    %ecx,%ecx
438309:	23 4d e8             	and    -0x18(%ebp),%ecx
43830c:	89 48 08             	mov    %ecx,0x8(%eax)
43830f:	e9 58 01 00 00       	jmp    0x43846c
438314:	ff 75 f0             	push   -0x10(%ebp)
438317:	8b 45 24             	mov    0x24(%ebp),%eax
43831a:	83 c0 1c             	add    $0x1c,%eax
43831d:	50                   	push   %eax
43831e:	68 6e 01 00 00       	push   $0x16e
438323:	e9 76 ff ff ff       	jmp    0x43829e
438328:	ff 75 f0             	push   -0x10(%ebp)
43832b:	8d 45 e8             	lea    -0x18(%ebp),%eax
43832e:	50                   	push   %eax
43832f:	6a 0c                	push   $0xc
438331:	6a 01                	push   $0x1
438333:	8d 45 14             	lea    0x14(%ebp),%eax
438336:	50                   	push   %eax
438337:	8d 45 0c             	lea    0xc(%ebp),%eax
43833a:	50                   	push   %eax
43833b:	57                   	push   %edi
43833c:	e8 61 af ff ff       	call   0x4332a2
438341:	8b 0e                	mov    (%esi),%ecx
438343:	83 c4 1c             	add    $0x1c,%esp
438346:	0b c8                	or     %eax,%ecx
438348:	89 0e                	mov    %ecx,(%esi)
43834a:	f6 c1 02             	test   $0x2,%cl
43834d:	0f 85 19 01 00 00    	jne    0x43846c
438353:	8b 45 24             	mov    0x24(%ebp),%eax
438356:	8b 4d e8             	mov    -0x18(%ebp),%ecx
438359:	49                   	dec    %ecx
43835a:	89 48 10             	mov    %ecx,0x10(%eax)
43835d:	e9 0a 01 00 00       	jmp    0x43846c
438362:	ff 75 f0             	push   -0x10(%ebp)
438365:	8b 45 24             	mov    0x24(%ebp),%eax
438368:	83 c0 04             	add    $0x4,%eax
43836b:	50                   	push   %eax
43836c:	6a 3b                	push   $0x3b
43836e:	e9 5b ff ff ff       	jmp    0x4382ce
438373:	68 00 aa 49 00       	push   $0x49aa00
438378:	e9 b9 fe ff ff       	jmp    0x438236
43837d:	68 04 aa 49 00       	push   $0x49aa04
438382:	52                   	push   %edx
438383:	8d 45 14             	lea    0x14(%ebp),%eax
438386:	50                   	push   %eax
438387:	8d 45 0c             	lea    0xc(%ebp),%eax
43838a:	50                   	push   %eax
43838b:	e8 5a 54 ff ff       	call   0x42d7ea
438390:	83 c4 10             	add    $0x10,%esp
438393:	85 c0                	test   %eax,%eax
438395:	79 08                	jns    0x43839f
438397:	83 0e 02             	orl    $0x2,(%esi)
43839a:	e9 cd 00 00 00       	jmp    0x43846c
43839f:	83 f8 01             	cmp    $0x1,%eax
4383a2:	0f 8e c4 00 00 00    	jle    0x43846c
4383a8:	8b 45 24             	mov    0x24(%ebp),%eax
4383ab:	83 40 08 0c          	addl   $0xc,0x8(%eax)
4383af:	e9 b8 00 00 00       	jmp    0x43846c
4383b4:	68 14 aa 49 00       	push   $0x49aa14
4383b9:	e9 78 fe ff ff       	jmp    0x438236
4383be:	68 24 aa 49 00       	push   $0x49aa24
4383c3:	e9 6e fe ff ff       	jmp    0x438236
4383c8:	ff 75 f0             	push   -0x10(%ebp)
4383cb:	ff 75 24             	push   0x24(%ebp)
4383ce:	6a 3c                	push   $0x3c
4383d0:	e9 f9 fe ff ff       	jmp    0x4382ce
4383d5:	68 2c aa 49 00       	push   $0x49aa2c
4383da:	e9 57 fe ff ff       	jmp    0x438236
4383df:	ff 75 f0             	push   -0x10(%ebp)
4383e2:	8b 45 24             	mov    0x24(%ebp),%eax
4383e5:	83 c0 1c             	add    $0x1c,%eax
4383e8:	50                   	push   %eax
4383e9:	6a 35                	push   $0x35
4383eb:	e9 de fe ff ff       	jmp    0x4382ce
4383f0:	ff 75 f0             	push   -0x10(%ebp)
4383f3:	8b 45 24             	mov    0x24(%ebp),%eax
4383f6:	83 c0 18             	add    $0x18,%eax
4383f9:	50                   	push   %eax
4383fa:	6a 06                	push   $0x6
4383fc:	e9 cd fe ff ff       	jmp    0x4382ce
438401:	68 3c aa 49 00       	push   $0x49aa3c
438406:	e9 2b fe ff ff       	jmp    0x438236
43840b:	ff 75 f0             	push   -0x10(%ebp)
43840e:	8d 45 e8             	lea    -0x18(%ebp),%eax
438411:	50                   	push   %eax
438412:	6a 63                	push   $0x63
438414:	52                   	push   %edx
438415:	8d 45 14             	lea    0x14(%ebp),%eax
438418:	50                   	push   %eax
438419:	8d 45 0c             	lea    0xc(%ebp),%eax
43841c:	50                   	push   %eax
43841d:	57                   	push   %edi
43841e:	e8 7f ae ff ff       	call   0x4332a2
438423:	8b 0e                	mov    (%esi),%ecx
438425:	83 c4 1c             	add    $0x1c,%esp
438428:	0b c8                	or     %eax,%ecx
43842a:	89 0e                	mov    %ecx,(%esi)
43842c:	f6 c1 02             	test   $0x2,%cl
43842f:	75 3b                	jne    0x43846c
438431:	8b 4d e8             	mov    -0x18(%ebp),%ecx
438434:	83 f9 45             	cmp    $0x45,%ecx
438437:	0f 8d 4a fe ff ff    	jge    0x438287
43843d:	83 c1 64             	add    $0x64,%ecx
438440:	e9 42 fe ff ff       	jmp    0x438287
438445:	ff 75 24             	push   0x24(%ebp)
438448:	8d 45 ec             	lea    -0x14(%ebp),%eax
43844b:	8b cf                	mov    %edi,%ecx
43844d:	56                   	push   %esi
43844e:	53                   	push   %ebx
43844f:	ff 75 18             	push   0x18(%ebp)
438452:	ff 75 14             	push   0x14(%ebp)
438455:	ff 75 10             	push   0x10(%ebp)
438458:	ff 75 0c             	push   0xc(%ebp)
43845b:	50                   	push   %eax
43845c:	e8 ce 2b 00 00       	call   0x43b02f
438461:	e9 9d fd ff ff       	jmp    0x438203
438466:	c7 06 02 00 00 00    	movl   $0x2,(%esi)
43846c:	8d 45 14             	lea    0x14(%ebp),%eax
43846f:	50                   	push   %eax
438470:	8d 4d 0c             	lea    0xc(%ebp),%ecx
438473:	e8 7c 87 fe ff       	call   0x420bf4
438478:	84 c0                	test   %al,%al
43847a:	74 03                	je     0x43847f
43847c:	83 0e 01             	orl    $0x1,(%esi)
43847f:	8b 45 08             	mov    0x8(%ebp),%eax
438482:	8b 4d 0c             	mov    0xc(%ebp),%ecx
438485:	89 08                	mov    %ecx,(%eax)
438487:	8b 4d 10             	mov    0x10(%ebp),%ecx
43848a:	89 48 04             	mov    %ecx,0x4(%eax)
43848d:	e8 81 75 00 00       	call   0x43fa13
438492:	c2 28 00             	ret    $0x28
438495:	90                   	nop
438496:	e7 81                	out    %eax,$0x81
438498:	43                   	inc    %ebx
438499:	00 13                	add    %dl,(%ebx)
43849b:	82 43 00 54          	addb   $0x54,0x0(%ebx)
43849f:	82 43 00 b8          	addb   $0xb8,0x0(%ebx)
4384a3:	82 43 00 c2          	addb   $0xc2,0x0(%ebx)
4384a7:	82 43 00 d1          	addb   $0xd1,0x0(%ebx)
4384ab:	82 43 00 62          	addb   $0x62,0x0(%ebx)
4384af:	83 43 00 be          	addl   $0xffffffbe,0x0(%ebx)
4384b3:	83 43 00 c8          	addl   $0xffffffc8,0x0(%ebx)
4384b7:	83 43 00 d5          	addl   $0xffffffd5,0x0(%ebx)
4384bb:	83 43 00 df          	addl   $0xffffffdf,0x0(%ebx)
4384bf:	83 43 00 45          	addl   $0x45,0x0(%ebx)
4384c3:	84 43 00             	test   %al,0x0(%ebx)
4384c6:	31 82 43 00 92 82    	xor    %eax,-0x7d6dffbd(%edx)
4384cc:	43                   	inc    %ebx
4384cd:	00 14 83             	add    %dl,(%ebx,%eax,4)
4384d0:	43                   	inc    %ebx
4384d1:	00 28                	add    %ch,(%eax)
4384d3:	83 43 00 73          	addl   $0x73,0x0(%ebx)
4384d7:	83 43 00 7d          	addl   $0x7d,0x0(%ebx)
4384db:	83 43 00 b4          	addl   $0xffffffb4,0x0(%ebx)
4384df:	83 43 00 f0          	addl   $0xfffffff0,0x0(%ebx)
4384e3:	83 43 00 01          	addl   $0x1,0x0(%ebx)
4384e7:	84 43 00             	test   %al,0x0(%ebx)
4384ea:	0b 84 43 00 66 84 43 	or     0x43846600(%ebx,%eax,2),%eax
4384f1:	00 00                	add    %al,(%eax)
4384f3:	01 02                	add    %eax,(%edx)
4384f5:	03 16                	add    (%esi),%edx
4384f7:	16                   	push   %ss
4384f8:	16                   	push   %ss
4384f9:	04 05                	add    $0x5,%al
4384fb:	16                   	push   %ss
4384fc:	16                   	push   %ss
4384fd:	16                   	push   %ss
4384fe:	06                   	push   %es
4384ff:	16                   	push   %ss
438500:	16                   	push   %ss
438501:	16                   	push   %ss
438502:	16                   	push   %ss
438503:	07                   	pop    %es
438504:	08 09                	or     %cl,(%ecx)
438506:	0a 16                	or     (%esi),%dl
438508:	0a 09                	or     (%ecx),%cl
43850a:	0b 16                	or     (%esi),%edx
43850c:	16                   	push   %ss
43850d:	16                   	push   %ss
43850e:	16                   	push   %ss
43850f:	16                   	push   %ss
438510:	16                   	push   %ss
438511:	16                   	push   %ss
438512:	00 01                	add    %al,(%ecx)
438514:	0c 0d                	or     $0xd,%al
438516:	0d 16 16 01 16       	or     $0x16011616,%eax
43851b:	0e                   	push   %cs
43851c:	16                   	push   %ss
43851d:	16                   	push   %ss
43851e:	0f 10 16             	movups (%esi),%xmm2
438521:	11 16                	adc    %edx,(%esi)
438523:	12 16                	adc    (%esi),%dl
438525:	10 16                	adc    %dl,(%esi)
438527:	16                   	push   %ss
438528:	13 14 15 6a 1c b8 8e 	adc    -0x7147e396(,%edx,1),%edx
43852f:	25 49 00 e8 13       	and    $0x13e80049,%eax
438534:	75 00                	jne    0x438536
438536:	00 8b f1 89 75 f0    	add    %cl,-0xf8a760f(%ebx)
43853c:	8b 45 1c             	mov    0x1c(%ebp),%eax
43853f:	8d 4d e8             	lea    -0x18(%ebp),%ecx
438542:	ff 70 30             	push   0x30(%eax)
438545:	e8 f2 08 ff ff       	call   0x428e3c
43854a:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
43854e:	8d 45 e8             	lea    -0x18(%ebp),%eax
438551:	50                   	push   %eax
438552:	e8 a6 65 ff ff       	call   0x42eafd
438557:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
43855b:	8b d8                	mov    %eax,%ebx
43855d:	59                   	pop    %ecx
43855e:	8d 4d e8             	lea    -0x18(%ebp),%ecx
438561:	e8 81 6e fd ff       	call   0x40f3e7
438566:	8b ce                	mov    %esi,%ecx
438568:	e8 a5 ea ff ff       	call   0x437012
43856d:	8b f0                	mov    %eax,%esi
43856f:	89 75 ec             	mov    %esi,-0x14(%ebp)
438572:	85 f6                	test   %esi,%esi
438574:	75 07                	jne    0x43857d
438576:	c7 45 ec 02 00 00 00 	movl   $0x2,-0x14(%ebp)
43857d:	8d 45 14             	lea    0x14(%ebp),%eax
438580:	50                   	push   %eax
438581:	8d 4d 0c             	lea    0xc(%ebp),%ecx
438584:	e8 b7 28 00 00       	call   0x43ae40
438589:	8b 7d 20             	mov    0x20(%ebp),%edi
43858c:	84 c0                	test   %al,%al
43858e:	0f 85 09 01 00 00    	jne    0x43869d
438594:	80 7d 10 00          	cmpb   $0x0,0x10(%ebp)
438598:	75 08                	jne    0x4385a2
43859a:	8d 4d 0c             	lea    0xc(%ebp),%ecx
43859d:	e8 75 d9 ff ff       	call   0x435f17
4385a2:	8b 03                	mov    (%ebx),%eax
4385a4:	ff 75 12             	push   0x12(%ebp)
4385a7:	6a 04                	push   $0x4
4385a9:	8b 70 10             	mov    0x10(%eax),%esi
4385ac:	8b ce                	mov    %esi,%ecx
4385ae:	ff 15 54 43 49 00    	call   *0x494354
4385b4:	8b cb                	mov    %ebx,%ecx
4385b6:	ff d6                	call   *%esi
4385b8:	84 c0                	test   %al,%al
4385ba:	75 30                	jne    0x4385ec
4385bc:	8b 45 24             	mov    0x24(%ebp),%eax
4385bf:	8b 4d f0             	mov    -0x10(%ebp),%ecx
4385c2:	50                   	push   %eax
4385c3:	57                   	push   %edi
4385c4:	ff 75 1c             	push   0x1c(%ebp)
4385c7:	8d 45 e8             	lea    -0x18(%ebp),%eax
4385ca:	ff 75 18             	push   0x18(%ebp)
4385cd:	ff 75 14             	push   0x14(%ebp)
4385d0:	ff 75 10             	push   0x10(%ebp)
4385d3:	ff 75 0c             	push   0xc(%ebp)
4385d6:	50                   	push   %eax
4385d7:	e8 3b 29 00 00       	call   0x43af17
4385dc:	6a 02                	push   $0x2
4385de:	5e                   	pop    %esi
4385df:	8b 08                	mov    (%eax),%ecx
4385e1:	89 4d 0c             	mov    %ecx,0xc(%ebp)
4385e4:	8b 40 04             	mov    0x4(%eax),%eax
4385e7:	89 75 ec             	mov    %esi,-0x14(%ebp)
4385ea:	eb 7c                	jmp    0x438668
4385ec:	8b 75 ec             	mov    -0x14(%ebp),%esi
4385ef:	83 fe 02             	cmp    $0x2,%esi
4385f2:	75 28                	jne    0x43861c
4385f4:	8b 75 24             	mov    0x24(%ebp),%esi
4385f7:	8d 45 14             	lea    0x14(%ebp),%eax
4385fa:	53                   	push   %ebx
4385fb:	83 c6 10             	add    $0x10,%esi
4385fe:	56                   	push   %esi
4385ff:	6a 0c                	push   $0xc
438601:	6a 01                	push   $0x1
438603:	50                   	push   %eax
438604:	8d 45 0c             	lea    0xc(%ebp),%eax
438607:	50                   	push   %eax
438608:	ff 75 f0             	push   -0x10(%ebp)
43860b:	e8 e2 aa ff ff       	call   0x4330f2
438610:	09 07                	or     %eax,(%edi)
438612:	83 c4 1c             	add    $0x1c,%esp
438615:	ff 0e                	decl   (%esi)
438617:	e9 81 00 00 00       	jmp    0x43869d
43861c:	8b 45 24             	mov    0x24(%ebp),%eax
43861f:	83 fe 01             	cmp    $0x1,%esi
438622:	75 1f                	jne    0x438643
438624:	53                   	push   %ebx
438625:	83 c0 0c             	add    $0xc,%eax
438628:	50                   	push   %eax
438629:	6a 1f                	push   $0x1f
43862b:	56                   	push   %esi
43862c:	8d 45 14             	lea    0x14(%ebp),%eax
43862f:	50                   	push   %eax
438630:	8d 45 0c             	lea    0xc(%ebp),%eax
438633:	50                   	push   %eax
438634:	ff 75 f0             	push   -0x10(%ebp)
438637:	e8 b6 aa ff ff       	call   0x4330f2
43863c:	83 c4 1c             	add    $0x1c,%esp
43863f:	09 07                	or     %eax,(%edi)
438641:	eb 5a                	jmp    0x43869d
438643:	8b 4d f0             	mov    -0x10(%ebp),%ecx
438646:	50                   	push   %eax
438647:	57                   	push   %edi
438648:	ff 75 1c             	push   0x1c(%ebp)
43864b:	8d 45 e0             	lea    -0x20(%ebp),%eax
43864e:	ff 75 18             	push   0x18(%ebp)
438651:	ff 75 14             	push   0x14(%ebp)
438654:	ff 75 10             	push   0x10(%ebp)
438657:	ff 75 0c             	push   0xc(%ebp)
43865a:	50                   	push   %eax
43865b:	e8 97 29 00 00       	call   0x43aff7
438660:	8b 08                	mov    (%eax),%ecx
438662:	89 4d 0c             	mov    %ecx,0xc(%ebp)
438665:	8b 40 04             	mov    0x4(%eax),%eax
438668:	89 45 10             	mov    %eax,0x10(%ebp)
43866b:	eb 30                	jmp    0x43869d
43866d:	80 7d 10 00          	cmpb   $0x0,0x10(%ebp)
438671:	75 08                	jne    0x43867b
438673:	8d 4d 0c             	lea    0xc(%ebp),%ecx
438676:	e8 9c d8 ff ff       	call   0x435f17
43867b:	8b 03                	mov    (%ebx),%eax
43867d:	ff 75 12             	push   0x12(%ebp)
438680:	6a 48                	push   $0x48
438682:	8b 70 10             	mov    0x10(%eax),%esi
438685:	8b ce                	mov    %esi,%ecx
438687:	ff 15 54 43 49 00    	call   *0x494354
43868d:	8b cb                	mov    %ebx,%ecx
43868f:	ff d6                	call   *%esi
438691:	84 c0                	test   %al,%al
438693:	74 18                	je     0x4386ad
438695:	8d 4d 0c             	lea    0xc(%ebp),%ecx
438698:	e8 a4 c3 ff ff       	call   0x434a41
43869d:	8d 45 14             	lea    0x14(%ebp),%eax
4386a0:	50                   	push   %eax
4386a1:	8d 4d 0c             	lea    0xc(%ebp),%ecx
4386a4:	e8 97 27 00 00       	call   0x43ae40
4386a9:	84 c0                	test   %al,%al