4086da:	00 00                	add    %al,(%eax)
4086dc:	04 12                	add    $0x12,%al
4086de:	40                   	inc    %eax
4086df:	00 64 3b 40          	add    %ah,0x40(%ebx,%edi,1)
4086e3:	00 f8                	add    %bh,%al
4086e5:	61                   	popa
4086e6:	40                   	inc    %eax
4086e7:	00 04 62             	add    %al,(%edx,%eiz,2)
4086ea:	40                   	inc    %eax
4086eb:	00 78 3b             	add    %bh,0x3b(%eax)
4086ee:	40                   	inc    %eax
4086ef:	00 6c 3b 40          	add    %ch,0x40(%ebx,%edi,1)
4086f3:	00 14 62             	add    %dl,(%edx,%eiz,2)
4086f6:	40                   	inc    %eax
4086f7:	00 d0                	add    %dl,%al
4086f9:	38 40 00             	cmp    %al,0x0(%eax)
4086fc:	c8 de 40 00          	enter  $0x40de,$0x0
408700:	24 54                	and    $0x54,%al
408702:	4d                   	dec    %ebp
408703:	75 6c                	jne    0x408771
408705:	74 69                	je     0x408770
408707:	52                   	push   %edx
408708:	65 61                	gs popa
40870a:	64 45                	fs inc %ebp
40870c:	78 63                	js     0x408771
40870e:	6c                   	insb   (%dx),%es:(%edi)
40870f:	75 73                	jne    0x408784
408711:	69 76 65 57 72 69 74 	imul   $0x74697257,0x65(%esi),%esi
408718:	65 53                	gs push %ebx
40871a:	79 6e                	jns    0x40878a
40871c:	63 68 72             	arpl   %ebp,0x72(%eax)
40871f:	6f                   	outsl  %ds:(%esi),(%dx)
408720:	6e                   	outsb  %ds:(%esi),(%dx)
408721:	69 7a 65 72 8d 40 00 	imul   $0x408d72,0x65(%edx),%edi
408728:	55                   	push   %ebp
408729:	8b ec                	mov    %esp,%ebp
40872b:	53                   	push   %ebx
40872c:	89 d3                	mov    %edx,%ebx
40872e:	89 c2                	mov    %eax,%edx
408730:	c1 ea 10             	shr    $0x10,%edx
408733:	66 f7 f3             	div    %bx
408736:	8b 5d 08             	mov    0x8(%ebp),%ebx
408739:	66 89 01             	mov    %ax,(%ecx)
40873c:	66 89 13             	mov    %dx,(%ebx)
40873f:	5b                   	pop    %ebx
408740:	5d                   	pop    %ebp
408741:	c2 04 00             	ret    $0x4
408744:	53                   	push   %ebx
408745:	56                   	push   %esi
408746:	57                   	push   %edi
408747:	8b f9                	mov    %ecx,%edi
408749:	8b f2                	mov    %edx,%esi
40874b:	8b d8                	mov    %eax,%ebx
40874d:	56                   	push   %esi
40874e:	57                   	push   %edi
40874f:	8b cb                	mov    %ebx,%ecx
408751:	b2 01                	mov    $0x1,%dl
408753:	a1 90 81 40 00       	mov    0x408190,%eax
408758:	e8 ab 3d 00 00       	call   0x40c508
40875d:	e8 2e ba ff ff       	call   0x404190
408762:	5f                   	pop    %edi
408763:	5e                   	pop    %esi
408764:	5b                   	pop    %ebx
408765:	c3                   	ret
408766:	8b c0                	mov    %eax,%eax
408768:	53                   	push   %ebx
408769:	a1 30 b8 49 00       	mov    0x49b830,%eax
40876e:	8b 10                	mov    (%eax),%edx
408770:	89 15 30 b8 49 00    	mov    %edx,0x49b830
408776:	8b 15 e0 73 4a 00    	mov    0x4a73e0,%edx
40877c:	8b 48 04             	mov    0x4(%eax),%ecx
40877f:	89 0a                	mov    %ecx,(%edx)
408781:	8b 58 08             	mov    0x8(%eax),%ebx
408784:	ba 0c 00 00 00       	mov    $0xc,%edx
408789:	e8 8a a5 ff ff       	call   0x402d18
40878e:	ff d3                	call   *%ebx
408790:	5b                   	pop    %ebx
408791:	c3                   	ret
408792:	8b c0                	mov    %eax,%eax
408794:	53                   	push   %ebx
408795:	8b d8                	mov    %eax,%ebx
408797:	b8 0c 00 00 00       	mov    $0xc,%eax
40879c:	e8 5b a5 ff ff       	call   0x402cfc
4087a1:	8b 15 30 b8 49 00    	mov    0x49b830,%edx
4087a7:	89 10                	mov    %edx,(%eax)
4087a9:	8b 15 e0 73 4a 00    	mov    0x4a73e0,%edx
4087af:	8b 12                	mov    (%edx),%edx
4087b1:	89 50 04             	mov    %edx,0x4(%eax)
4087b4:	89 58 08             	mov    %ebx,0x8(%eax)
4087b7:	a3 30 b8 49 00       	mov    %eax,0x49b830
4087bc:	a1 e0 73 4a 00       	mov    0x4a73e0,%eax
4087c1:	c7 00 68 87 40 00    	movl   $0x408768,(%eax)
4087c7:	5b                   	pop    %ebx
4087c8:	c3                   	ret
4087c9:	8d 40 00             	lea    0x0(%eax),%eax
4087cc:	53                   	push   %ebx
4087cd:	56                   	push   %esi
4087ce:	57                   	push   %edi
4087cf:	89 c6                	mov    %eax,%esi
4087d1:	89 d0                	mov    %edx,%eax
4087d3:	85 f6                	test   %esi,%esi
4087d5:	0f 84 81 00 00 00    	je     0x40885c
4087db:	8b 56 fc             	mov    -0x4(%esi),%edx
4087de:	89 c7                	mov    %eax,%edi
4087e0:	85 d2                	test   %edx,%edx
4087e2:	7e 78                	jle    0x40885c
4087e4:	8b 08                	mov    (%eax),%ecx
4087e6:	89 d3                	mov    %edx,%ebx
4087e8:	85 c9                	test   %ecx,%ecx
4087ea:	74 23                	je     0x40880f
4087ec:	f7 c2 03 00 00 00    	test   $0x3,%edx
4087f2:	75 0a                	jne    0x4087fe
4087f4:	33 51 fc             	xor    -0x4(%ecx),%edx
4087f7:	83 fa 03             	cmp    $0x3,%edx
4087fa:	76 0d                	jbe    0x408809
4087fc:	eb 11                	jmp    0x40880f
4087fe:	83 ca 02             	or     $0x2,%edx
408801:	33 51 fc             	xor    -0x4(%ecx),%edx
408804:	83 fa 01             	cmp    $0x1,%edx
408807:	77 06                	ja     0x40880f
408809:	83 79 f8 01          	cmpl   $0x1,-0x8(%ecx)
40880d:	74 0a                	je     0x408819
40880f:	89 da                	mov    %ebx,%edx
408811:	83 ca 03             	or     $0x3,%edx
408814:	e8 7b c6 ff ff       	call   0x404e94
408819:	8b 3f                	mov    (%edi),%edi
40881b:	89 5f fc             	mov    %ebx,-0x4(%edi)
40881e:	c6 04 1f 00          	movb   $0x0,(%edi,%ebx,1)
408822:	83 c3 ff             	add    $0xffffffff,%ebx
408825:	83 e3 fc             	and    $0xfffffffc,%ebx
408828:	8b 04 1e             	mov    (%esi,%ebx,1),%eax
40882b:	89 c1                	mov    %eax,%ecx
40882d:	0d 80 80 80 80       	or     $0x80808080,%eax
408832:	89 c2                	mov    %eax,%edx
408834:	2d 7b 7b 7b 7b       	sub    $0x7b7b7b7b,%eax
408839:	31 ca                	xor    %ecx,%edx
40883b:	0d 80 80 80 80       	or     $0x80808080,%eax
408840:	2d 66 66 66 66       	sub    $0x66666666,%eax
408845:	21 d0                	and    %edx,%eax
408847:	c1 e8 02             	shr    $0x2,%eax
40884a:	31 c8                	xor    %ecx,%eax
40884c:	89 04 1f             	mov    %eax,(%edi,%ebx,1)
40884f:	8b 44 1e fc          	mov    -0x4(%esi,%ebx,1),%eax
408853:	83 eb 04             	sub    $0x4,%ebx
408856:	7d d3                	jge    0x40882b
408858:	5f                   	pop    %edi
408859:	5e                   	pop    %esi
40885a:	5b                   	pop    %ebx
40885b:	c3                   	ret
40885c:	5f                   	pop    %edi
40885d:	5e                   	pop    %esi
40885e:	5b                   	pop    %ebx
40885f:	e9 e4 be ff ff       	jmp    0x404748
408864:	c3                   	ret
408865:	8d 40 00             	lea    0x0(%eax),%eax
408868:	53                   	push   %ebx
408869:	56                   	push   %esi
40886a:	57                   	push   %edi
40886b:	89 c6                	mov    %eax,%esi
40886d:	89 d0                	mov    %edx,%eax
40886f:	85 f6                	test   %esi,%esi
408871:	0f 84 81 00 00 00    	je     0x4088f8
408877:	8b 56 fc             	mov    -0x4(%esi),%edx
40887a:	89 c7                	mov    %eax,%edi
40887c:	85 d2                	test   %edx,%edx
40887e:	7e 78                	jle    0x4088f8
408880:	8b 08                	mov    (%eax),%ecx
408882:	89 d3                	mov    %edx,%ebx
408884:	85 c9                	test   %ecx,%ecx
408886:	74 23                	je     0x4088ab
408888:	f7 c2 03 00 00 00    	test   $0x3,%edx
40888e:	75 0a                	jne    0x40889a
408890:	33 51 fc             	xor    -0x4(%ecx),%edx
408893:	83 fa 03             	cmp    $0x3,%edx
408896:	76 0d                	jbe    0x4088a5
408898:	eb 11                	jmp    0x4088ab
40889a:	83 ca 02             	or     $0x2,%edx
40889d:	33 51 fc             	xor    -0x4(%ecx),%edx
4088a0:	83 fa 01             	cmp    $0x1,%edx
4088a3:	77 06                	ja     0x4088ab
4088a5:	83 79 f8 01          	cmpl   $0x1,-0x8(%ecx)
4088a9:	74 0a                	je     0x4088b5
4088ab:	89 da                	mov    %ebx,%edx
4088ad:	83 ca 03             	or     $0x3,%edx
4088b0:	e8 df c5 ff ff       	call   0x404e94
4088b5:	8b 3f                	mov    (%edi),%edi
4088b7:	89 5f fc             	mov    %ebx,-0x4(%edi)
4088ba:	c6 04 1f 00          	movb   $0x0,(%edi,%ebx,1)
4088be:	83 c3 ff             	add    $0xffffffff,%ebx
4088c1:	83 e3 fc             	and    $0xfffffffc,%ebx
4088c4:	8b 04 1e             	mov    (%esi,%ebx,1),%eax
4088c7:	89 c1                	mov    %eax,%ecx
4088c9:	0d 80 80 80 80       	or     $0x80808080,%eax
4088ce:	89 c2                	mov    %eax,%edx
4088d0:	2d 5b 5b 5b 5b       	sub    $0x5b5b5b5b,%eax
4088d5:	31 ca                	xor    %ecx,%edx
4088d7:	0d 80 80 80 80       	or     $0x80808080,%eax
4088dc:	2d 66 66 66 66       	sub    $0x66666666,%eax
4088e1:	21 d0                	and    %edx,%eax
4088e3:	c1 e8 02             	shr    $0x2,%eax
4088e6:	31 c8                	xor    %ecx,%eax
4088e8:	89 04 1f             	mov    %eax,(%edi,%ebx,1)
4088eb:	8b 44 1e fc          	mov    -0x4(%esi,%ebx,1),%eax
4088ef:	83 eb 04             	sub    $0x4,%ebx
4088f2:	7d d3                	jge    0x4088c7
4088f4:	5f                   	pop    %edi
4088f5:	5e                   	pop    %esi
4088f6:	5b                   	pop    %ebx
4088f7:	c3                   	ret
4088f8:	5f                   	pop    %edi
4088f9:	5e                   	pop    %esi
4088fa:	5b                   	pop    %ebx
4088fb:	e9 48 be ff ff       	jmp    0x404748
408900:	c3                   	ret
408901:	8d 40 00             	lea    0x0(%eax),%eax
408904:	56                   	push   %esi
408905:	57                   	push   %edi
408906:	89 c6                	mov    %eax,%esi
408908:	89 d7                	mov    %edx,%edi
40890a:	09 c0                	or     %eax,%eax
40890c:	74 03                	je     0x408911
40890e:	8b 40 fc             	mov    -0x4(%eax),%eax
408911:	09 d2                	or     %edx,%edx
408913:	74 03                	je     0x408918
408915:	8b 52 fc             	mov    -0x4(%edx),%edx
408918:	89 c1                	mov    %eax,%ecx
40891a:	39 d1                	cmp    %edx,%ecx
40891c:	76 02                	jbe    0x408920
40891e:	89 d1                	mov    %edx,%ecx
408920:	39 c9                	cmp    %ecx,%ecx
408922:	f3 a6                	repz cmpsb %es:(%edi),%ds:(%esi)
408924:	74 08                	je     0x40892e
408926:	0f b6 46 ff          	movzbl -0x1(%esi),%eax
40892a:	0f b6 57 ff          	movzbl -0x1(%edi),%edx
40892e:	29 d0                	sub    %edx,%eax
408930:	5f                   	pop    %edi
408931:	5e                   	pop    %esi
408932:	c3                   	ret
408933:	90                   	nop
408934:	01 c8                	add    %ecx,%eax
408936:	01 ca                	add    %ecx,%edx
408938:	83 f1 ff             	xor    $0xffffffff,%ecx
40893b:	83 c0 f8             	add    $0xfffffff8,%eax
40893e:	83 c2 f8             	add    $0xfffffff8,%edx
408941:	83 c1 09             	add    $0x9,%ecx
408944:	53                   	push   %ebx
408945:	7f 43                	jg     0x40898a
408947:	8b 1c 01             	mov    (%ecx,%eax,1),%ebx
40894a:	3b 1c 11             	cmp    (%ecx,%edx,1),%ebx
40894d:	75 72                	jne    0x4089c1
40894f:	8d 1c 01             	lea    (%ecx,%eax,1),%ebx
408952:	83 c1 04             	add    $0x4,%ecx
408955:	83 e3 03             	and    $0x3,%ebx
408958:	29 d9                	sub    %ebx,%ecx
40895a:	7f 2e                	jg     0x40898a
40895c:	8b 1c 01             	mov    (%ecx,%eax,1),%ebx
40895f:	3b 1c 11             	cmp    (%ecx,%edx,1),%ebx
408962:	75 5d                	jne    0x4089c1
408964:	8b 5c 01 04          	mov    0x4(%ecx,%eax,1),%ebx
408968:	3b 5c 11 04          	cmp    0x4(%ecx,%edx,1),%ebx
40896c:	75 53                	jne    0x4089c1
40896e:	83 c1 08             	add    $0x8,%ecx
408971:	7f 17                	jg     0x40898a
408973:	8b 1c 01             	mov    (%ecx,%eax,1),%ebx
408976:	3b 1c 11             	cmp    (%ecx,%edx,1),%ebx
408979:	75 46                	jne    0x4089c1
40897b:	8b 5c 01 04          	mov    0x4(%ecx,%eax,1),%ebx
40897f:	3b 5c 11 04          	cmp    0x4(%ecx,%edx,1),%ebx
408983:	75 3c                	jne    0x4089c1
408985:	83 c1 08             	add    $0x8,%ecx
408988:	7e d2                	jle    0x40895c
40898a:	83 f9 04             	cmp    $0x4,%ecx
40898d:	7f 0b                	jg     0x40899a
40898f:	8b 1c 01             	mov    (%ecx,%eax,1),%ebx
408992:	3b 1c 11             	cmp    (%ecx,%edx,1),%ebx
408995:	75 2a                	jne    0x4089c1
408997:	83 c1 04             	add    $0x4,%ecx
40899a:	83 f9 06             	cmp    $0x6,%ecx
40899d:	7f 0d                	jg     0x4089ac
40899f:	0f b7 1c 01          	movzwl (%ecx,%eax,1),%ebx
4089a3:	66 3b 1c 11          	cmp    (%ecx,%edx,1),%bx
4089a7:	75 18                	jne    0x4089c1
4089a9:	83 c1 02             	add    $0x2,%ecx
4089ac:	83 f9 07             	cmp    $0x7,%ecx
4089af:	7f 09                	jg     0x4089ba
4089b1:	0f b6 58 07          	movzbl 0x7(%eax),%ebx
4089b5:	3a 5a 07             	cmp    0x7(%edx),%bl
4089b8:	75 07                	jne    0x4089c1
4089ba:	b8 01 00 00 00       	mov    $0x1,%eax
4089bf:	5b                   	pop    %ebx
4089c0:	c3                   	ret
4089c1:	31 c0                	xor    %eax,%eax
4089c3:	5b                   	pop    %ebx
4089c4:	c3                   	ret
4089c5:	8d 40 00             	lea    0x0(%eax),%eax
4089c8:	85 c0                	test   %eax,%eax
4089ca:	75 0a                	jne    0x4089d6
4089cc:	85 d2                	test   %edx,%edx
4089ce:	74 05                	je     0x4089d5
4089d0:	8b 42 fc             	mov    -0x4(%edx),%eax
4089d3:	f7 d8                	neg    %eax
4089d5:	c3                   	ret
4089d6:	85 d2                	test   %edx,%edx
4089d8:	75 04                	jne    0x4089de
4089da:	8b 40 fc             	mov    -0x4(%eax),%eax
4089dd:	c3                   	ret
4089de:	53                   	push   %ebx
4089df:	55                   	push   %ebp
4089e0:	56                   	push   %esi
4089e1:	8b 68 fc             	mov    -0x4(%eax),%ebp
4089e4:	8b 5a fc             	mov    -0x4(%edx),%ebx
4089e7:	29 dd                	sub    %ebx,%ebp
4089e9:	19 c9                	sbb    %ecx,%ecx
4089eb:	21 e9                	and    %ebp,%ecx
4089ed:	01 d9                	add    %ebx,%ecx
4089ef:	8d 34 01             	lea    (%ecx,%eax,1),%esi
4089f2:	01 ca                	add    %ecx,%edx
4089f4:	f7 d9                	neg    %ecx
4089f6:	74 63                	je     0x408a5b
4089f8:	0f b7 04 31          	movzwl (%ecx,%esi,1),%eax
4089fc:	0f b7 1c 11          	movzwl (%ecx,%edx,1),%ebx
408a00:	39 d8                	cmp    %ebx,%eax
408a02:	74 52                	je     0x408a56
408a04:	38 d8                	cmp    %bl,%al
408a06:	74 2c                	je     0x408a34
408a08:	b4 00                	mov    $0x0,%ah
408a0a:	b7 00                	mov    $0x0,%bh
408a0c:	3c 61                	cmp    $0x61,%al
408a0e:	7c 07                	jl     0x408a17
408a10:	3c 7a                	cmp    $0x7a,%al
408a12:	7f 03                	jg     0x408a17
408a14:	83 e8 20             	sub    $0x20,%eax
408a17:	80 fb 61             	cmp    $0x61,%bl
408a1a:	7c 08                	jl     0x408a24
408a1c:	80 fb 7a             	cmp    $0x7a,%bl
408a1f:	7f 03                	jg     0x408a24
408a21:	83 eb 20             	sub    $0x20,%ebx
408a24:	29 d8                	sub    %ebx,%eax
408a26:	75 35                	jne    0x408a5d
408a28:	0f b7 04 31          	movzwl (%ecx,%esi,1),%eax
408a2c:	0f b7 1c 11          	movzwl (%ecx,%edx,1),%ebx
408a30:	38 fc                	cmp    %bh,%ah
408a32:	74 22                	je     0x408a56
408a34:	c1 e8 08             	shr    $0x8,%eax
408a37:	c1 eb 08             	shr    $0x8,%ebx
408a3a:	3c 61                	cmp    $0x61,%al
408a3c:	7c 07                	jl     0x408a45
408a3e:	3c 7a                	cmp    $0x7a,%al
408a40:	7f 03                	jg     0x408a45
408a42:	83 e8 20             	sub    $0x20,%eax