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
408c4c:	8b 5d fc             	mov    -0x4(%ebp),%ebx
408c4f:	e8 44 b3 ff ff       	call   0x403f98
408c54:	58                   	pop    %eax
408c55:	5b                   	pop    %ebx
408c56:	c3                   	ret
408c57:	e8 eb ff ff ff       	call   0x408c47
408c5c:	5f                   	pop    %edi
408c5d:	5e                   	pop    %esi
408c5e:	5b                   	pop    %ebx
408c5f:	5b                   	pop    %ebx
408c60:	8b e5                	mov    %ebp,%esp
408c62:	5d                   	pop    %ebp
408c63:	c2 0c 00             	ret    $0xc
408c66:	8b c0                	mov    %eax,%eax
408c68:	55                   	push   %ebp
408c69:	8b ec                	mov    %esp,%ebp
408c6b:	53                   	push   %ebx
408c6c:	56                   	push   %esi
408c6d:	57                   	push   %edi
408c6e:	8b f9                	mov    %ecx,%edi
408c70:	8b f2                	mov    %edx,%esi
408c72:	8b d8                	mov    %eax,%ebx
408c74:	85 db                	test   %ebx,%ebx
408c76:	74 27                	je     0x408c9f
408c78:	85 f6                	test   %esi,%esi
408c7a:	74 23                	je     0x408c9f
408c7c:	8b c6                	mov    %esi,%eax
408c7e:	e8 89 f9 ff ff       	call   0x40860c
408c83:	50                   	push   %eax
408c84:	57                   	push   %edi
408c85:	8b 45 08             	mov    0x8(%ebp),%eax
408c88:	50                   	push   %eax
408c89:	8b ce                	mov    %esi,%ecx
408c8b:	8b c3                	mov    %ebx,%eax
408c8d:	ba ff ff ff 7f       	mov    $0x7fffffff,%edx
408c92:	e8 59 fc ff ff       	call   0x4088f0
408c97:	c6 04 03 00          	movb   $0x0,(%ebx,%eax,1)
408c9b:	8b c3                	mov    %ebx,%eax
408c9d:	eb 02                	jmp    0x408ca1
408c9f:	33 c0                	xor    %eax,%eax
408ca1:	5f                   	pop    %edi
408ca2:	5e                   	pop    %esi
408ca3:	5b                   	pop    %ebx
408ca4:	5d                   	pop    %ebp
408ca5:	c2 04 00             	ret    $0x4
408ca8:	55                   	push   %ebp
408ca9:	8b ec                	mov    %esp,%ebp
408cab:	53                   	push   %ebx
408cac:	56                   	push   %esi
408cad:	57                   	push   %edi
408cae:	8b f1                	mov    %ecx,%esi
408cb0:	8b fa                	mov    %edx,%edi
408cb2:	8b d8                	mov    %eax,%ebx
408cb4:	85 db                	test   %ebx,%ebx
408cb6:	74 27                	je     0x408cdf
408cb8:	85 f6                	test   %esi,%esi
408cba:	74 23                	je     0x408cdf
408cbc:	8b c6                	mov    %esi,%eax
408cbe:	e8 49 f9 ff ff       	call   0x40860c
408cc3:	50                   	push   %eax
408cc4:	8b 45 0c             	mov    0xc(%ebp),%eax
408cc7:	50                   	push   %eax
408cc8:	8b 45 08             	mov    0x8(%ebp),%eax
408ccb:	50                   	push   %eax
408ccc:	8b ce                	mov    %esi,%ecx
408cce:	8b c3                	mov    %ebx,%eax
408cd0:	8b d7                	mov    %edi,%edx
408cd2:	e8 19 fc ff ff       	call   0x4088f0
408cd7:	c6 04 03 00          	movb   $0x0,(%ebx,%eax,1)
408cdb:	8b c3                	mov    %ebx,%eax
408cdd:	eb 02                	jmp    0x408ce1
408cdf:	33 c0                	xor    %eax,%eax
408ce1:	5f                   	pop    %edi
408ce2:	5e                   	pop    %esi
408ce3:	5b                   	pop    %ebx
408ce4:	5d                   	pop    %ebp
408ce5:	c2 08 00             	ret    $0x8
408ce8:	55                   	push   %ebp
408ce9:	8b ec                	mov    %esp,%ebp
408ceb:	51                   	push   %ecx
408cec:	8b 4d 08             	mov    0x8(%ebp),%ecx
408cef:	91                   	xchg   %eax,%ecx
408cf0:	87 d1                	xchg   %edx,%ecx
408cf2:	e8 05 00 00 00       	call   0x408cfc
408cf7:	5d                   	pop    %ebp
408cf8:	c2 04 00             	ret    $0x4
408cfb:	90                   	nop
408cfc:	55                   	push   %ebp
408cfd:	8b ec                	mov    %esp,%ebp
408cff:	81 c4 04 f0 ff ff    	add    $0xfffff004,%esp
408d05:	50                   	push   %eax
408d06:	83 c4 f8             	add    $0xfffffff8,%esp
408d09:	53                   	push   %ebx
408d0a:	56                   	push   %esi
408d0b:	89 4d f8             	mov    %ecx,-0x8(%ebp)
408d0e:	89 55 fc             	mov    %edx,-0x4(%ebp)
408d11:	8b f0                	mov    %eax,%esi
408d13:	bb 00 10 00 00       	mov    $0x1000,%ebx
408d18:	8b 45 fc             	mov    -0x4(%ebp),%eax
408d1b:	e8 38 b5 ff ff       	call   0x404258
408d20:	3d 00 0c 00 00       	cmp    $0xc00,%eax
408d25:	7d 26                	jge    0x408d4d
408d27:	8b 45 fc             	mov    -0x4(%ebp),%eax
408d2a:	e8 29 b5 ff ff       	call   0x404258
408d2f:	50                   	push   %eax
408d30:	8b 45 f8             	mov    -0x8(%ebp),%eax
408d33:	50                   	push   %eax
408d34:	8b 45 08             	mov    0x8(%ebp),%eax
408d37:	50                   	push   %eax
408d38:	8b 4d fc             	mov    -0x4(%ebp),%ecx
408d3b:	8d 85 f8 ef ff ff    	lea    -0x1008(%ebp),%eax
408d41:	ba ff 0f 00 00       	mov    $0xfff,%edx
408d46:	e8 a5 fb ff ff       	call   0x4088f0
408d4b:	eb 0c                	jmp    0x408d59
408d4d:	8b 45 fc             	mov    -0x4(%ebp),%eax
408d50:	e8 03 b5 ff ff       	call   0x404258
408d55:	8b d8                	mov    %eax,%ebx
408d57:	8b c3                	mov    %ebx,%eax
408d59:	8b d3                	mov    %ebx,%edx
408d5b:	4a                   	dec    %edx
408d5c:	3b c2                	cmp    %edx,%eax
408d5e:	7c 43                	jl     0x408da3
408d60:	eb 30                	jmp    0x408d92
408d62:	03 db                	add    %ebx,%ebx
408d64:	8b c6                	mov    %esi,%eax
408d66:	e8 2d b2 ff ff       	call   0x403f98
408d6b:	8b c6                	mov    %esi,%eax
408d6d:	8b d3                	mov    %ebx,%edx
408d6f:	e8 70 b8 ff ff       	call   0x4045e4
408d74:	8b 45 fc             	mov    -0x4(%ebp),%eax
408d77:	e8 dc b4 ff ff       	call   0x404258
408d7c:	50                   	push   %eax
408d7d:	8b 45 f8             	mov    -0x8(%ebp),%eax
408d80:	50                   	push   %eax
408d81:	8b 45 08             	mov    0x8(%ebp),%eax
408d84:	50                   	push   %eax
408d85:	8b 4d fc             	mov    -0x4(%ebp),%ecx
408d88:	8b d3                	mov    %ebx,%edx
408d8a:	4a                   	dec    %edx
408d8b:	8b 06                	mov    (%esi),%eax
408d8d:	e8 5e fb ff ff       	call   0x4088f0
408d92:	8b d3                	mov    %ebx,%edx
408d94:	4a                   	dec    %edx
408d95:	3b c2                	cmp    %edx,%eax
408d97:	7d c9                	jge    0x408d62
408d99:	8b d6                	mov    %esi,%edx
408d9b:	92                   	xchg   %eax,%edx
408d9c:	e8 43 b8 ff ff       	call   0x4045e4
408da1:	eb 0e                	jmp    0x408db1
408da3:	8d 95 f8 ef ff ff    	lea    -0x1008(%ebp),%edx
408da9:	8b ce                	mov    %esi,%ecx
408dab:	91                   	xchg   %eax,%ecx
408dac:	e8 d7 b2 ff ff       	call   0x404088
408db1:	5e                   	pop    %esi
408db2:	5b                   	pop    %ebx
408db3:	8b e5                	mov    %ebp,%esp
408db5:	5d                   	pop    %ebp
408db6:	c2 04 00             	ret    $0x4
408db9:	8d 40 00             	lea    0x0(%eax),%eax
408dbc:	56                   	push   %esi
408dbd:	31 f6                	xor    %esi,%esi
408dbf:	aa                   	stos   %al,%es:(%edi)
408dc0:	08 db                	or     %bl,%bl
408dc2:	75 04                	jne    0x408dc8
408dc4:	31 d2                	xor    %edx,%edx
408dc6:	eb 0a                	jmp    0x408dd2
408dc8:	09 d2                	or     %edx,%edx
408dca:	7d 06                	jge    0x408dd2
408dcc:	b0 2d                	mov    $0x2d,%al
408dce:	f7 da                	neg    %edx
408dd0:	eb 06                	jmp    0x408dd8
408dd2:	08 e4                	or     %ah,%ah
408dd4:	74 03                	je     0x408dd9
408dd6:	88 e0                	mov    %ah,%al
408dd8:	aa                   	stos   %al,%es:(%edi)