4084df:	64 4c                	fs dec %esp
4084e1:	6f                   	outsl  %ds:(%esi),(%dx)
4084e2:	63 61 6c             	arpl   %esp,0x6c(%ecx)
4084e5:	43                   	inc    %ebx
4084e6:	6f                   	outsl  %ds:(%esi),(%dx)
4084e7:	75 6e                	jne    0x408557
4084e9:	74 65                	je     0x408550
4084eb:	72 cc                	jb     0x4084b9
4084ed:	83 c0 d4             	add    $0xffffffd4,%eax
4084f0:	e9 7f 57 00 00       	jmp    0x40dc74
4084f5:	83 c0 d4             	add    $0xffffffd4,%eax
4084f8:	e9 e7 57 00 00       	jmp    0x40dce4
4084fd:	83 c0 d4             	add    $0xffffffd4,%eax
408500:	e9 73 56 00 00       	jmp    0x40db78
408505:	83 c0 d4             	add    $0xffffffd4,%eax
408508:	e9 17 57 00 00       	jmp    0x40dc24
40850d:	83 44 24 04 d4       	addl   $0xffffffd4,0x4(%esp)
408512:	e9 b9 dc ff ff       	jmp    0x4061d0
408517:	83 44 24 04 d4       	addl   $0xffffffd4,0x4(%esp)
40851c:	e9 d7 dc ff ff       	jmp    0x4061f8
408521:	83 44 24 04 d4       	addl   $0xffffffd4,0x4(%esp)
408526:	e9 e1 dc ff ff       	jmp    0x40620c
40852b:	cc                   	int3
40852c:	0d 85 40 00 17       	or     $0x17004085,%eax
408531:	85 40 00             	test   %eax,0x0(%eax)
408534:	21 85 40 00 ed 84    	and    %eax,-0x7b12ffc0(%ebp)
40853a:	40                   	inc    %eax
40853b:	00 f5                	add    %dh,%ch
40853d:	84 40 00             	test   %al,0x0(%eax)
408540:	fd                   	std
408541:	84 40 00             	test   %al,0x0(%eax)
408544:	05 85 40 00 01       	add    $0x1004085,%eax
408549:	00 00                	add    %al,(%eax)
40854b:	00 52 8c             	add    %dl,-0x74(%edx)
40854e:	10 7b 8f             	adc    %bh,-0x71(%ebx)
408551:	1d db 4c 9c df       	sbb    $0xdf9c4cdb,%eax
408556:	57                   	push   %edi
408557:	e0 71                	loopne 0x4085ca
408559:	19 3d 3f 2c 85 40    	sbb    %edi,0x40852c3f
40855f:	00 2c 00             	add    %ch,(%eax,%eax,1)
408562:	00 00                	add    %al,(%eax)
408564:	00 00                	add    %al,(%eax)
408566:	00 00                	add    %al,(%eax)
408568:	b4 85                	mov    $0x85,%ah
40856a:	40                   	inc    %eax
40856b:	00 48 85             	add    %cl,-0x7b(%eax)
40856e:	40                   	inc    %eax
408587:	00 b4 85 40 00 30 00 	add    %dh,0x300040(%ebp,%eax,4)
40858e:	00 00                	add    %al,(%eax)
408590:	e4 11                	in     $0x11,%al
408592:	40                   	inc    %eax
408593:	00 3c 3b             	add    %bh,(%ebx,%edi,1)
408596:	40                   	inc    %eax
408597:	00 a4 61 40 00 b0 61 	add    %ah,0x61b00040(%ecx,%eiz,2)
40859e:	40                   	inc    %eax
40859f:	00 50 3b             	add    %dl,0x3b(%eax)
4085a2:	40                   	inc    %eax
4085a3:	00 44 3b 40          	add    %al,0x40(%ebx,%edi,1)
4085a7:	00 c0                	add    %al,%al
4085a9:	61                   	popa
4085aa:	40                   	inc    %eax
4085ab:	00 a8 38 40 00 ec    	add    %ch,-0x13ffbfc8(%eax)
4085b1:	da 40 00             	fiaddl 0x0(%eax)
4085b4:	24 54                	and    $0x54,%al
4085b6:	4d                   	dec    %ebp
4085b7:	75 6c                	jne    0x408625
4085b9:	74 69                	je     0x408624
4085bb:	52                   	push   %edx
4085bc:	65 61                	gs popa
4085be:	64 45                	fs inc %ebp
4085c0:	78 63                	js     0x408625
4085c2:	6c                   	insb   (%dx),%es:(%edi)
4085c3:	75 73                	jne    0x408638
4085c5:	69 76 65 57 72 69 74 	imul   $0x74697257,0x65(%esi),%esi
4085cc:	65 53                	gs push %ebx
4085ce:	79 6e                	jns    0x40863e
4085d0:	63 68 72             	arpl   %ebp,0x72(%eax)
4085d3:	6f                   	outsl  %ds:(%esi),(%dx)
4085d4:	6e                   	outsb  %ds:(%esi),(%dx)
4085d5:	69 7a 65 72 8d 40 00 	imul   $0x408d72,0x65(%edx),%edi
4085dc:	55                   	push   %ebp
4085dd:	8b ec                	mov    %esp,%ebp
4085df:	53                   	push   %ebx
4085e0:	89 d3                	mov    %edx,%ebx
4085e2:	89 c2                	mov    %eax,%edx
4085e4:	c1 ea 10             	shr    $0x10,%edx
4085e7:	66 f7 f3             	div    %bx
4085ea:	8b 5d 08             	mov    0x8(%ebp),%ebx
4085ed:	66 89 01             	mov    %ax,(%ecx)
4085f0:	66 89 13             	mov    %dx,(%ebx)
4085f3:	5b                   	pop    %ebx
4085f4:	5d                   	pop    %ebp
4085f5:	c2 04 00             	ret    $0x4
4085f8:	53                   	push   %ebx
4085f9:	56                   	push   %esi
4085fa:	57                   	push   %edi
4085fb:	8b f9                	mov    %ecx,%edi
4085fd:	8b f2                	mov    %edx,%esi
4085ff:	8b d8                	mov    %eax,%ebx
408601:	56                   	push   %esi
408602:	57                   	push   %edi
408603:	8b cb                	mov    %ebx,%ecx
408605:	b2 01                	mov    $0x1,%dl
408607:	a1 44 80 40 00       	mov    0x408044,%eax
40860c:	e8 23 3d 00 00       	call   0x40c334
408611:	e8 52 bb ff ff       	call   0x404168
408616:	5f                   	pop    %edi
408617:	5e                   	pop    %esi
408618:	5b                   	pop    %ebx
408619:	c3                   	ret
40861a:	8b c0                	mov    %eax,%eax
40861c:	53                   	push   %ebx
40861d:	a1 34 08 46 00       	mov    0x460834,%eax
408622:	8b 10                	mov    (%eax),%edx
408624:	89 15 34 08 46 00    	mov    %edx,0x460834
40862a:	8b 15 ec d3 46 00    	mov    0x46d3ec,%edx
408630:	8b 48 04             	mov    0x4(%eax),%ecx
408633:	89 0a                	mov    %ecx,(%edx)
408635:	8b 58 08             	mov    0x8(%eax),%ebx
408638:	ba 0c 00 00 00       	mov    $0xc,%edx
40863d:	e8 c6 a6 ff ff       	call   0x402d08
408642:	ff d3                	call   *%ebx
408644:	5b                   	pop    %ebx
408645:	c3                   	ret
408646:	8b c0                	mov    %eax,%eax
408648:	53                   	push   %ebx
408649:	8b d8                	mov    %eax,%ebx
40864b:	b8 0c 00 00 00       	mov    $0xc,%eax
408650:	e8 97 a6 ff ff       	call   0x402cec
408655:	8b 15 34 08 46 00    	mov    0x460834,%edx
40865b:	89 10                	mov    %edx,(%eax)
40865d:	8b 15 ec d3 46 00    	mov    0x46d3ec,%edx
408663:	8b 12                	mov    (%edx),%edx
408665:	89 50 04             	mov    %edx,0x4(%eax)
408668:	89 58 08             	mov    %ebx,0x8(%eax)
40866b:	a3 34 08 46 00       	mov    %eax,0x460834
408670:	a1 ec d3 46 00       	mov    0x46d3ec,%eax
408675:	c7 00 1c 86 40 00    	movl   $0x40861c,(%eax)
40867b:	5b                   	pop    %ebx
40867c:	c3                   	ret
40867d:	8d 40 00             	lea    0x0(%eax),%eax
408680:	53                   	push   %ebx
408681:	56                   	push   %esi
408682:	57                   	push   %edi
408683:	89 c6                	mov    %eax,%esi
408685:	89 d0                	mov    %edx,%eax
408687:	85 f6                	test   %esi,%esi
408689:	0f 84 81 00 00 00    	je     0x408710
40868f:	8b 56 fc             	mov    -0x4(%esi),%edx
408692:	89 c7                	mov    %eax,%edi
408694:	85 d2                	test   %edx,%edx
408696:	7e 78                	jle    0x408710
408698:	8b 08                	mov    (%eax),%ecx
40869a:	89 d3                	mov    %edx,%ebx
40869c:	85 c9                	test   %ecx,%ecx
40869e:	74 23                	je     0x4086c3
4086a0:	f7 c2 03 00 00 00    	test   $0x3,%edx
4086a6:	75 0a                	jne    0x4086b2
4086a8:	33 51 fc             	xor    -0x4(%ecx),%edx
4086ab:	83 fa 03             	cmp    $0x3,%edx
4086ae:	76 0d                	jbe    0x4086bd
4086b0:	eb 11                	jmp    0x4086c3
4086b2:	83 ca 02             	or     $0x2,%edx
4086b5:	33 51 fc             	xor    -0x4(%ecx),%edx
4086b8:	83 fa 01             	cmp    $0x1,%edx
4086bb:	77 06                	ja     0x4086c3
4086bd:	83 79 f8 01          	cmpl   $0x1,-0x8(%ecx)
4086c1:	74 0a                	je     0x4086cd
4086c3:	89 da                	mov    %ebx,%edx
4086c5:	83 ca 03             	or     $0x3,%edx
4086c8:	e8 9f c7 ff ff       	call   0x404e6c
4086cd:	8b 3f                	mov    (%edi),%edi
4086cf:	89 5f fc             	mov    %ebx,-0x4(%edi)
4086d2:	c6 04 1f 00          	movb   $0x0,(%edi,%ebx,1)
4086d6:	83 c3 ff             	add    $0xffffffff,%ebx
4086d9:	83 e3 fc             	and    $0xfffffffc,%ebx
4086dc:	8b 04 1e             	mov    (%esi,%ebx,1),%eax
4086df:	89 c1                	mov    %eax,%ecx
4086e1:	0d 80 80 80 80       	or     $0x80808080,%eax
4086e6:	89 c2                	mov    %eax,%edx
4086e8:	2d 7b 7b 7b 7b       	sub    $0x7b7b7b7b,%eax
4086ed:	31 ca                	xor    %ecx,%edx
4086ef:	0d 80 80 80 80       	or     $0x80808080,%eax
4086f4:	2d 66 66 66 66       	sub    $0x66666666,%eax
4086f9:	21 d0                	and    %edx,%eax
4086fb:	c1 e8 02             	shr    $0x2,%eax
4086fe:	31 c8                	xor    %ecx,%eax
408700:	89 04 1f             	mov    %eax,(%edi,%ebx,1)
408703:	8b 44 1e fc          	mov    -0x4(%esi,%ebx,1),%eax
408707:	83 eb 04             	sub    $0x4,%ebx
40870a:	7d d3                	jge    0x4086df
40870c:	5f                   	pop    %edi
40870d:	5e                   	pop    %esi
40870e:	5b                   	pop    %ebx
40870f:	c3                   	ret
408710:	5f                   	pop    %edi
408711:	5e                   	pop    %esi
408712:	5b                   	pop    %ebx
408713:	e9 08 c0 ff ff       	jmp    0x404720
408718:	c3                   	ret
408719:	8d 40 00             	lea    0x0(%eax),%eax
40871c:	53                   	push   %ebx
40871d:	56                   	push   %esi
40871e:	57                   	push   %edi
40871f:	89 c6                	mov    %eax,%esi
408721:	89 d0                	mov    %edx,%eax
408723:	85 f6                	test   %esi,%esi
408725:	0f 84 81 00 00 00    	je     0x4087ac
40872b:	8b 56 fc             	mov    -0x4(%esi),%edx
40872e:	89 c7                	mov    %eax,%edi
408730:	85 d2                	test   %edx,%edx
408732:	7e 78                	jle    0x4087ac
408734:	8b 08                	mov    (%eax),%ecx
408736:	89 d3                	mov    %edx,%ebx
408738:	85 c9                	test   %ecx,%ecx
40873a:	74 23                	je     0x40875f
40873c:	f7 c2 03 00 00 00    	test   $0x3,%edx
408742:	75 0a                	jne    0x40874e
408744:	33 51 fc             	xor    -0x4(%ecx),%edx
408747:	83 fa 03             	cmp    $0x3,%edx
40874a:	76 0d                	jbe    0x408759
40874c:	eb 11                	jmp    0x40875f
40874e:	83 ca 02             	or     $0x2,%edx
408751:	33 51 fc             	xor    -0x4(%ecx),%edx
408754:	83 fa 01             	cmp    $0x1,%edx
408757:	77 06                	ja     0x40875f
408759:	83 79 f8 01          	cmpl   $0x1,-0x8(%ecx)
40875d:	74 0a                	je     0x408769
40875f:	89 da                	mov    %ebx,%edx
408761:	83 ca 03             	or     $0x3,%edx
408764:	e8 03 c7 ff ff       	call   0x404e6c
408769:	8b 3f                	mov    (%edi),%edi
40876b:	89 5f fc             	mov    %ebx,-0x4(%edi)
40876e:	c6 04 1f 00          	movb   $0x0,(%edi,%ebx,1)
408772:	83 c3 ff             	add    $0xffffffff,%ebx
408775:	83 e3 fc             	and    $0xfffffffc,%ebx
408778:	8b 04 1e             	mov    (%esi,%ebx,1),%eax
40877b:	89 c1                	mov    %eax,%ecx
40877d:	0d 80 80 80 80       	or     $0x80808080,%eax
408782:	89 c2                	mov    %eax,%edx
408784:	2d 5b 5b 5b 5b       	sub    $0x5b5b5b5b,%eax
408789:	31 ca                	xor    %ecx,%edx
40878b:	0d 80 80 80 80       	or     $0x80808080,%eax
408790:	2d 66 66 66 66       	sub    $0x66666666,%eax
408795:	21 d0                	and    %edx,%eax
408797:	c1 e8 02             	shr    $0x2,%eax
40879a:	31 c8                	xor    %ecx,%eax
40879c:	89 04 1f             	mov    %eax,(%edi,%ebx,1)
40879f:	8b 44 1e fc          	mov    -0x4(%esi,%ebx,1),%eax
4087a3:	83 eb 04             	sub    $0x4,%ebx
4087a6:	7d d3                	jge    0x40877b
4087a8:	5f                   	pop    %edi
4087a9:	5e                   	pop    %esi
4087aa:	5b                   	pop    %ebx
4087ab:	c3                   	ret
4087ac:	5f                   	pop    %edi
4087ad:	5e                   	pop    %esi
4087ae:	5b                   	pop    %ebx
4087af:	e9 6c bf ff ff       	jmp    0x404720
4087b4:	c3                   	ret
4087b5:	8d 40 00             	lea    0x0(%eax),%eax
4087b8:	56                   	push   %esi
4087b9:	57                   	push   %edi
4087ba:	89 c6                	mov    %eax,%esi
4087bc:	89 d7                	mov    %edx,%edi
4087be:	09 c0                	or     %eax,%eax
4087c0:	74 03                	je     0x4087c5
4087c2:	8b 40 fc             	mov    -0x4(%eax),%eax
4087c5:	09 d2                	or     %edx,%edx
4087c7:	74 03                	je     0x4087cc
4087c9:	8b 52 fc             	mov    -0x4(%edx),%edx
4087cc:	89 c1                	mov    %eax,%ecx
4087ce:	39 d1                	cmp    %edx,%ecx
4087d0:	76 02                	jbe    0x4087d4
4087d2:	89 d1                	mov    %edx,%ecx
4087d4:	39 c9                	cmp    %ecx,%ecx
4087d6:	f3 a6                	repz cmpsb %es:(%edi),%ds:(%esi)
4087d8:	74 08                	je     0x4087e2
4087da:	0f b6 46 ff          	movzbl -0x1(%esi),%eax
4087de:	0f b6 57 ff          	movzbl -0x1(%edi),%edx
4087e2:	29 d0                	sub    %edx,%eax
4087e4:	5f                   	pop    %edi
4087e5:	5e                   	pop    %esi
4087e6:	c3                   	ret
4087e7:	90                   	nop
4087e8:	01 c8                	add    %ecx,%eax
4087ea:	01 ca                	add    %ecx,%edx
4087ec:	83 f1 ff             	xor    $0xffffffff,%ecx
4087ef:	83 c0 f8             	add    $0xfffffff8,%eax
4087f2:	83 c2 f8             	add    $0xfffffff8,%edx
4087f5:	83 c1 09             	add    $0x9,%ecx
4087f8:	53                   	push   %ebx
4087f9:	7f 43                	jg     0x40883e
4087fb:	8b 1c 01             	mov    (%ecx,%eax,1),%ebx
4087fe:	3b 1c 11             	cmp    (%ecx,%edx,1),%ebx
408801:	75 72                	jne    0x408875
408803:	8d 1c 01             	lea    (%ecx,%eax,1),%ebx
408806:	83 c1 04             	add    $0x4,%ecx
408809:	83 e3 03             	and    $0x3,%ebx
40880c:	29 d9                	sub    %ebx,%ecx
40880e:	7f 2e                	jg     0x40883e
408810:	8b 1c 01             	mov    (%ecx,%eax,1),%ebx
408813:	3b 1c 11             	cmp    (%ecx,%edx,1),%ebx
408816:	75 5d                	jne    0x408875
408818:	8b 5c 01 04          	mov    0x4(%ecx,%eax,1),%ebx
40881c:	3b 5c 11 04          	cmp    0x4(%ecx,%edx,1),%ebx
408820:	75 53                	jne    0x408875
408822:	83 c1 08             	add    $0x8,%ecx
408825:	7f 17                	jg     0x40883e
408827:	8b 1c 01             	mov    (%ecx,%eax,1),%ebx
40882a:	3b 1c 11             	cmp    (%ecx,%edx,1),%ebx
40882d:	75 46                	jne    0x408875
40882f:	8b 5c 01 04          	mov    0x4(%ecx,%eax,1),%ebx
408833:	3b 5c 11 04          	cmp    0x4(%ecx,%edx,1),%ebx
408837:	75 3c                	jne    0x408875
408839:	83 c1 08             	add    $0x8,%ecx
40883c:	7e d2                	jle    0x408810
40883e:	83 f9 04             	cmp    $0x4,%ecx
408841:	7f 0b                	jg     0x40884e
408843:	8b 1c 01             	mov    (%ecx,%eax,1),%ebx
408846:	3b 1c 11             	cmp    (%ecx,%edx,1),%ebx
408849:	75 2a                	jne    0x408875
40884b:	83 c1 04             	add    $0x4,%ecx
40884e:	83 f9 06             	cmp    $0x6,%ecx
408851:	7f 0d                	jg     0x408860
408853:	0f b7 1c 01          	movzwl (%ecx,%eax,1),%ebx
408857:	66 3b 1c 11          	cmp    (%ecx,%edx,1),%bx
40885b:	75 18                	jne    0x408875
40885d:	83 c1 02             	add    $0x2,%ecx
408860:	83 f9 07             	cmp    $0x7,%ecx
408863:	7f 09                	jg     0x40886e
408865:	0f b6 58 07          	movzbl 0x7(%eax),%ebx
408869:	3a 5a 07             	cmp    0x7(%edx),%bl
40886c:	75 07                	jne    0x408875
40886e:	b8 01 00 00 00       	mov    $0x1,%eax
408873:	5b                   	pop    %ebx
408874:	c3                   	ret
408875:	31 c0                	xor    %eax,%eax
408877:	5b                   	pop    %ebx
408878:	c3                   	ret
408879:	8d 40 00             	lea    0x0(%eax),%eax
40887c:	85 c0                	test   %eax,%eax
40887e:	75 0a                	jne    0x40888a
408880:	85 d2                	test   %edx,%edx
408882:	74 05                	je     0x408889
408884:	8b 42 fc             	mov    -0x4(%edx),%eax
408887:	f7 d8                	neg    %eax
408889:	c3                   	ret
40888a:	85 d2                	test   %edx,%edx
40888c:	75 04                	jne    0x408892