40141c:	33 7f 02             	xor    0x2(%edi),%edi
40141f:	5d                   	pop    %ebp
401420:	92                   	xchg   %eax,%edx
401421:	f6 41 62 61          	testb  $0x61,0x62(%ecx)
401425:	8b 37                	mov    (%edi),%esi
401427:	88 ae 54 58 ff 01    	mov    %ch,0x1ff5854(%esi)
40142d:	00 00                	add    %al,(%eax)
40142f:	00 69 65             	add    %ch,0x65(%ecx)
401432:	6c                   	insb   (%dx),%es:(%edi)
401433:	6f                   	outsl  %ds:(%esi),(%dx)
401434:	77 75                	ja     0x4014ab
401436:	74 69                	je     0x4014a1
401438:	6c                   	insb   (%dx),%es:(%edi)
401439:	2e 70 64             	jo,pn  0x4014a0
40143c:	62 00                	bound  %eax,(%eax)
40143e:	00 00                	add    %al,(%eax)
401440:	47                   	inc    %edi
401441:	43                   	inc    %ebx
401442:	54                   	push   %esp
401443:	4c                   	dec    %esp
401444:	00 10                	add    %dl,(%eax)
401446:	00 00                	add    %al,(%eax)
401448:	cc                   	int3
401449:	00 00                	add    %al,(%eax)
40144b:	00 2e                	add    %ch,(%esi)
40144d:	72 64                	jb     0x4014b3
40144f:	61                   	popa
401450:	74 61                	je     0x4014b3
401452:	24 62                	and    $0x62,%al
401454:	72 63                	jb     0x4014b9
401456:	00 00                	add    %al,(%eax)
401458:	cc                   	int3
401459:	10 00                	adc    %al,(%eax)
40145b:	00 04 00             	add    %al,(%eax,%eax,1)
40145e:	00 00                	add    %al,(%eax)
401460:	2e 43                	cs inc %ebx
401462:	52                   	push   %edx
401463:	54                   	push   %esp
401464:	24 58                	and    $0x58,%al
401466:	43                   	inc    %ebx
401467:	41                   	inc    %ecx
401468:	00 00                	add    %al,(%eax)
40146a:	00 00                	add    %al,(%eax)
40146c:	d0 10                	rclb   $1,(%eax)
40146e:	00 00                	add    %al,(%eax)
401470:	04 00                	add    $0x0,%al
401472:	00 00                	add    %al,(%eax)
401474:	2e 43                	cs inc %ebx
401476:	52                   	push   %edx
401477:	54                   	push   %esp
401478:	24 58                	and    $0x58,%al
40147a:	43                   	inc    %ebx
40147b:	41                   	inc    %ecx
40147c:	41                   	inc    %ecx
40147d:	00 00                	add    %al,(%eax)
40147f:	00 d4                	add    %dl,%ah
401481:	10 00                	adc    %al,(%eax)
401483:	00 04 00             	add    %al,(%eax,%eax,1)
401486:	00 00                	add    %al,(%eax)
401488:	2e 43                	cs inc %ebx
40148a:	52                   	push   %edx
40148b:	54                   	push   %esp
40148c:	24 58                	and    $0x58,%al
40148e:	43                   	inc    %ebx
40148f:	55                   	push   %ebp
401490:	00 00                	add    %al,(%eax)
401492:	00 00                	add    %al,(%eax)
401494:	d8 10                	fcoms  (%eax)
401496:	00 00                	add    %al,(%eax)
401498:	04 00                	add    $0x0,%al
40149a:	00 00                	add    %al,(%eax)
40149c:	2e 43                	cs inc %ebx
40149e:	52                   	push   %edx
40149f:	54                   	push   %esp
4014a0:	24 58                	and    $0x58,%al
4014a2:	43                   	inc    %ebx
4014a3:	5a                   	pop    %edx
4014a4:	00 00                	add    %al,(%eax)
4014a6:	00 00                	add    %al,(%eax)
4014a8:	dc 10                	fcoml  (%eax)
4014aa:	00 00                	add    %al,(%eax)
4014ac:	04 00                	add    $0x0,%al
4014ae:	00 00                	add    %al,(%eax)
4014b0:	2e 43                	cs inc %ebx
4014b2:	52                   	push   %edx
4014b3:	54                   	push   %esp
4014b4:	24 58                	and    $0x58,%al
4014b6:	49                   	dec    %ecx
4014b7:	41                   	inc    %ecx
4014b8:	00 00                	add    %al,(%eax)
4014ba:	00 00                	add    %al,(%eax)
4014bc:	e0 10                	loopne 0x4014ce
4014be:	00 00                	add    %al,(%eax)
4014c0:	04 00                	add    $0x0,%al
4014c2:	00 00                	add    %al,(%eax)
4014c4:	2e 43                	cs inc %ebx
4014c6:	52                   	push   %edx
4014c7:	54                   	push   %esp
4014c8:	24 58                	and    $0x58,%al
4014ca:	49                   	dec    %ecx
4014cb:	41                   	inc    %ecx
4014cc:	41                   	inc    %ecx
4014cd:	00 00                	add    %al,(%eax)
4014cf:	00 e4                	add    %ah,%ah
4014d1:	10 00                	adc    %al,(%eax)
4014d3:	00 04 00             	add    %al,(%eax,%eax,1)
4014d6:	00 00                	add    %al,(%eax)
4014d8:	2e 43                	cs inc %ebx
4014da:	52                   	push   %edx
4014db:	54                   	push   %esp
4014dc:	24 58                	and    $0x58,%al
4014de:	49                   	dec    %ecx
4014df:	59                   	pop    %ecx
4014e0:	00 00                	add    %al,(%eax)
4014e2:	00 00                	add    %al,(%eax)
4014e4:	e8 10 00 00 04       	call   0x44014f9
4014e9:	00 00                	add    %al,(%eax)
4014eb:	00 2e                	add    %ch,(%esi)
4014ed:	43                   	inc    %ebx
4014ee:	52                   	push   %edx
4014ef:	54                   	push   %esp
4014f0:	24 58                	and    $0x58,%al
4014f2:	49                   	dec    %ecx
4014f3:	5a                   	pop    %edx
4014f4:	00 00                	add    %al,(%eax)
4014f6:	00 00                	add    %al,(%eax)
4014f8:	ec                   	in     (%dx),%al
4014f9:	10 00                	adc    %al,(%eax)
4014fb:	00 44 00 00          	add    %al,0x0(%eax,%eax,1)
4014ff:	00 2e                	add    %ch,(%esi)
401501:	67 66 69 64 73 00 00 	imul   $0x0,0x73(%si),%sp
401508:	30 11                	xor    %dl,(%ecx)
40150a:	00 00                	add    %al,(%eax)
40150c:	e0 02                	loopne 0x401510
40150e:	00 00                	add    %al,(%eax)
401510:	2e 72 64             	jb,pn  0x401577
401513:	61                   	popa
401514:	74 61                	je     0x401577
401516:	00 00                	add    %al,(%eax)
401518:	10 14 00             	adc    %dl,(%eax,%eax,1)
40151b:	00 08                	add    %cl,(%eax)
40151d:	00 00                	add    %al,(%eax)
40151f:	00 2e                	add    %ch,(%esi)
401521:	72 64                	jb     0x401587
401523:	61                   	popa
401524:	74 61                	je     0x401587
401526:	24 73                	and    $0x73,%al
401528:	78 64                	js     0x40158e
40152a:	61                   	popa
40152b:	74 61                	je     0x40158e
40152d:	00 00                	add    %al,(%eax)
40152f:	00 18                	add    %bl,(%eax)
401531:	14 00                	adc    $0x0,%al
401533:	00 58 02             	add    %bl,0x2(%eax)
401536:	00 00                	add    %al,(%eax)
401538:	2e 72 64             	jb,pn  0x40159f
40153b:	61                   	popa
40153c:	74 61                	je     0x40159f
40153e:	24 7a                	and    $0x7a,%al
401540:	7a 7a                	jp     0x4015bc
401542:	64 62 67 00          	bound  %esp,%fs:0x0(%edi)
401546:	00 00                	add    %al,(%eax)
401548:	70 16                	jo     0x401560
40154a:	00 00                	add    %al,(%eax)
40154c:	20 00                	and    %al,(%eax)
40154e:	00 00                	add    %al,(%eax)
401550:	2e 74 65             	je,pn  0x4015b8
401553:	78 74                	js     0x4015c9
401555:	24 64                	and    $0x64,%al
401557:	69 00 00 00 00 90    	imul   $0x90000000,(%eax),%eax
40155d:	16                   	push   %ss
40155e:	00 00                	add    %al,(%eax)
401560:	38 17                	cmp    %dl,(%edi)
401562:	00 00                	add    %al,(%eax)
401564:	2e 74 65             	je,pn  0x4015cc
401567:	78 74                	js     0x4015dd
401569:	24 6d                	and    $0x6d,%al
40156b:	6e                   	outsb  %ds:(%esi),(%dx)
40156c:	00 00                	add    %al,(%eax)
40156e:	00 00                	add    %al,(%eax)
401570:	c8 2d 00 00          	enter  $0x2d,$0x0
401574:	7c 00                	jl     0x401576
401576:	00 00                	add    %al,(%eax)
401578:	2e 78 64             	js,pn  0x4015df
40157b:	61                   	popa
40157c:	74 61                	je     0x4015df
40157e:	24 78                	and    $0x78,%al
401580:	00 00                	add    %al,(%eax)
401582:	00 00                	add    %al,(%eax)
401584:	00 30                	add    %dh,(%eax)
401586:	00 00                	add    %al,(%eax)
401588:	18 00                	sbb    %al,(%eax)
40158a:	00 00                	add    %al,(%eax)
40158c:	2e 64 61             	cs fs popa
40158f:	74 61                	je     0x4015f2
401591:	00 00                	add    %al,(%eax)
401593:	00 18                	add    %bl,(%eax)
401595:	30 00                	xor    %al,(%eax)
401597:	00 a4 03 00 00 2e 62 	add    %ah,0x622e0000(%ebx,%eax,1)
40159e:	73 73                	jae    0x401613
4015a0:	00 00                	add    %al,(%eax)
4015a2:	00 00                	add    %al,(%eax)
4015a4:	00 40 00             	add    %al,0x0(%eax)
4015a7:	00 48 01             	add    %cl,0x1(%eax)
4015aa:	00 00                	add    %al,(%eax)
4015ac:	2e 69 64 61 74 61 24 	imul   $0x352461,%cs:0x74(%ecx,%eiz,2),%esp
4015b3:	35 00
4015b5:	00 00                	add    %al,(%eax)
4015b7:	00 48 41             	add    %cl,0x41(%eax)
4015ba:	00 00                	add    %al,(%eax)
4015bc:	04 00                	add    $0x0,%al
4015be:	00 00                	add    %al,(%eax)
4015c0:	2e 30 30             	xor    %dh,%cs:(%eax)
4015c3:	63 66 67             	arpl   %esp,0x67(%esi)
4015c6:	00 00                	add    %al,(%eax)
4015c8:	4c                   	dec    %esp
4015c9:	41                   	inc    %ecx
4015ca:	00 00                	add    %al,(%eax)
4015cc:	78 00                	js     0x4015ce
4015ce:	00 00                	add    %al,(%eax)
4015d0:	2e 69 64 61 74 61 24 	imul   $0x322461,%cs:0x74(%ecx,%eiz,2),%esp
4015d7:	32 00
4015d9:	00 00                	add    %al,(%eax)
4015db:	00 c4                	add    %al,%ah
4015dd:	41                   	inc    %ecx
4015de:	00 00                	add    %al,(%eax)
4015e0:	14 00                	adc    $0x0,%al
4015e2:	00 00                	add    %al,(%eax)
4015e4:	2e 69 64 61 74 61 24 	imul   $0x332461,%cs:0x74(%ecx,%eiz,2),%esp
4015eb:	33 00
4015ed:	00 00                	add    %al,(%eax)
4015ef:	00 d8                	add    %bl,%al
4015f1:	41                   	inc    %ecx
4015f2:	00 00                	add    %al,(%eax)
4015f4:	48                   	dec    %eax
4015f5:	01 00                	add    %eax,(%eax)
4015f7:	00 2e                	add    %ch,(%esi)
4015f9:	69 64 61 74 61 24 34 	imul   $0x342461,0x74(%ecx,%eiz,2),%esp
401600:	00
401601:	00 00                	add    %al,(%eax)
401603:	00 20                	add    %ah,(%eax)
401605:	43                   	inc    %ebx
401606:	00 00                	add    %al,(%eax)
401608:	6a 05                	push   $0x5
40160a:	00 00                	add    %al,(%eax)
40160c:	2e 69 64 61 74 61 24 	imul   $0x362461,%cs:0x74(%ecx,%eiz,2),%esp
401613:	36 00
401615:	00 00                	add    %al,(%eax)
401617:	00 00                	add    %al,(%eax)
401619:	50                   	push   %eax
40161a:	00 00                	add    %al,(%eax)
40161c:	20 04 00             	and    %al,(%eax,%eax,1)
40161f:	00 2e                	add    %ch,(%esi)
401621:	72 73                	jb     0x401696
401623:	72 63                	jb     0x401688
401625:	24 30                	and    $0x30,%al
401627:	31 00                	xor    %eax,(%eax)
401629:	00 00                	add    %al,(%eax)
40162b:	00 20                	add    %ah,(%eax)
40162d:	54                   	push   %esp
40162e:	00 00                	add    %al,(%eax)
401630:	70 28                	jo     0x40165a
401632:	03 00                	add    (%eax),%eax
401634:	2e 72 73             	jb,pn  0x4016aa
401637:	72 63                	jb     0x40169c
401639:	24 30                	and    $0x30,%al
40163b:	32 00                	xor    (%eax),%al
40163d:	00 00                	add    %al,(%eax)
40163f:	00 20                	add    %ah,(%eax)
401641:	00 00                	add    %al,(%eax)
401643:	00 33                	add    %dh,(%ebx)
401645:	7f 02                	jg     0x401649
401647:	5d                   	pop    %ebp
401648:	92                   	xchg   %eax,%edx
401649:	f6 41 62 61          	testb  $0x61,0x62(%ecx)
40164d:	8b 37                	mov    (%edi),%esi
40164f:	88 ae 54 58 ff 1b    	mov    %ch,0x1bff5854(%esi)
401655:	a5                   	movsl  %ds:(%esi),%es:(%edi)
401656:	72 54                	jb     0x4016ac
401658:	0d 7e 33 0f ea       	or     $0xea0f337e,%eax
40165d:	ac                   	lods   %ds:(%esi),%al
40165e:	a9 eb 15 54 9a       	test   $0x9a5415eb,%eax
401663:	c6 00 00             	movb   $0x0,(%eax)
40166e:	00 00                	add    %al,(%eax)
401670:	8b ff                	mov    %edi,%edi
401672:	56                   	push   %esi
401673:	57                   	push   %edi
401674:	be 50 11 40 00       	mov    $0x401150,%esi
401679:	bf 8c 33 40 00       	mov    $0x40338c,%edi
40167e:	a5                   	movsl  %ds:(%esi),%es:(%edi)
40167f:	a5                   	movsl  %ds:(%esi),%es:(%edi)
401680:	a5                   	movsl  %ds:(%esi),%es:(%edi)
401681:	a5                   	movsl  %ds:(%esi),%es:(%edi)
401682:	5f                   	pop    %edi
401683:	5e                   	pop    %esi
401684:	c3                   	ret
401685:	cc                   	int3
401686:	cc                   	int3
401687:	cc                   	int3
401688:	cc                   	int3
401689:	cc                   	int3
40168a:	cc                   	int3
40168b:	cc                   	int3
40168c:	cc                   	int3
40168d:	cc                   	int3
40168e:	cc                   	int3
40168f:	cc                   	int3
401690:	8b ff                	mov    %edi,%edi
401692:	55                   	push   %ebp
401693:	8b ec                	mov    %esp,%ebp
401695:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
401699:	74 12                	je     0x4016ad
40169b:	ff 75 08             	push   0x8(%ebp)
40169e:	6a 00                	push   $0x0
4016a0:	ff 15 1c 40 40 00    	call   *0x40401c
4016a6:	50                   	push   %eax
4016a7:	ff 15 98 40 40 00    	call   *0x404098
4016ad:	5d                   	pop    %ebp
4016ae:	c3                   	ret
4016af:	8b ff                	mov    %edi,%edi
4016b1:	55                   	push   %ebp
4016b2:	8b ec                	mov    %esp,%ebp
4016b4:	83 ec 20             	sub    $0x20,%esp
4016b7:	a1 78 33 40 00       	mov    0x403378,%eax
4016bc:	56                   	push   %esi
4016bd:	89 45 fc             	mov    %eax,-0x4(%ebp)
4016c0:	33 f6                	xor    %esi,%esi
4016c2:	eb 2d                	jmp    0x4016f1
4016c4:	85 c0                	test   %eax,%eax
4016c6:	74 42                	je     0x40170a
4016c8:	eb 14                	jmp    0x4016de
4016ca:	8d 45 e0             	lea    -0x20(%ebp),%eax
4016cd:	50                   	push   %eax
4016ce:	ff 15 b0 40 40 00    	call   *0x4040b0
4016d4:	8d 45 e0             	lea    -0x20(%ebp),%eax
4016d7:	50                   	push   %eax
4016d8:	ff 15 ac 40 40 00    	call   *0x4040ac
4016de:	6a 01                	push   $0x1
4016e0:	56                   	push   %esi
4016e1:	56                   	push   %esi
4016e2:	56                   	push   %esi
4016e3:	8d 45 e0             	lea    -0x20(%ebp),%eax
4016e6:	50                   	push   %eax
4016e7:	ff 15 b4 40 40 00    	call   *0x4040b4
4016ed:	85 c0                	test   %eax,%eax
4016ef:	75 d9                	jne    0x4016ca
4016f1:	68 ff 1c 00 00       	push   $0x1cff
4016f6:	6a ff                	push   $0xffffffff
4016f8:	56                   	push   %esi
4016f9:	8d 45 fc             	lea    -0x4(%ebp),%eax