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
40884a:	8b d8                	mov    %eax,%ebx
40884c:	85 db                	test   %ebx,%ebx
40884e:	75 05                	jne    0x408855
408850:	33 c0                	xor    %eax,%eax
408852:	5e                   	pop    %esi
408853:	5b                   	pop    %ebx
408854:	c3                   	ret
408855:	8b c3                	mov    %ebx,%eax
408857:	e8 cc fd ff ff       	call   0x408628
40885c:	8b f0                	mov    %eax,%esi
40885e:	46                   	inc    %esi
40885f:	8b c6                	mov    %esi,%eax
408861:	e8 c2 ff ff ff       	call   0x408828
408866:	8b ce                	mov    %esi,%ecx
408868:	8b d3                	mov    %ebx,%edx
40886a:	e8 e5 fd ff ff       	call   0x408654
40886f:	5e                   	pop    %esi
408870:	5b                   	pop    %ebx
408871:	c3                   	ret
408872:	8b c0                	mov    %eax,%eax
408874:	85 c0                	test   %eax,%eax
408876:	74 0a                	je     0x408882
408878:	83 e8 04             	sub    $0x4,%eax
40887b:	8b 10                	mov    (%eax),%edx
40887d:	e8 5a 9e ff ff       	call   0x4026dc
408882:	c3                   	ret
408883:	90                   	nop
408884:	53                   	push   %ebx
408885:	56                   	push   %esi
408886:	57                   	push   %edi
408887:	83 c4 d8             	add    $0xffffffd8,%esp
40888a:	8b d9                	mov    %ecx,%ebx
40888c:	8b f2                	mov    %edx,%esi
40888e:	8b f8                	mov    %eax,%edi
408890:	83 fb 1f             	cmp    $0x1f,%ebx
408893:	76 05                	jbe    0x40889a
408895:	bb 1f 00 00 00       	mov    $0x1f,%ebx
40889a:	8b d3                	mov    %ebx,%edx
40889c:	4a                   	dec    %edx
40889d:	8b c6                	mov    %esi,%eax
40889f:	e8 94 38 00 00       	call   0x40c138
4088a4:	3c 01                	cmp    $0x1,%al
4088a6:	75 01                	jne    0x4088a9
4088a8:	4b                   	dec    %ebx
4088a9:	8b c4                	mov    %esp,%eax
4088ab:	8b cb                	mov    %ebx,%ecx
4088ad:	8b d6                	mov    %esi,%edx
4088af:	e8 a0 fd ff ff       	call   0x408654
4088b4:	c6 04 1c 00          	movb   $0x0,(%esp,%ebx,1)
4088b8:	8b c4                	mov    %esp,%eax
4088ba:	89 44 24 20          	mov    %eax,0x20(%esp)
4088be:	c6 44 24 24 06       	movb   $0x6,0x24(%esp)
4088c3:	8d 54 24 20          	lea    0x20(%esp),%edx
4088c7:	8b 04 bd 60 d1 45 00 	mov    0x45d160(,%edi,4),%eax
4088ce:	33 c9                	xor    %ecx,%ecx
4088d0:	e8 03 f2 ff ff       	call   0x407ad8
4088d5:	83 c4 28             	add    $0x28,%esp
4088d8:	5f                   	pop    %edi
4088d9:	5e                   	pop    %esi
4088da:	5b                   	pop    %ebx
4088db:	c3                   	ret
4088dc:	53                   	push   %ebx
4088dd:	8b 0d 50 80 46 00    	mov    0x468050,%ecx
4088e3:	83 39 00             	cmpl   $0x0,(%ecx)
4088e6:	74 0c                	je     0x4088f4
4088e8:	8b 1d 50 80 46 00    	mov    0x468050,%ebx
4088ee:	8b 1b                	mov    (%ebx),%ebx
4088f0:	ff d3                	call   *%ebx
4088f2:	5b                   	pop    %ebx
4088f3:	c3                   	ret
4088f4:	b0 10                	mov    $0x10,%al
4088f6:	e8 1d 9f ff ff       	call   0x402818
4088fb:	5b                   	pop    %ebx
4088fc:	c3                   	ret
4088fd:	8d 40 00             	lea    0x0(%eax),%eax
408900:	53                   	push   %ebx
408901:	8b d8                	mov    %eax,%ebx
408903:	8b c3                	mov    %ebx,%eax
408905:	e8 b2 b6 ff ff       	call   0x403fbc
40890a:	5b                   	pop    %ebx
40890b:	c3                   	ret
40890c:	55                   	push   %ebp
40890d:	8b ec                	mov    %esp,%ebp
40890f:	83 c4 94             	add    $0xffffff94,%esp
408912:	53                   	push   %ebx
408913:	33 db                	xor    %ebx,%ebx
408915:	89 5d ec             	mov    %ebx,-0x14(%ebp)
408918:	53                   	push   %ebx
408919:	56                   	push   %esi
40891a:	57                   	push   %edi
40891b:	89 c7                	mov    %eax,%edi
40891d:	89 ce                	mov    %ecx,%esi
40891f:	31 c0                	xor    %eax,%eax
408921:	89 45 fc             	mov    %eax,-0x4(%ebp)
408924:	03 4d 10             	add    0x10(%ebp),%ecx
408927:	89 7d f8             	mov    %edi,-0x8(%ebp)
40892a:	31 c0                	xor    %eax,%eax
40892c:	89 45 f4             	mov    %eax,-0xc(%ebp)
40892f:	89 45 f0             	mov    %eax,-0x10(%ebp)
408932:	89 45 ec             	mov    %eax,-0x14(%ebp)
408935:	09 d2                	or     %edx,%edx
408937:	74 0d                	je     0x408946
408939:	39 ce                	cmp    %ecx,%esi
40893b:	74 09                	je     0x408946
40893d:	ac                   	lods   %ds:(%esi),%al
40893e:	3c 25                	cmp    $0x25,%al
408940:	74 0e                	je     0x408950
408942:	aa                   	stos   %al,%es:(%edi)
408943:	4a                   	dec    %edx
408944:	75 f3                	jne    0x408939
408946:	89 f8                	mov    %edi,%eax
408948:	2b 45 f8             	sub    -0x8(%ebp),%eax
40894b:	e9 23 03 00 00       	jmp    0x408c73
408950:	39 ce                	cmp    %ecx,%esi
408952:	74 f2                	je     0x408946
408954:	ac                   	lods   %ds:(%esi),%al
408955:	3c 25                	cmp    $0x25,%al
408957:	74 e9                	je     0x408942
408959:	8d 5e fe             	lea    -0x2(%esi),%ebx
40895c:	89 5d e8             	mov    %ebx,-0x18(%ebp)
40895f:	88 45 e7             	mov    %al,-0x19(%ebp)
408962:	3c 2d                	cmp    $0x2d,%al
408964:	75 05                	jne    0x40896b
408966:	39 ce                	cmp    %ecx,%esi
408968:	74 dc                	je     0x408946
40896a:	ac                   	lods   %ds:(%esi),%al
40896b:	e8 7e 00 00 00       	call   0x4089ee
408970:	3c 3a                	cmp    $0x3a,%al
408972:	75 0a                	jne    0x40897e
408974:	89 5d f4             	mov    %ebx,-0xc(%ebp)
408977:	39 ce                	cmp    %ecx,%esi
408979:	74 cb                	je     0x408946
40897b:	ac                   	lods   %ds:(%esi),%al
40897c:	eb e1                	jmp    0x40895f
40897e:	89 5d e0             	mov    %ebx,-0x20(%ebp)
408981:	bb ff ff ff ff       	mov    $0xffffffff,%ebx
408986:	3c 2e                	cmp    $0x2e,%al
408988:	75 0a                	jne    0x408994
40898a:	39 ce                	cmp    %ecx,%esi
40898c:	74 b8                	je     0x408946
40898e:	ac                   	lods   %ds:(%esi),%al
40898f:	e8 5a 00 00 00       	call   0x4089ee
408994:	89 5d dc             	mov    %ebx,-0x24(%ebp)
408997:	89 75 d8             	mov    %esi,-0x28(%ebp)
40899a:	51                   	push   %ecx
40899b:	52                   	push   %edx
40899c:	e8 95 00 00 00       	call   0x408a36
4089a1:	5a                   	pop    %edx
4089a2:	8b 5d e0             	mov    -0x20(%ebp),%ebx
4089a5:	29 cb                	sub    %ecx,%ebx
4089a7:	73 02                	jae    0x4089ab
4089a9:	31 db                	xor    %ebx,%ebx
4089ab:	80 7d e7 2d          	cmpb   $0x2d,-0x19(%ebp)
4089af:	75 0a                	jne    0x4089bb
4089b1:	29 ca                	sub    %ecx,%edx
4089b3:	73 04                	jae    0x4089b9
4089b5:	01 d1                	add    %edx,%ecx
4089b7:	31 d2                	xor    %edx,%edx
4089b9:	f3 a4                	rep movsb %ds:(%esi),%es:(%edi)
4089bb:	87 d9                	xchg   %ebx,%ecx
4089bd:	29 ca                	sub    %ecx,%edx
4089bf:	73 04                	jae    0x4089c5
4089c1:	01 d1                	add    %edx,%ecx
4089c3:	31 d2                	xor    %edx,%edx
4089c5:	b0 20                	mov    $0x20,%al
4089c7:	f3 aa                	rep stos %al,%es:(%edi)
4089c9:	87 d9                	xchg   %ebx,%ecx
4089cb:	29 ca                	sub    %ecx,%edx
4089cd:	73 04                	jae    0x4089d3
4089cf:	01 d1                	add    %edx,%ecx
4089d1:	31 d2                	xor    %edx,%edx
4089d3:	f3 a4                	rep movsb %ds:(%esi),%es:(%edi)
4089d5:	83 7d f0 00          	cmpl   $0x0,-0x10(%ebp)
4089d9:	74 0a                	je     0x4089e5
4089db:	52                   	push   %edx