408571:	00 00                	add    %al,(%eax)
408573:	00 2e                	add    %ch,(%esi)
408575:	5c                   	pop    %esp
408576:	3a 00                	cmp    (%eax),%al
408578:	53                   	push   %ebx
408579:	56                   	push   %esi
40857a:	81 c4 f8 fe ff ff    	add    $0xfffffef8,%esp
408580:	8b f2                	mov    %edx,%esi
408582:	8b d8                	mov    %eax,%ebx
408584:	54                   	push   %esp
408585:	8d 44 24 08          	lea    0x8(%esp),%eax
408589:	50                   	push   %eax
40858a:	68 04 01 00 00       	push   $0x104
40858f:	8b c3                	mov    %ebx,%eax
408591:	e8 e6 be ff ff       	call   0x40447c
408596:	50                   	push   %eax
408597:	e8 dc da ff ff       	call   0x406078
40859c:	8b c8                	mov    %eax,%ecx
40859e:	8d 54 24 04          	lea    0x4(%esp),%edx
4085a2:	8b c6                	mov    %esi,%eax
4085a4:	e8 03 bb ff ff       	call   0x4040ac
4085a9:	81 c4 08 01 00 00    	add    $0x108,%esp
4085af:	5e                   	pop    %esi
4085b0:	5b                   	pop    %ebx
4085b1:	c3                   	ret
4085b2:	8b c0                	mov    %eax,%eax
4085b4:	55                   	push   %ebp
4085b5:	8b ec                	mov    %esp,%ebp
4085b7:	83 c4 e8             	add    $0xffffffe8,%esp
4085ba:	53                   	push   %ebx
4085bb:	8b 45 08             	mov    0x8(%ebp),%eax
4085be:	85 c0                	test   %eax,%eax
4085c0:	75 02                	jne    0x4085c4
4085c2:	33 c0                	xor    %eax,%eax
4085c4:	8d 55 f0             	lea    -0x10(%ebp),%edx
4085c7:	52                   	push   %edx
4085c8:	8d 55 f4             	lea    -0xc(%ebp),%edx
4085cb:	52                   	push   %edx
4085cc:	8d 55 f8             	lea    -0x8(%ebp),%edx
4085cf:	52                   	push   %edx
4085d0:	8d 55 fc             	lea    -0x4(%ebp),%edx
4085d3:	52                   	push   %edx
4085d4:	50                   	push   %eax
4085d5:	e8 8e da ff ff       	call   0x406068
4085da:	8b d8                	mov    %eax,%ebx
4085dc:	8b 45 fc             	mov    -0x4(%ebp),%eax
4085df:	f7 6d f8             	imull  -0x8(%ebp)
4085e2:	33 d2                	xor    %edx,%edx
4085e4:	89 45 e8             	mov    %eax,-0x18(%ebp)
4085e7:	89 55 ec             	mov    %edx,-0x14(%ebp)
4085ea:	8b 45 f4             	mov    -0xc(%ebp),%eax
4085ed:	33 d2                	xor    %edx,%edx
4085ef:	52                   	push   %edx
4085f0:	50                   	push   %eax
4085f1:	8b 45 e8             	mov    -0x18(%ebp),%eax
4085f4:	8b 55 ec             	mov    -0x14(%ebp),%edx
4085f7:	e8 94 c7 ff ff       	call   0x404d90
4085fc:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4085ff:	89 01                	mov    %eax,(%ecx)
408601:	89 51 04             	mov    %edx,0x4(%ecx)
408604:	8b 45 f0             	mov    -0x10(%ebp),%eax
408607:	33 d2                	xor    %edx,%edx
408609:	52                   	push   %edx
40860a:	50                   	push   %eax
40860b:	8b 45 e8             	mov    -0x18(%ebp),%eax
40860e:	8b 55 ec             	mov    -0x14(%ebp),%edx
408611:	e8 7a c7 ff ff       	call   0x404d90
408616:	8b 4d 10             	mov    0x10(%ebp),%ecx
408619:	89 01                	mov    %eax,(%ecx)
40861b:	89 51 04             	mov    %edx,0x4(%ecx)
40861e:	8b c3                	mov    %ebx,%eax
408620:	5b                   	pop    %ebx
408621:	8b e5                	mov    %ebp,%esp
408623:	5d                   	pop    %ebp
408624:	c2 10 00             	ret    $0x10
408627:	90                   	nop
408628:	89 fa                	mov    %edi,%edx
40862a:	89 c7                	mov    %eax,%edi
40862c:	b9 ff ff ff ff       	mov    $0xffffffff,%ecx
408631:	32 c0                	xor    %al,%al
408633:	f2 ae                	repnz scas %es:(%edi),%al
408635:	b8 fe ff ff ff       	mov    $0xfffffffe,%eax
40863a:	29 c8                	sub    %ecx,%eax
40863c:	89 d7                	mov    %edx,%edi
40863e:	c3                   	ret
40863f:	90                   	nop
408640:	89 fa                	mov    %edi,%edx
408642:	89 c7                	mov    %eax,%edi
408644:	b9 ff ff ff ff       	mov    $0xffffffff,%ecx
408649:	32 c0                	xor    %al,%al
40864b:	f2 ae                	repnz scas %es:(%edi),%al
40864d:	8d 47 ff             	lea    -0x1(%edi),%eax
408650:	89 d7                	mov    %edx,%edi
408652:	c3                   	ret
408653:	90                   	nop
408654:	56                   	push   %esi
408655:	8b f0                	mov    %eax,%esi
408657:	92                   	xchg   %eax,%edx
408658:	e8 5b a2 ff ff       	call   0x4028b8
40865d:	8b c6                	mov    %esi,%eax
40865f:	5e                   	pop    %esi
408660:	c3                   	ret
408661:	8d 40 00             	lea    0x0(%eax),%eax
408664:	57                   	push   %edi
408665:	56                   	push   %esi
408666:	89 c6                	mov    %eax,%esi
408668:	89 d7                	mov    %edx,%edi
40866a:	b9 ff ff ff ff       	mov    $0xffffffff,%ecx
40866f:	32 c0                	xor    %al,%al
408671:	f2 ae                	repnz scas %es:(%edi),%al
408673:	f7 d1                	not    %ecx
408675:	89 f7                	mov    %esi,%edi
408677:	89 d6                	mov    %edx,%esi
408679:	89 ca                	mov    %ecx,%edx
40867b:	89 f8                	mov    %edi,%eax
40867d:	c1 e9 02             	shr    $0x2,%ecx
408680:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
408682:	89 d1                	mov    %edx,%ecx
408684:	83 e1 03             	and    $0x3,%ecx
408687:	f3 a4                	rep movsb %ds:(%esi),%es:(%edi)
408689:	5e                   	pop    %esi
40868a:	5f                   	pop    %edi
40868b:	c3                   	ret
40868c:	57                   	push   %edi
40868d:	56                   	push   %esi
40868e:	53                   	push   %ebx
40868f:	89 c6                	mov    %eax,%esi
408691:	89 d7                	mov    %edx,%edi
408693:	89 cb                	mov    %ecx,%ebx
408695:	32 c0                	xor    %al,%al
408697:	85 c9                	test   %ecx,%ecx
408699:	74 05                	je     0x4086a0
40869b:	f2 ae                	repnz scas %es:(%edi),%al
40869d:	75 01                	jne    0x4086a0
40869f:	41                   	inc    %ecx
4086a0:	29 cb                	sub    %ecx,%ebx
4086a2:	89 f7                	mov    %esi,%edi
4086a4:	89 d6                	mov    %edx,%esi
4086a6:	89 fa                	mov    %edi,%edx
4086a8:	89 d9                	mov    %ebx,%ecx
4086aa:	c1 e9 02             	shr    $0x2,%ecx
4086ad:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
4086af:	89 d9                	mov    %ebx,%ecx
4086b1:	83 e1 03             	and    $0x3,%ecx
4086b4:	f3 a4                	rep movsb %ds:(%esi),%es:(%edi)
4086b6:	aa                   	stos   %al,%es:(%edi)
4086b7:	89 d0                	mov    %edx,%eax
4086b9:	5b                   	pop    %ebx
4086ba:	5e                   	pop    %esi
4086bb:	5f                   	pop    %edi
4086bc:	c3                   	ret
4086bd:	8d 40 00             	lea    0x0(%eax),%eax
4086c0:	53                   	push   %ebx
4086c1:	56                   	push   %esi
4086c2:	8b da                	mov    %edx,%ebx
4086c4:	8b f0                	mov    %eax,%esi
4086c6:	8b c3                	mov    %ebx,%eax
4086c8:	e8 af bb ff ff       	call   0x40427c
4086cd:	50                   	push   %eax
4086ce:	8b c3                	mov    %ebx,%eax
4086d0:	e8 a7 bd ff ff       	call   0x40447c
4086d5:	8b d0                	mov    %eax,%edx
4086d7:	8b c6                	mov    %esi,%eax
4086d9:	59                   	pop    %ecx
4086da:	e8 ad ff ff ff       	call   0x40868c
4086df:	5e                   	pop    %esi
4086e0:	5b                   	pop    %ebx
4086e1:	c3                   	ret
4086e2:	8b c0                	mov    %eax,%eax
4086e4:	53                   	push   %ebx
4086e5:	56                   	push   %esi
4086e6:	57                   	push   %edi
4086e7:	8b f9                	mov    %ecx,%edi
4086e9:	8b f2                	mov    %edx,%esi
4086eb:	8b d8                	mov    %eax,%ebx
4086ed:	8b c6                	mov    %esi,%eax
4086ef:	e8 88 bd ff ff       	call   0x40447c
4086f4:	8b d0                	mov    %eax,%edx
4086f6:	8b cf                	mov    %edi,%ecx
4086f8:	8b c3                	mov    %ebx,%eax
4086fa:	e8 8d ff ff ff       	call   0x40868c
4086ff:	5f                   	pop    %edi
408700:	5e                   	pop    %esi
408701:	5b                   	pop    %ebx
408702:	c3                   	ret
408703:	90                   	nop
408704:	57                   	push   %edi
408705:	56                   	push   %esi
408706:	89 d7                	mov    %edx,%edi
408708:	89 c6                	mov    %eax,%esi
40870a:	b9 ff ff ff ff       	mov    $0xffffffff,%ecx
40870f:	31 c0                	xor    %eax,%eax
408711:	f2 ae                	repnz scas %es:(%edi),%al
408713:	f7 d1                	not    %ecx
408715:	89 d7                	mov    %edx,%edi
408717:	31 d2                	xor    %edx,%edx
408719:	f3 a6                	repz cmpsb %es:(%edi),%ds:(%esi)
40871b:	8a 46 ff             	mov    -0x1(%esi),%al
40871e:	8a 57 ff             	mov    -0x1(%edi),%dl
408721:	29 d0                	sub    %edx,%eax
408723:	5e                   	pop    %esi
408724:	5f                   	pop    %edi
408725:	c3                   	ret
408726:	8b c0                	mov    %eax,%eax
408728:	57                   	push   %edi
408729:	56                   	push   %esi
40872a:	89 d7                	mov    %edx,%edi
40872c:	89 c6                	mov    %eax,%esi
40872e:	b9 ff ff ff ff       	mov    $0xffffffff,%ecx
408733:	31 c0                	xor    %eax,%eax
408735:	f2 ae                	repnz scas %es:(%edi),%al
408737:	f7 d1                	not    %ecx
408739:	89 d7                	mov    %edx,%edi
40873b:	31 d2                	xor    %edx,%edx
40873d:	f3 a6                	repz cmpsb %es:(%edi),%ds:(%esi)
40873f:	74 21                	je     0x408762
408741:	8a 46 ff             	mov    -0x1(%esi),%al
408744:	3c 61                	cmp    $0x61,%al
408746:	72 06                	jb     0x40874e
408748:	3c 7a                	cmp    $0x7a,%al
40874a:	77 02                	ja     0x40874e
40874c:	2c 20                	sub    $0x20,%al
40874e:	8a 57 ff             	mov    -0x1(%edi),%dl
408751:	80 fa 61             	cmp    $0x61,%dl
408754:	72 08                	jb     0x40875e
408756:	80 fa 7a             	cmp    $0x7a,%dl
408759:	77 03                	ja     0x40875e
40875b:	80 ea 20             	sub    $0x20,%dl
40875e:	29 d0                	sub    %edx,%eax
408760:	74 db                	je     0x40873d
408762:	5e                   	pop    %esi
408763:	5f                   	pop    %edi
408764:	c3                   	ret
408765:	8d 40 00             	lea    0x0(%eax),%eax
408768:	57                   	push   %edi
408769:	56                   	push   %esi
40876a:	53                   	push   %ebx
40876b:	89 d7                	mov    %edx,%edi
40876d:	89 c6                	mov    %eax,%esi
40876f:	89 cb                	mov    %ecx,%ebx
408771:	31 c0                	xor    %eax,%eax
408773:	09 c9                	or     %ecx,%ecx
408775:	74 2f                	je     0x4087a6
408777:	f2 ae                	repnz scas %es:(%edi),%al
408779:	29 cb                	sub    %ecx,%ebx
40877b:	89 d9                	mov    %ebx,%ecx
40877d:	89 d7                	mov    %edx,%edi
40877f:	31 d2                	xor    %edx,%edx
408781:	f3 a6                	repz cmpsb %es:(%edi),%ds:(%esi)
408783:	74 21                	je     0x4087a6
408785:	8a 46 ff             	mov    -0x1(%esi),%al
408788:	3c 61                	cmp    $0x61,%al
40878a:	72 06                	jb     0x408792
40878c:	3c 7a                	cmp    $0x7a,%al
40878e:	77 02                	ja     0x408792
408790:	2c 20                	sub    $0x20,%al
408792:	8a 57 ff             	mov    -0x1(%edi),%dl
408795:	80 fa 61             	cmp    $0x61,%dl
408798:	72 08                	jb     0x4087a2
40879a:	80 fa 7a             	cmp    $0x7a,%dl
40879d:	77 03                	ja     0x4087a2
40879f:	80 ea 20             	sub    $0x20,%dl
4087a2:	29 d0                	sub    %edx,%eax
4087a4:	74 db                	je     0x408781
4087a6:	5b                   	pop    %ebx
4087a7:	5e                   	pop    %esi
4087a8:	5f                   	pop    %edi
4087a9:	c3                   	ret
4087aa:	8b c0                	mov    %eax,%eax
4087ac:	eb 08                	jmp    0x4087b6
4087ae:	84 c9                	test   %cl,%cl
4087b0:	75 03                	jne    0x4087b5
4087b2:	33 c0                	xor    %eax,%eax
4087b4:	c3                   	ret
4087b5:	40                   	inc    %eax
4087b6:	8a 08                	mov    (%eax),%cl
4087b8:	3a d1                	cmp    %cl,%dl
4087ba:	75 f2                	jne    0x4087ae
4087bc:	c3                   	ret
4087bd:	8d 40 00             	lea    0x0(%eax),%eax
4087c0:	57                   	push   %edi
4087c1:	56                   	push   %esi
4087c2:	53                   	push   %ebx
4087c3:	09 c0                	or     %eax,%eax
4087c5:	74 44                	je     0x40880b
4087c7:	09 d2                	or     %edx,%edx
4087c9:	74 40                	je     0x40880b
4087cb:	89 c3                	mov    %eax,%ebx
4087cd:	89 d7                	mov    %edx,%edi
4087cf:	32 c0                	xor    %al,%al
4087d1:	b9 ff ff ff ff       	mov    $0xffffffff,%ecx
4087d6:	f2 ae                	repnz scas %es:(%edi),%al
4087d8:	f7 d1                	not    %ecx
4087da:	49                   	dec    %ecx
4087db:	74 2e                	je     0x40880b
4087dd:	89 ce                	mov    %ecx,%esi
4087df:	89 df                	mov    %ebx,%edi
4087e1:	b9 ff ff ff ff       	mov    $0xffffffff,%ecx
4087e6:	f2 ae                	repnz scas %es:(%edi),%al
4087e8:	f7 d1                	not    %ecx
4087ea:	29 f1                	sub    %esi,%ecx
4087ec:	76 1d                	jbe    0x40880b
4087ee:	89 df                	mov    %ebx,%edi
4087f0:	8d 5e ff             	lea    -0x1(%esi),%ebx
4087f3:	89 d6                	mov    %edx,%esi
4087f5:	ac                   	lods   %ds:(%esi),%al
4087f6:	f2 ae                	repnz scas %es:(%edi),%al
4087f8:	75 11                	jne    0x40880b
4087fa:	89 c8                	mov    %ecx,%eax
4087fc:	57                   	push   %edi
4087fd:	89 d9                	mov    %ebx,%ecx
4087ff:	f3 a6                	repz cmpsb %es:(%edi),%ds:(%esi)
408801:	5f                   	pop    %edi
408802:	89 c1                	mov    %eax,%ecx
408804:	75 ed                	jne    0x4087f3
408806:	8d 47 ff             	lea    -0x1(%edi),%eax
408809:	eb 02                	jmp    0x40880d
40880b:	31 c0                	xor    %eax,%eax
40880d:	5b                   	pop    %ebx
40880e:	5e                   	pop    %esi
40880f:	5f                   	pop    %edi
408810:	c3                   	ret
408811:	8d 40 00             	lea    0x0(%eax),%eax
408814:	53                   	push   %ebx
408815:	56                   	push   %esi
408816:	8b f2                	mov    %edx,%esi
408818:	8b d8                	mov    %eax,%ebx
40881a:	8b c6                	mov    %esi,%eax
40881c:	8b d3                	mov    %ebx,%edx
40881e:	e8 91 b9 ff ff       	call   0x4041b4
408823:	5e                   	pop    %esi
408824:	5b                   	pop    %ebx
408825:	c3                   	ret
408826:	8b c0                	mov    %eax,%eax
408828:	53                   	push   %ebx
408829:	8b d8                	mov    %eax,%ebx
40882b:	83 c3 04             	add    $0x4,%ebx
40882e:	8b c3                	mov    %ebx,%eax
408830:	e8 87 9e ff ff       	call   0x4026bc
408835:	89 18                	mov    %ebx,(%eax)
408837:	83 c0 04             	add    $0x4,%eax
40883a:	5b                   	pop    %ebx
40883b:	c3                   	ret
40883c:	83 e8 04             	sub    $0x4,%eax
40883f:	8b 00                	mov    (%eax),%eax
408841:	83 e8 04             	sub    $0x4,%eax
408844:	c3                   	ret
408845:	8d 40 00             	lea    0x0(%eax),%eax
408848:	53                   	push   %ebx
408849:	56                   	push   %esi