40888f:	8b cb                	mov    %ebx,%ecx
408891:	8b d6                	mov    %esi,%edx
408893:	e8 a0 fd ff ff       	call   0x408638
408898:	c6 04 1c 00          	movb   $0x0,(%esp,%ebx,1)
40889c:	8b c4                	mov    %esp,%eax
40889e:	89 44 24 20          	mov    %eax,0x20(%esp)
4088a2:	c6 44 24 24 06       	movb   $0x6,0x24(%esp)
4088a7:	8d 54 24 20          	lea    0x20(%esp),%edx
4088ab:	8b 04 bd 60 31 46 00 	mov    0x463160(,%edi,4),%eax
4088b2:	33 c9                	xor    %ecx,%ecx
4088b4:	e8 03 f2 ff ff       	call   0x407abc
4088b9:	83 c4 28             	add    $0x28,%esp
4088bc:	5f                   	pop    %edi
4088bd:	5e                   	pop    %esi
4088be:	5b                   	pop    %ebx
4088bf:	c3                   	ret
4088c0:	53                   	push   %ebx
4088c1:	8b 0d d4 dd 46 00    	mov    0x46ddd4,%ecx
4088c7:	83 39 00             	cmpl   $0x0,(%ecx)
4088ca:	74 0c                	je     0x4088d8
4088cc:	8b 1d d4 dd 46 00    	mov    0x46ddd4,%ebx
4088d2:	8b 1b                	mov    (%ebx),%ebx
4088d4:	ff d3                	call   *%ebx
4088d6:	5b                   	pop    %ebx
4088d7:	c3                   	ret
4088d8:	b0 10                	mov    $0x10,%al
4088da:	e8 39 9f ff ff       	call   0x402818
4088df:	5b                   	pop    %ebx
4088e0:	c3                   	ret
4088e1:	8d 40 00             	lea    0x0(%eax),%eax
4088e4:	53                   	push   %ebx
4088e5:	8b d8                	mov    %eax,%ebx
4088e7:	8b c3                	mov    %ebx,%eax
4088e9:	e8 aa b6 ff ff       	call   0x403f98
4088ee:	5b                   	pop    %ebx
4088ef:	c3                   	ret
4088f0:	55                   	push   %ebp
4088f1:	8b ec                	mov    %esp,%ebp
4088f3:	83 c4 94             	add    $0xffffff94,%esp
4088f6:	53                   	push   %ebx
4088f7:	33 db                	xor    %ebx,%ebx
4088f9:	89 5d ec             	mov    %ebx,-0x14(%ebp)
4088fc:	53                   	push   %ebx
4088fd:	56                   	push   %esi
4088fe:	57                   	push   %edi
4088ff:	89 c7                	mov    %eax,%edi
408901:	89 ce                	mov    %ecx,%esi
408903:	31 c0                	xor    %eax,%eax
408905:	89 45 fc             	mov    %eax,-0x4(%ebp)
408908:	03 4d 10             	add    0x10(%ebp),%ecx
40890b:	89 7d f8             	mov    %edi,-0x8(%ebp)
40890e:	31 c0                	xor    %eax,%eax
408910:	89 45 f4             	mov    %eax,-0xc(%ebp)
408913:	89 45 f0             	mov    %eax,-0x10(%ebp)
408916:	89 45 ec             	mov    %eax,-0x14(%ebp)
408919:	09 d2                	or     %edx,%edx
40891b:	74 0d                	je     0x40892a
40891d:	39 ce                	cmp    %ecx,%esi
40891f:	74 09                	je     0x40892a
408921:	ac                   	lods   %ds:(%esi),%al
408922:	3c 25                	cmp    $0x25,%al
408924:	74 0e                	je     0x408934
408926:	aa                   	stos   %al,%es:(%edi)
408927:	4a                   	dec    %edx
408928:	75 f3                	jne    0x40891d
40892a:	89 f8                	mov    %edi,%eax
40892c:	2b 45 f8             	sub    -0x8(%ebp),%eax
40892f:	e9 23 03 00 00       	jmp    0x408c57
408934:	39 ce                	cmp    %ecx,%esi
408936:	74 f2                	je     0x40892a
408938:	ac                   	lods   %ds:(%esi),%al
408939:	3c 25                	cmp    $0x25,%al
40893b:	74 e9                	je     0x408926
40893d:	8d 5e fe             	lea    -0x2(%esi),%ebx
408940:	89 5d e8             	mov    %ebx,-0x18(%ebp)
408943:	88 45 e7             	mov    %al,-0x19(%ebp)
408946:	3c 2d                	cmp    $0x2d,%al
408948:	75 05                	jne    0x40894f
40894a:	39 ce                	cmp    %ecx,%esi
40894c:	74 dc                	je     0x40892a
40894e:	ac                   	lods   %ds:(%esi),%al
40894f:	e8 7e 00 00 00       	call   0x4089d2
408954:	3c 3a                	cmp    $0x3a,%al
408956:	75 0a                	jne    0x408962
408958:	89 5d f4             	mov    %ebx,-0xc(%ebp)
40895b:	39 ce                	cmp    %ecx,%esi
40895d:	74 cb                	je     0x40892a
40895f:	ac                   	lods   %ds:(%esi),%al
408960:	eb e1                	jmp    0x408943
408962:	89 5d e0             	mov    %ebx,-0x20(%ebp)
408965:	bb ff ff ff ff       	mov    $0xffffffff,%ebx
40896a:	3c 2e                	cmp    $0x2e,%al
40896c:	75 0a                	jne    0x408978
40896e:	39 ce                	cmp    %ecx,%esi
408970:	74 b8                	je     0x40892a
408972:	ac                   	lods   %ds:(%esi),%al
408973:	e8 5a 00 00 00       	call   0x4089d2
408978:	89 5d dc             	mov    %ebx,-0x24(%ebp)
40897b:	89 75 d8             	mov    %esi,-0x28(%ebp)
40897e:	51                   	push   %ecx
40897f:	52                   	push   %edx
408980:	e8 95 00 00 00       	call   0x408a1a
408985:	5a                   	pop    %edx
408986:	8b 5d e0             	mov    -0x20(%ebp),%ebx
408989:	29 cb                	sub    %ecx,%ebx
40898b:	73 02                	jae    0x40898f
40898d:	31 db                	xor    %ebx,%ebx
40898f:	80 7d e7 2d          	cmpb   $0x2d,-0x19(%ebp)
408993:	75 0a                	jne    0x40899f
408995:	29 ca                	sub    %ecx,%edx
408997:	73 04                	jae    0x40899d
408999:	01 d1                	add    %edx,%ecx
40899b:	31 d2                	xor    %edx,%edx
40899d:	f3 a4                	rep movsb %ds:(%esi),%es:(%edi)
40899f:	87 d9                	xchg   %ebx,%ecx
4089a1:	29 ca                	sub    %ecx,%edx
4089a3:	73 04                	jae    0x4089a9
4089a5:	01 d1                	add    %edx,%ecx
4089a7:	31 d2                	xor    %edx,%edx
4089a9:	b0 20                	mov    $0x20,%al
4089ab:	f3 aa                	rep stos %al,%es:(%edi)
4089ad:	87 d9                	xchg   %ebx,%ecx
4089af:	29 ca                	sub    %ecx,%edx
4089b1:	73 04                	jae    0x4089b7
4089b3:	01 d1                	add    %edx,%ecx
4089b5:	31 d2                	xor    %edx,%edx
4089b7:	f3 a4                	rep movsb %ds:(%esi),%es:(%edi)
4089b9:	83 7d f0 00          	cmpl   $0x0,-0x10(%ebp)
4089bd:	74 0a                	je     0x4089c9
4089bf:	52                   	push   %edx
4089c0:	8d 45 f0             	lea    -0x10(%ebp),%eax
4089c3:	e8 1c ff ff ff       	call   0x4088e4
4089c8:	5a                   	pop    %edx
4089c9:	59                   	pop    %ecx
4089ca:	8b 75 d8             	mov    -0x28(%ebp),%esi
4089cd:	e9 47 ff ff ff       	jmp    0x408919
4089d2:	31 db                	xor    %ebx,%ebx
4089d4:	3c 2a                	cmp    $0x2a,%al
4089d6:	74 22                	je     0x4089fa
4089d8:	3c 30                	cmp    $0x30,%al
4089da:	72 3d                	jb     0x408a19
4089dc:	3c 39                	cmp    $0x39,%al
4089de:	77 39                	ja     0x408a19
4089e0:	69 db 0a 00 00 00    	imul   $0xa,%ebx,%ebx
4089e6:	2c 30                	sub    $0x30,%al
4089e8:	0f b6 c0             	movzbl %al,%eax
4089eb:	01 c3                	add    %eax,%ebx
4089ed:	39 ce                	cmp    %ecx,%esi
4089ef:	74 03                	je     0x4089f4
4089f1:	ac                   	lods   %ds:(%esi),%al
4089f2:	eb e4                	jmp    0x4089d8
4089f4:	58                   	pop    %eax
4089f5:	e9 30 ff ff ff       	jmp    0x40892a
4089fa:	8b 45 f4             	mov    -0xc(%ebp),%eax
4089fd:	3b 45 08             	cmp    0x8(%ebp),%eax
408a00:	7f 12                	jg     0x408a14
408a02:	ff 45 f4             	incl   -0xc(%ebp)
408a05:	8b 5d 0c             	mov    0xc(%ebp),%ebx
408a08:	80 7c c3 04 00       	cmpb   $0x0,0x4(%ebx,%eax,8)
408a0d:	8b 1c c3             	mov    (%ebx,%eax,8),%ebx
408a10:	74 02                	je     0x408a14
408a12:	31 db                	xor    %ebx,%ebx
408a14:	39 ce                	cmp    %ecx,%esi
408a16:	74 dc                	je     0x4089f4
408a18:	ac                   	lods   %ds:(%esi),%al
408a19:	c3                   	ret
408a1a:	24 df                	and    $0xdf,%al
408a1c:	88 c1                	mov    %al,%cl
408a1e:	b8 01 00 00 00       	mov    $0x1,%eax
408a23:	8b 5d f4             	mov    -0xc(%ebp),%ebx
408a26:	3b 5d 08             	cmp    0x8(%ebp),%ebx
408a29:	7f 5c                	jg     0x408a87
408a2b:	ff 45 f4             	incl   -0xc(%ebp)
408a2e:	8b 75 0c             	mov    0xc(%ebp),%esi
408a31:	8d 34 de             	lea    (%esi,%ebx,8),%esi
408a34:	8b 06                	mov    (%esi),%eax
408a36:	0f b6 56 04          	movzbl 0x4(%esi),%edx
408a3a:	ff 24 95 41 8a 40 00 	jmp    *0x408a41(,%edx,4)
408a41:	d2 8a 40 00 85 8a    	rorb   %cl,-0x757affc0(%edx)
408a47:	40                   	inc    %eax
408a48:	00 0b                	add    %cl,(%ebx)
408a4a:	8b 40 00             	mov    0x0(%eax),%eax
408a4d:	d2 8b 40 00 3b 8b    	rorb   %cl,-0x74c4ffc0(%ebx)
408a53:	40                   	inc    %eax
408a54:	00 b3 8b 40 00 93    	add    %dh,-0x6cffbf75(%ebx)
408a5a:	8b 40 00             	mov    0x0(%eax),%eax
408a5d:	85 8a 40 00 85 8a    	test   %ecx,-0x757affc0(%edx)
408a63:	40                   	inc    %eax
408a64:	00 85 8a 40 00 4c    	add    %al,0x4c00408a(%ebp)
408a6a:	8b 40 00             	mov    0x0(%eax),%eax
408a6d:	77 8b                	ja     0x4089fa
408a6f:	40                   	inc    %eax
408a70:	00 ce                	add    %cl,%dh
408a72:	8b 40 00             	mov    0x0(%eax),%eax
408a75:	1a 8b 40 00 85 8a    	sbb    -0x757affc0(%ebx),%cl
408a7b:	40                   	inc    %eax
408a7c:	00 53 8b             	add    %dl,-0x75(%ebx)
408a7f:	40                   	inc    %eax
408a80:	00 9c 8a 40 00 31 c0 	add    %bl,-0x3fceffc0(%edx,%ecx,4)
408a87:	e8 bb 01 00 00       	call   0x408c47
408a8c:	8b 55 e8             	mov    -0x18(%ebp),%edx
408a8f:	8b 4d d8             	mov    -0x28(%ebp),%ecx
408a92:	29 d1                	sub    %edx,%ecx
408a94:	8b 5d fc             	mov    -0x4(%ebp),%ebx
408a97:	e8 cc fd ff ff       	call   0x408868
408a9c:	8d 75 b7             	lea    -0x49(%ebp),%esi
408a9f:	8b 55 dc             	mov    -0x24(%ebp),%edx
408aa2:	83 fa 20             	cmp    $0x20,%edx
408aa5:	76 02                	jbe    0x408aa9
408aa7:	31 d2                	xor    %edx,%edx
408aa9:	89 cb                	mov    %ecx,%ebx
408aab:	80 e9 44             	sub    $0x44,%cl
408aae:	0f 84 ec f3 ff ff    	je     0x407ea0
408ab4:	b9 10 00 00 00       	mov    $0x10,%ecx
408ab9:	80 fb 58             	cmp    $0x58,%bl
408abc:	0f 84 de f3 ff ff    	je     0x407ea0
408ac2:	b9 0a 00 00 00       	mov    $0xa,%ecx
408ac7:	80 fb 55             	cmp    $0x55,%bl
408aca:	0f 84 d0 f3 ff ff    	je     0x407ea0
408ad0:	eb b3                	jmp    0x408a85
408ad2:	8d 75 a7             	lea    -0x59(%ebp),%esi
408ad5:	8b 55 dc             	mov    -0x24(%ebp),%edx
408ad8:	89 cb                	mov    %ecx,%ebx
408ada:	83 fa 10             	cmp    $0x10,%edx
408add:	76 02                	jbe    0x408ae1
408adf:	31 d2                	xor    %edx,%edx
408ae1:	80 e9 44             	sub    $0x44,%cl
408ae4:	0f 84 4a f3 ff ff    	je     0x407e34
408aea:	b9 10 00 00 00       	mov    $0x10,%ecx
408aef:	80 fb 58             	cmp    $0x58,%bl
408af2:	0f 84 3c f3 ff ff    	je     0x407e34
408af8:	b9 0a 00 00 00       	mov    $0xa,%ecx
408afd:	80 fb 55             	cmp    $0x55,%bl
408b00:	0f 84 2e f3 ff ff    	je     0x407e34
408b06:	e9 7a ff ff ff       	jmp    0x408a85
408b0b:	80 f9 53             	cmp    $0x53,%cl
408b0e:	0f 85 71 ff ff ff    	jne    0x408a85
408b14:	b9 01 00 00 00       	mov    $0x1,%ecx
408b19:	c3                   	ret
408b1a:	80 f9 53             	cmp    $0x53,%cl
408b1d:	0f 85 62 ff ff ff    	jne    0x408a85
408b23:	66 83 38 01          	cmpw   $0x1,(%eax)
408b27:	76 0f                	jbe    0x408b38
408b29:	89 c2                	mov    %eax,%edx
408b2b:	8d 45 f0             	lea    -0x10(%ebp),%eax
408b2e:	e8 8d fd ff ff       	call   0x4088c0
408b33:	8b 75 f0             	mov    -0x10(%ebp),%esi
408b36:	eb 4a                	jmp    0x408b82
408b38:	31 c9                	xor    %ecx,%ecx
408b3a:	c3                   	ret
408b3b:	80 f9 53             	cmp    $0x53,%cl
408b3e:	0f 85 41 ff ff ff    	jne    0x408a85
408b44:	89 c6                	mov    %eax,%esi
408b46:	ac                   	lods   %ds:(%esi),%al
408b47:	0f b6 c8             	movzbl %al,%ecx
408b4a:	eb 3d                	jmp    0x408b89
408b4c:	be c0 41 40 00       	mov    $0x4041c0,%esi
408b51:	eb 05                	jmp    0x408b58
408b53:	be 20 42 40 00       	mov    $0x404220,%esi
408b58:	03 75 fc             	add    -0x4(%ebp),%esi
408b5b:	80 f9 53             	cmp    $0x53,%cl
408b5e:	0f 85 21 ff ff ff    	jne    0x408a85
408b64:	89 c2                	mov    %eax,%edx
408b66:	8d 45 ec             	lea    -0x14(%ebp),%eax
408b69:	53                   	push   %ebx
408b6a:	8b 5d fc             	mov    -0x4(%ebp),%ebx
408b6d:	ff d6                	call   *%esi
408b6f:	5b                   	pop    %ebx
408b70:	8b 75 ec             	mov    -0x14(%ebp),%esi
408b73:	89 f0                	mov    %esi,%eax
408b75:	eb 0b                	jmp    0x408b82
408b77:	80 f9 53             	cmp    $0x53,%cl
408b7a:	0f 85 05 ff ff ff    	jne    0x408a85
408b80:	89 c6                	mov    %eax,%esi
408b82:	09 f6                	or     %esi,%esi
408b84:	74 b2                	je     0x408b38
408b86:	8b 4e fc             	mov    -0x4(%esi),%ecx
408b89:	3b 4d dc             	cmp    -0x24(%ebp),%ecx
408b8c:	77 01                	ja     0x408b8f
408b8e:	c3                   	ret
408b8f:	8b 4d dc             	mov    -0x24(%ebp),%ecx
408b92:	c3                   	ret
408b93:	80 f9 53             	cmp    $0x53,%cl
408b96:	0f 85 e9 fe ff ff    	jne    0x408a85
408b9c:	89 c6                	mov    %eax,%esi
408b9e:	57                   	push   %edi
408b9f:	89 c7                	mov    %eax,%edi
408ba1:	32 c0                	xor    %al,%al
408ba3:	8b 4d dc             	mov    -0x24(%ebp),%ecx
408ba6:	e3 05                	jecxz  0x408bad
408ba8:	f2 ae                	repnz scas %es:(%edi),%al
408baa:	75 01                	jne    0x408bad
408bac:	4f                   	dec    %edi
408bad:	89 f9                	mov    %edi,%ecx
408baf:	29 f1                	sub    %esi,%ecx
408bb1:	5f                   	pop    %edi
408bb2:	c3                   	ret
408bb3:	80 f9 50             	cmp    $0x50,%cl
408bb6:	0f 85 c9 fe ff ff    	jne    0x408a85
408bbc:	ba 08 00 00 00       	mov    $0x8,%edx
408bc1:	b9 10 00 00 00       	mov    $0x10,%ecx
408bc6:	8d 75 a7             	lea    -0x59(%ebp),%esi
408bc9:	e9 66 f2 ff ff       	jmp    0x407e34
408bce:	b7 01                	mov    $0x1,%bh
408bd0:	eb 02                	jmp    0x408bd4
408bd2:	b7 00                	mov    $0x0,%bh
408bd4:	89 c6                	mov    %eax,%esi
408bd6:	b3 00                	mov    $0x0,%bl
408bd8:	80 f9 47             	cmp    $0x47,%cl
408bdb:	74 3f                	je     0x408c1c
408bdd:	b3 01                	mov    $0x1,%bl
408bdf:	80 f9 45             	cmp    $0x45,%cl
408be2:	74 38                	je     0x408c1c
408be4:	b3 02                	mov    $0x2,%bl
408be6:	80 f9 46             	cmp    $0x46,%cl
408be9:	74 12                	je     0x408bfd
408beb:	b3 03                	mov    $0x3,%bl
408bed:	80 f9 4e             	cmp    $0x4e,%cl
408bf0:	74 0b                	je     0x408bfd
408bf2:	80 f9 4d             	cmp    $0x4d,%cl
408bf5:	0f 85 8a fe ff ff    	jne    0x408a85
408bfb:	b3 04                	mov    $0x4,%bl
408bfd:	b8 12 00 00 00       	mov    $0x12,%eax
408c02:	8b 55 dc             	mov    -0x24(%ebp),%edx
408c05:	39 c2                	cmp    %eax,%edx
408c07:	76 25                	jbe    0x408c2e
408c09:	ba 02 00 00 00       	mov    $0x2,%edx
408c0e:	80 f9 4d             	cmp    $0x4d,%cl
408c11:	75 1b                	jne    0x408c2e
408c13:	0f b6 15 88 e6 46 00 	movzbl 0x46e688,%edx
408c1a:	eb 12                	jmp    0x408c2e
408c1c:	8b 45 dc             	mov    -0x24(%ebp),%eax
408c1f:	ba 03 00 00 00       	mov    $0x3,%edx
408c24:	83 f8 12             	cmp    $0x12,%eax
408c27:	76 05                	jbe    0x408c2e
408c29:	b8 0f 00 00 00       	mov    $0xf,%eax
408c2e:	53                   	push   %ebx
408c2f:	50                   	push   %eax
408c30:	52                   	push   %edx
408c31:	8d 45 97             	lea    -0x69(%ebp),%eax
408c34:	89 f2                	mov    %esi,%edx
408c36:	0f b6 cf             	movzbl %bh,%ecx
408c39:	8b 5d fc             	mov    -0x4(%ebp),%ebx
408c3c:	e8 bf 01 00 00       	call   0x408e00
408c41:	89 c1                	mov    %eax,%ecx
408c43:	8d 75 97             	lea    -0x69(%ebp),%esi
408c46:	c3                   	ret
408c47:	53                   	push   %ebx
408c48:	50                   	push   %eax
408c49:	8d 45 ec             	lea    -0x14(%ebp),%eax